Exercice 4 - Échange d'éléments · Bac Numérique et Sciences Informatiques Métropole Candidat libre 2021 (sujet 2)

Thème : Mise au point des programmes : bugs, assertions et tests · Tiré du sujet Métropole Candidat libre 2 (2021)

Énoncé

EXERCICE 4 (4 points)

Cet exercice porte sur la programmation en général et la récursivité en particulier.

On s'intéresse dans cet exercice à un algorithme de mélange des éléments d'une liste.

Pour la suite, il sera utile de disposer d'une fonction echange qui permet d'échanger dans une liste lst les éléments d'indice i1 et i2.

Expliquer pourquoi le code Python ci-dessous ne réalise pas cet échange et en proposer une modification.

def echange(lst, i1, i2):

lst[i2] = lst[i1]

lst[i1] = lst[i2]

def echange(lst, i1, i2):

Énoncé: Exercice 4 - Échange d'éléments · Bac Numérique et Sciences Informatiques Métropole Candidat libre 2021 (sujet 2)

Corrigé

Corrigé proposé par AprenAI (non officiel)

Expliquer pourquoi le code Python ci-dessous ne réalise pas cet échange

Réponse : La première instruction `lst[i2] = lst[i1]` écrase la valeur initialement présente à l'indice `i2` par celle de l'indice `i1`. La valeur initiale de `lst[i2]` est donc perdue. La ligne suivante affecte à nouveau cette même valeur à `lst[i1]`, si bien que les deux cases se retrouvent avec la valeur initiale de `lst[i1]`.

La réponse de la question restante et l’explication pas à pas sont réservées aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Exercice 5 - Questions 1 à 3 · Métropole 2 remplacement 2022 · Exercice 5 · Métropole 2 remplacement 2021 ›

Plus d’exercices de Mise au point des programmes : bugs, assertions et tests