< Return to Video

Functions (Video Version)

  • 0:00 - 0:05
    Maintenant, parlons un peu de quelque chose
    que vous avez déjà beaucoup utilisé : les fonctions.
  • 0:05 - 0:11
    A chaque fois que vous avez utilisé "rect()" ou "fill()",
    vous avez appelé des fonctions.
  • 0:11 - 0:15
    Et ces fonctions ont dessinés ce que vous
    leur avez demandé.
  • 0:15 - 0:17
    Qu'est-ce qu'une fonction ?
  • 0:17 - 0:20
    C'est un ensemble de code qui est regroupé
    et auquel on donne un nom
  • 0:20 - 0:24
    pour pouvoir le ré-utiliser plusieurs fois.
  • 0:24 - 0:26
    Pensez un peu à la fonction "rect()".
    Qu'est-ce qu'elle fait ?
  • 0:26 - 0:29
    Elle dessine 4 lignes, n'est-ce pas ?
  • 0:29 - 0:32
    On pourrait le faire en appelant
    4 fois la fonction "line()".
  • 0:32 - 0:34
    Voilà... on obtient un rectangle.
  • 0:34 - 0:39
    Mais on s'est rendu compte qu'on voulait
    souvent dessiner des rectangles.
  • 0:39 - 0:44
    Et c'est assez ennuyeux d'avoir à calculer
    à chaque la façon de dessiner les 4 lignes.
  • 0:45 - 0:49
    Donc, on a créé une fonction "rect()" qui fait
    exactement le dessin des 4 lignes.
  • 0:49 - 0:54
    Du coup, on peut dessiner un rectangle
    avec beaucoup moins de code.
  • 0:55 - 1:02
    C'est plutôt sympa ! "rect()" est l'une des fonctions
    que l'on vous permet d'utiliser sur la Khan Academy
  • 1:02 - 1:07
    Mais vous pouvez aussi créer vos propres
    fonctions et les réutiliser dans vos programmes.
  • 1:08 - 1:14
    Par exemple, imaginons qu'on fasse un programme
    et qu'on veuille dessiner Winston plusieurs fois.
  • 1:14 - 1:19
    Car on souhaite raconter son histoire
    et le dessiner à plusieurs époques.
  • 1:19 - 1:24
    Donc, voici à quoi peut ressembler le code
    pour dessiner le visage de Winston.
  • 1:24 - 1:29
    On a les variables "faceX" et "faceY"
    pour déterminer le centre du visage.
  • 1:29 - 1:32
    Et on dessine ses yeux et sa bouche
    en fonction de ces deux variables.
  • 1:32 - 1:37
    Pour l'instant, le programme analyse le code
    qui n'est pas dans une fonction.
  • 1:37 - 1:41
    Donc il l'exécute.
    Il l'exécute seulement une seule fois.
  • 1:41 - 1:44
    OK. Transformons ça avec une fonction !
  • 1:44 - 1:48
    Pour faire ça, cela ressemble à la façon
    de définir une variable.
  • 1:49 - 1:54
    On écrit : "var drawWinston"
    (on choisit un nom clair) ici, c'est
    "dessineWinston"
  • 1:54 - 1:56
    Puis on écrit un signe égale ( = ).
  • 1:56 - 2:01
    Ensuite, au lieu d'indiquer un nombre
    ou une chaine, on écrit : "function"
  • 2:01 - 2:06
    (Attention à bien l'écrire)
    Ensuite deux parenthèses ( )
  • 2:06 - 2:11
    Et enfin, deux accolades : { }
    et on termine par un point-virgule.
  • 2:11 - 2:19
    Ce qu'il nous reste à faire, c'est de mettre
    tout le code nécessaire à l'intérieur
    des accolades.
  • 2:19 - 2:23
    Donc on prend tout ce code, là...
    Et on le mets dans la fonction...
  • 2:23 - 2:27
    On indente le code (avec la touche Tabulation).
    Et... Voilà !
  • 2:27 - 2:31
    Donc on a maintenant une variable qui
    contient une fonction.
  • 2:31 - 2:34
    Dit autrement, on a donné un "nom"
    à ce bloc de code.
  • 2:34 - 2:37
    Ainsi, quand on en aura besoin, on pourra
    demander à notre programme...
  • 2:37 - 2:41
    de chercher ce bloc de code,
    et de l'exécuter.
  • 2:41 - 2:44
    Donc, ce bloc de code est maintenant
    ré-utilisable.
  • 2:44 - 2:49
    Remarquez qu'on n'a plus le dessin de Winston.
    On a perdu Winston ! Ou est-il passé ?
  • 2:50 - 2:54
    OK. Ce qu'il s'est passé, c'est que quand on a
    mis ce bloc de code dans la fonction,
  • 2:54 - 2:58
    On a indiqué à l'ordinateur qu'on voulait
    pouvoir exécuter le code plus tard...
  • 2:58 - 3:01
    et ne l'exécuter que quand on lui dira de le faire.
  • 3:01 - 3:04
    Donc on a besoin maintenant de lui
    demander d'exécuter ce code.
  • 3:05 - 3:10
    On dit, qu'on a besoin "d’appeler la fonction".
    exactement comme on l'a fait pour rect() ou line().
  • 3:10 - 3:16
    Pour ça, on écrit le nom de la fonction : drawWinston.
    Puis, nos deux parenthèses : ( )
  • 3:16 - 3:21
    Et un point-virgule ;
    Et voilà ! Voilà notre Winston !
  • 3:21 - 3:23
    C'est cool, ça !
  • 3:23 - 3:25
    Bon. Peut être que vous
    ne trouvez pas ça si cool !
  • 3:25 - 3:29
    Car on a finalement exactement
    le même résultat qu'au début.
  • 3:29 - 3:33
    Mais l'utilité des fonction est
    qu'on peut les ré-utiliser.
  • 3:34 - 3:38
    Donc, faisons ça maintenant.
    On copie et colle l'appel de la fonction.
  • 3:38 - 3:44
    Ici, et là... Hum...
    On ne voit rien de différent !
  • 3:44 - 3:46
    En fait, ça marche bien...
  • 3:46 - 3:51
    Il dessine plusieurs Winston,
    mais tous au même endroit !
  • 3:51 - 3:55
    Si je pouvais voir avec des rayons X,
    je verrais 3 Winstons.
  • 3:55 - 4:00
    Malheureusement, ce n'est pas le cas...
    Je ne sais pas pour vous ? ! ?
  • 4:00 - 4:04
    OK. On peut modifier un peu notre fonction
    pour rendre ça plus clair.
  • 4:05 - 4:09
    Vous voyez ces deux variables faceX et faceY ?
    Elles contiennent toujours 202 et 208.
  • 4:09 - 4:14
    On peut changer ça pour utiliser un nombre
    aléatoire compris entre 50 et 350.
  • 4:14 - 4:19
    Et on fait pareil pour faceY
    pour le rendre aléatoire aussi...
  • 4:19 - 4:24
    Du coup, à chaque fois que la fonction est appelée
    cela génère une position aléatoires différente.
  • 4:24 - 4:29
    Si on appuie sur "Redémarrer", on obtient
    3 Winston à des endroits différents.
  • 4:29 - 4:31
    OK !
    C'est génial ça !
  • 4:31 - 4:35
    Car il aurait fallut beaucoup de lignes de code
    pour faire ça sans les fonctions.
  • 4:35 - 4:39
    Il aurait fallut 3 fois plus de code !
  • 4:39 - 4:43
    On peut encore améliorer ça...Car c'est pas sûr
    qu'on ai besoin de le positionner aléatoirement !
  • 4:43 - 4:47
    On préfère surement pouvoir le positionner
    à l'endroit que l'on souhaite sur l'écran.
  • 4:47 - 4:51
    Donc, regardez l'exposé suivant, car vous verrez
    comment passer des paramètres à la fonction.
  • 4:52 - 4:56
    Et cela vous permettra de faire exactement ça !
Title:
Functions (Video Version)
Description:

more » « less
Video Language:
Turkish
Duration:
04:56
Christophe Noblanc edited French subtitles for Functions (Video Version)
Christophe Noblanc edited French subtitles for Functions (Video Version)
Christophe Noblanc edited French subtitles for Functions (Video Version)
Christophe Noblanc edited French subtitles for Functions (Video Version)
Christophe Noblanc edited French subtitles for Functions (Video Version)
Christophe Noblanc edited French subtitles for Functions (Video Version)

French subtitles

Revisions