[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.49,0:00:05.30,Default,,0000,0000,0000,,Voici le code qui utilise une fonction\Npour dessiner Winston 4 fois. Dialogue: 0,0:00:05.30,0:00:08.96,Default,,0000,0000,0000,,J'ai juste ajouté l'age qu'il avait \Nà chaque période de sa vie. Dialogue: 0,0:00:08.96,0:00:11.10,Default,,0000,0000,0000,,Et vous allez voir pourquoi bientôt. Dialogue: 0,0:00:11.10,0:00:15.50,Default,,0000,0000,0000,,J'ai une histoire à raconter : \NWinston adore les donuts ! Dialogue: 0,0:00:15.50,0:00:18.43,Default,,0000,0000,0000,,Il en mange 3 par jour ! Dialogue: 0,0:00:18.43,0:00:21.47,Default,,0000,0000,0000,,C'est probablement pour ça \Nque son visage est gros et jaune ! Dialogue: 0,0:00:21.47,0:00:25.05,Default,,0000,0000,0000,,Pour lui faire comprendre que \Nce n'est pas bon pour lui, Dialogue: 0,0:00:25.05,0:00:31.70,Default,,0000,0000,0000,,je veux afficher le nombre de donuts \Nqu'il aura mangé au total à chaque age. Dialogue: 0,0:00:31.70,0:00:37.05,Default,,0000,0000,0000,,Par exemple, à 2 ans, il en aura mangé ... Dialogue: 0,0:00:37.08,0:00:45.31,Default,,0000,0000,0000,,3 chaque jour, pendant 365 jours, sur 2 ans.\NC'est à dire : 3 fois 365 fois 2 ! Dialogue: 0,0:00:45.31,0:00:49.47,Default,,0000,0000,0000,,On affiche ça sous le titre... Dialogue: 0,0:00:49.47,0:00:53.96,Default,,0000,0000,0000,,Wouah ! ça fait plus de 2.000 donuts\Nalors qu'il n'a que 2 ans ! Dialogue: 0,0:00:53.96,0:00:56.94,Default,,0000,0000,0000,,Maintenant, lorsqu'il aura 14 ans, Dialogue: 0,0:00:56.94,0:01:02.96,Default,,0000,0000,0000,,voyons un peu...\Nil en aura mangé 3 fois 365 fois 14. Dialogue: 0,0:01:02.96,0:01:07.45,Default,,0000,0000,0000,,Et ça fait... plus de 15.000 donuts ! Dialogue: 0,0:01:07.45,0:01:13.07,Default,,0000,0000,0000,,OK. Je peux continuer comme ça\Nmais je reconnais une formule. Dialogue: 0,0:01:13.07,0:01:16.30,Default,,0000,0000,0000,,Je répète mon calcul ici. Dialogue: 0,0:01:16.30,0:01:20.64,Default,,0000,0000,0000,,Je change juste un truc : \Nle nombre d'années. Dialogue: 0,0:01:20.64,0:01:23.17,Default,,0000,0000,0000,,Dès que je vois que je répète du code, Dialogue: 0,0:01:23.17,0:01:27.73,Default,,0000,0000,0000,,comme ça...\Nje dois penser à faire une fonction. Dialogue: 0,0:01:27.73,0:01:31.92,Default,,0000,0000,0000,,Et oui, c'est ce qu'il faut faire.\NFaisons-le, alors ! Dialogue: 0,0:01:31.92,0:01:36.03,Default,,0000,0000,0000,,Je défini ma fonction ici, \Net je l'appelle... Dialogue: 0,0:01:36.03,0:01:41.12,Default,,0000,0000,0000,,"calcTotalDonuts" (pour "calcule le nombre\Ntotal de donuts"). Dialogue: 0,0:01:41.12,0:01:44.34,Default,,0000,0000,0000,,Elle va utiliser un paramètre\N(le nombre d'années) Dialogue: 0,0:01:44.34,0:01:48.62,Default,,0000,0000,0000,,car c'est la seule chose \Nqui change dans ma formule. Dialogue: 0,0:01:48.62,0:01:54.62,Default,,0000,0000,0000,,A l'intérieur, on va faire le calcul.\NLe résultat sera dans une variable. Dialogue: 0,0:01:54.62,0:02:01.18,Default,,0000,0000,0000,,C'est 3 fois 365 fois "numYears".\N(le nombre d'années, le paramètre) Dialogue: 0,0:02:01.18,0:02:05.66,Default,,0000,0000,0000,,OK. Maintenant qu'on a cette fonction,\Nje remplace les calculs... Dialogue: 0,0:02:05.66,0:02:12.01,Default,,0000,0000,0000,,par l'appel de la fonction... ici... \Nen lui passant le nombre d'années, ici 2. Dialogue: 0,0:02:12.01,0:02:17.04,Default,,0000,0000,0000,,OK. Hum... \Non ne voit plus aucun calcul maintenant ! Dialogue: 0,0:02:17.04,0:02:22.63,Default,,0000,0000,0000,,Pourquoi ça ? \NNotre fonction a fait le calcul, ici.\N Dialogue: 0,0:02:22.63,0:02:25.85,Default,,0000,0000,0000,,Mais on n'a pas indiquer \Nce qu'il fallait en faire. Dialogue: 0,0:02:25.85,0:02:29.78,Default,,0000,0000,0000,,C'est un peu comme si \Nvotre professeur vous pose une question... Dialogue: 0,0:02:29.78,0:02:33.71,Default,,0000,0000,0000,,vous pensez à la réponse... \Nmais vous oubliez de la dire. Dialogue: 0,0:02:33.71,0:02:37.64,Default,,0000,0000,0000,,Vous avez fait le travail, mais votre \Nprofesseur ne pourra pas le savoir. Dialogue: 0,0:02:37.64,0:02:42.02,Default,,0000,0000,0000,,Si on veut que la fonction communique\Nune valeur au programme qui l'a appelée, Dialogue: 0,0:02:42.02,0:02:45.98,Default,,0000,0000,0000,,on doit indiquer à la fonction de le faire. Dialogue: 0,0:02:45.98,0:02:48.57,Default,,0000,0000,0000,,Pour que la fonction retourne une valeur, Dialogue: 0,0:02:48.57,0:02:52.13,Default,,0000,0000,0000,,on doit écrire "return",\Npuis la valeur à retourner. Dialogue: 0,0:02:52.13,0:02:55.53,Default,,0000,0000,0000,,Ça peut être la valeur \Nd'une variable, ou une expression. Dialogue: 0,0:02:55.53,0:02:58.10,Default,,0000,0000,0000,,Donc, ici, on va retourner la valeur\Nde notre variable. OK ? Dialogue: 0,0:02:58.10,0:03:01.74,Default,,0000,0000,0000,,Celui qui va appeler cette fonction \Nva obtenir cette réponse. Dialogue: 0,0:03:01.74,0:03:04.86,Default,,0000,0000,0000,,Et maintenant, notre valeur est affichée !\NYahou ! Dialogue: 0,0:03:04.86,0:03:07.31,Default,,0000,0000,0000,,On peut même optimiser \Nle code de la fonction, Dialogue: 0,0:03:07.31,0:03:10.75,Default,,0000,0000,0000,,car on n'a pas besoin de la variable intermédiaire, ici. Dialogue: 0,0:03:10.75,0:03:15.42,Default,,0000,0000,0000,,On peut directement retourner l'expression ! Impec. Dialogue: 0,0:03:15.42,0:03:19.79,Default,,0000,0000,0000,,Donc maintenant, on peut utiliser notre fonction Dialogue: 0,0:03:19.79,0:03:24.99,Default,,0000,0000,0000,,aux différents endroits en passant le nombre d'années. Dialogue: 0,0:03:24.99,0:03:36.43,Default,,0000,0000,0000,,Voyons... calcTotalDonuts(25)... \Net calcTotalDonuts(65) Dialogue: 0,0:03:36.43,0:03:42.65,Default,,0000,0000,0000,,OK ! ... si il fait ça pendant 65 ans,\Nil aura mangé 70.000 donuts ! Dialogue: 0,0:03:42.65,0:03:45.37,Default,,0000,0000,0000,,Ça fait beaucoup, non ? Dialogue: 0,0:03:45.37,0:03:48.35,Default,,0000,0000,0000,,Je ne pense pas qu'il fera ça ! Dialogue: 0,0:03:48.35,0:03:52.82,Default,,0000,0000,0000,,Maintenant qu'on en a fait une fonction, \Nc'est simple de la faire évoluer. Dialogue: 0,0:03:52.82,0:03:59.21,Default,,0000,0000,0000,,Par exemple, si Winston voit ça et se dit :\N"ça fait trop ! et si j'en mangeais qu'un par jour ?" Dialogue: 0,0:03:59.21,0:04:02.88,Default,,0000,0000,0000,,OK. On a juste à aller ici... \Npour changer ce nombre. Dialogue: 0,0:04:02.88,0:04:04.92,Default,,0000,0000,0000,,et du coup, tous les calculs changent d'un coup. Dialogue: 0,0:04:04.92,0:04:08.23,Default,,0000,0000,0000,,Bon, ça fait encore 23.000 ! \NC'est encore beaucoup. Dialogue: 0,0:04:08.23,0:04:12.38,Default,,0000,0000,0000,,Et si il en mangeais seulement \Nun par semaine ? Dialogue: 0,0:04:12.38,0:04:17.56,Default,,0000,0000,0000,,On a juste a changer le 365 par 52,\Ncar il y a 52 semaines dans une année... Dialogue: 0,0:04:17.56,0:04:22.09,Default,,0000,0000,0000,,OK. C'est mieux... \N3.000 donuts, c'est plus raisonnable. Dialogue: 0,0:04:22.09,0:04:26.91,Default,,0000,0000,0000,,OK. Vous avez vu qu'avec les fonctions\Nqui retournent une valeur, \N Dialogue: 0,0:04:26.91,0:04:30.91,Default,,0000,0000,0000,,on peut gagner en ligne de code... \Net on se simplifie la vie !