Passage par valeur ou par référence

Ce qu'une fonction reçoit vraiment : une copie ou un accès à la donnée de l'appelant. Alias, effet de bord sur une liste passée en paramètre, types modifiables ou non, paramètres en entrée et en sortie.

  • 25 cartes
  • 7 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre
  6. Ligne à ligne
  7. Dérouler

Quelques cartes du deck

  • Passage par valeur : de quoi s'agit-il ?

    Voir la réponse

    Mode de transmission où la fonction reçoit une copie de l'argument : modifier le paramètre ne change rien chez l'appelant.

    C'est le mode du C : pour qu'une fonction modifie une variable de l'appelant, on lui passe son adresse.

  • Qu'affiche ce programme ?

    ```python
    def ajoute_un(n):
    n = n + 1
    return n

    x = 5
    y = ajoute_un(x)
    print(x, y)
    `

    • 5 6
    • 6 6
    • 5 5
    • 6 5
    Voir la réponse

    5 6

    n = n + 1 fait désigner un nouvel entier, 6, au nom local n : x désigne toujours 5. Seule la valeur renvoyée, rangée dans y, sort de la fonction.

  • Un paramètre en … est seulement lu par la fonction ; un paramètre en … lui sert à transmettre un résultat à l'appelant ; un paramètre en entrée-sortie est lu puis modifié.

    Voir la réponse

    Un paramètre en entrée est seulement lu par la fonction ; un paramètre en sortie lui sert à transmettre un résultat à l'appelant ; un paramètre en entrée-sortie est lu puis modifié.

    En Python, une liste passée à une fonction qui la trie sur place est un paramètre en entrée-sortie ; un entier ne peut être qu'en entrée, et le résultat revient par return.