Accueil

Fonctions (et procédures)

Objectifs du TD : apprendre à décomposer et à réutiliser le code en écrivant des fonctions

Vous avez utilisé à plusieurs reprises des fonctions comme la fonction print ou la fonction input. Ces fonctions sont des fonctions prédéfinies du langage. Comme en mathématiques, une fonction a des arguments (appelés paramètres en informatique), et effectue des calculs. Python possède des fonctions prédéfinies dans coeur du langage, mais aussi des fonctions qui sont définies dans des modules spécifiques qu'il faut importer, comme la fonction randint du module random.
Dans ce TD, vous allez écrire vos propres fonctions. Cela est très utile pour décomposer le problème et répéter plusieurs fois le même traitement à des données différentes.

PROBLEMES

A ce stade, pour résoudre un problème vous devez vous poser les questions suivantes:
  1. Calcul de la date du lendemain.
    Ecrire un programme qui lit trois entiers, le jour, le mois et l'année, qui vérifie si la date est valide, qui affiche la date du lendemain si la date est valide et qui affiche "désolé, date non valide" sinon (en précisant si c'est le jour, le mois ou l'année qui n'est pas valide).
    Une année est comprise entre 1600 et 2015. Un mois est compris entre 1 et 12. Un jour est compris entre 1 et 31 pour les mois 1, 3, 5, 7, 8, 10 et 12, il est compris entre 1 et 30 pour les mois 4,6,9 et 11. Si le mois est 2, alors le jour est compris entre 1 et 29 les années bissextiles et entre 1 et 28 les années non bissextiles.Une année bissextile est une année divisible par 4 mais pas par 100, ou alors divisible par 400.

  2. Aide: ce problème est compliqué, il faut le décomposer correctement. Pour savoir quelle est la date du lendemain, il faut savoir combien de jours il y a dans le mois. Pour cela, il faut savoir si l'année est bissextile. Il faut aussi savoir si la date est valide c'est à dire qu'on a un mois entre 1 et 12, mais aussi que le jour existe dans le mois qui a été donné. Il est donc recommandé de prendre un papier et un crayon et de réfléchir aux différentes étapes.