Notion de fonction A partir d’un exemple Types de fonctions Construction du programme ISN - Notion de Fonction - Mme DURAND
A partir d’un exemple Imaginons un algorithme permettant l’affichage suivant : Le vol en direction de Tokyo décollera à 9h00. ---------------------------------------------- Le vol en direction de Sydney décollera à 9h45. ----------------------------------------------- Le vol en direction de Paris décollera à 13h30. ISN - Notion de Fonction - Mme DURAND
A partir d’un exemple Algorithme : Afficher « le vol en direction de Tokyo décollera à 9h00. » Sauter une ligne Afficher « ------------------------------------------------ » Afficher « le vol en direction de Sydney décollera à 9h30. » Afficher « le vol en direction de Paris décollera à 13h30. »
A partir d’un exemple Appelons tirerUnTrait ce sous-programme, l’algorithme devient alors : tirerUnTrait() Afficher « le vol en direction de Tokyo décollera à 9h00. » Afficher « le vol en direction de Sydney décollera à 9h30. » Afficher « le vol en direction de Paris décollera à 13h30. »
A partir d’un exemple Appelons tirerUnTrait ce sous-programme, l’algorithme devient alors : Afficher « le vol en direction de Tokyo décollera à 9h00. » tirerUnTrait() Afficher « le vol en direction de Sydney décollera à 9h30. » Afficher « le vol en direction de Paris décollera à 13h30. »
A partir d’un exemple Appelons AnnoncerVol ce sous-programme, qui, à partir de la ville et de l’heure, écrit la phrase voulue. L’algorithme devient : AnnoncerVol("Tokyo", "9h00") tirerUnTrait() tirerUnTrait() AnnoncerVol("Sydney", "9h30") AnnoncerVol("Paris", "13h30") Afficher « le vol en direction de Tokyo décollera à 9h00. » tirerUnTrait()
Types de fonctions Ces sous-programmes sont appelés fonctions. Qui ne renvoie pas de valeur Qui renvoie une valeur (procédure)
Types de fonctions Fonctions Qui ne renvoie pas de valeur sans paramètre static void tirerUnTrait() { System.out.prinln(); System.out.prinln("---------------------------------"); }
Types de fonctions Fonctions Qui ne renvoie pas de valeur avec paramètres static void AnnoncerVol(String ville, String heure) { System.out.prinln("Le vol en direction de "+ville+" décollera à "+heure+"."); }
Type de la valeur retournée Types de fonctions Fonctions Type de la valeur retournée Qui renvoie une valeur static double aireDisc(double R) { return (Math.PI*Math.pow(R,2)); } Appel de la fonction : aireDisc(2); calcule R² pour R=2
Types de fonctions Fonctions imbriquées : AnnoncerVol("Tokyo", "9h00") tirerUnTrait() AnnoncerVol("Sydney", "9h30") AnnoncerVol("Paris", "13h30") AnnoncerVol("Tokyo", "9h00") AnnoncerVol("Sydney", "9h30") AnnoncerVol("Paris", "13h30") tirerUnTrait(); System.out.prinln(); System.out.prinln("---------------------------------"); static void AnnoncerVol(String ville, String heure) { System.out.prinln("Le vol en direction de "+ville+" décollera à "+heure+"."); }
Construction du programme En Java, la fonction est écrite à l’intérieur de la classe du projet, mais à l’extérieur de la classe main. public class maClasse { public static void main(String[] args) { programme principal } static void maFonction1 (<paramètres>) { instructions de la fonction static <typeFonction> maFonction2 (<paramètres>) { return valeur
Construction du programme Retour à l’exemple : public class ListeVols { public static void main(String[] args) { AnnoncerVol("Tokyo","9h00"); AnnoncerVol("Sydney","9h30"); AnnoncerVol("Paris","13h30"); } static void tirerUnTrait() { System.out.println(); System.out.println("---------------------------------------------"); static void AnnoncerVol (String ville,String heure) { System.out.println("Le vol en direction de "+ville+" décollera à "+heure+"."); tirerUnTrait(); Appel de la fonction AnnoncerVol Définition de la fonction tirerUnTrait Définition de la fonction AnnoncerVol Appel de la fonction tirerUnTrait