Kala te souhaite la bienvenueKalaMaths

Fonctions et listes

🔴 Expert

Les énoncés sont gratuits, et les 2 premiers corrigés sont offerts. Les autres suivent l'accès à la famille « Algorithmique et Python ».

  1. 1

    Explique pourquoi il est risqué de modifier, depuis une fonction, une variable définie à l'extérieur.

    Voir le corrigéoffert

    La fonction cesse alors d'être autonome : son effet dépend de ce qui existe ailleurs dans le programme, et elle modifie des choses que son nom n'annonce pas.
    Deux appels identiques peuvent donner des résultats différents selon l'état du programme, ce qui rend les erreurs très difficiles à localiser.
    La règle saine est qu'une fonction reçoive tout ce dont elle a besoin par ses paramètres, et transmette tout ce qu'elle produit par son return.
    Elle devient alors lisible et réutilisable, et peut être testée isolément.

  2. 2

    On passe une liste en argument à une fonction qui lui ajoute un élément. Explique ce que devient la liste du programme principal.

    Voir le corrigéoffert

    Contrairement à un nombre, une liste n'est pas recopiée lors de l'appel : la fonction travaille sur la même liste.
    L'ajout effectué à l'intérieur est donc visible depuis le programme principal, même sans return.
    C'est ce qu'on appelle un effet de bord, et il surprend souvent.
    Il est utile quand on le veut, dangereux quand on l'ignore : si l'on souhaite préserver la liste d'origine, il faut en faire une copie explicite avant de la modifier.

  3. 3

    On pose L1 = [1, 2, 3] puis L2 = L1, et l'on modifie un élément de L2. Explique ce qu'il advient de L1.

    🔒 Corrigé réservé aux abonnésS'abonner →
  4. 4

    Compare une liste en compréhension et la boucle équivalente, et explique dans quel cas chacune est préférable.

    🔒 Corrigé réservé aux abonnésS'abonner →
  5. 5

    Décris une fonction qui recherche une valeur dans une liste et renvoie son indice, ou None si elle est absente. Précise combien de comparaisons elle effectue au maximum.

    🔒 Corrigé réservé aux abonnésS'abonner →
  6. 6

    Un élève écrit une fonction qui calcule un résultat et l'affiche, mais son programme principal ne parvient pas à l'utiliser. Explique l'erreur et corrige-la.

    🔒 Corrigé réservé aux abonnésS'abonner →
  7. 7

    Explique pourquoi un même programme écrit en plusieurs fonctions est généralement plus fiable qu'un programme écrit d'un seul tenant.

    🔒 Corrigé réservé aux abonnésS'abonner →
  8. 8

    Décris une fonction qui renvoie à la fois le minimum et le maximum d'une liste en un seul parcours, et compare son coût à celui de deux fonctions séparées.

    🔒 Corrigé réservé aux abonnésS'abonner →
  9. 9

    Décris l'algorithme de tri par sélection appliqué à une liste, et compte le nombre de comparaisons effectuées pour une liste de 5 éléments.

    🔒 Corrigé réservé aux abonnésS'abonner →
  10. 10

    Explique pourquoi une fonction doit traiter explicitement le cas de la liste vide, et donne trois exemples de fonctions concernées.

    🔒 Corrigé réservé aux abonnésS'abonner →

Comment ça s'est passé ?

Retrouve tout dans Mon suivi.

Fonctions et listes : 10 exercices niveau expert corrigés