Exercice 1 · Bac Numérique et Sciences Informatiques Asie 2022 (jour 1)

Thème : Coût des algorithmes, tris et recherche · Tiré du sujet Jour 1 (2022)

Énoncé

Exercice 1

Thèmes abordés: algorithmique – chaînes de caractères – complexité.

Cet exercice propose l'étude d'un algorithme de détection de palindrome. On rappelle les définitions suivantes:

Définition 1: un mot est un palindrome s'il peut se lire aussi bien dans les deux sens, par exemple le mot « kayak »

Définition 2: un variant de boucle est une suite de valeurs d'entiers positifs strictement décroissante

On considère la fonction palindrome1 qui renvoie un booléen et dont le paramètre mot est une chaîne de caractères de longueur nn.

1 | Fonction palindrome1 (mot):

2 | Variables: i,j: ENTIER; p: BOOLEEN

3 | i ← 0

4 | j ← longueur(mot) - 1

5 | p ← Vrai

6 | tant que i ≤ j

7 | Si mot[i] ≠ mot[j]

8 | p ← Faux

9 | FinSi

10| i ← i + 1

11| j ← j - 1

12| Fin tant que

13| Renvoie p 1.

Exécuter ligne après ligne cette fonction avec comme argument la chaîne de caractères "rotor" en recopiant le tableau suivant. L'étape 1 correspond à la première exécution de la boucle. Attention: toutes les colonnes ne sont pas forcément à remplir intégralement.

· Initialisation · Etape 1 · Etape 2 · Etape 3 · Etape 4

i ≤ j

mot[i] ≠ mot[j]

i · 0

j · 4

p · Vrai

2.

a.

Combien de comparaisons de caractères sont réalisées pour cet algorithme avec le mot "rotor" ?

b.

Combien de comparaisons de caractères sont réalisées pour un mot de longueur nn dans le pire des cas ?

3.

Montrer que la quantité (j - i) est un variant de la boucle tant que. En déduire que cette boucle se termine.

4.

Combien de fois la boucle est-elle exécutée avec le mot "routeur" ?

Énoncé: Exercice 1 · Bac Numérique et Sciences Informatiques Asie 2022 (jour 1)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. Tableau d'exécution - Étape 1 : i ≤ j

Réponse : Vrai

1. Tableau d'exécution - Étape 2 : i ≤ j

Réponse : Vrai

1. Tableau d'exécution - Étape 3 : i ≤ j

Réponse : Vrai

1. Tableau d'exécution - Étape 4 : i ≤ j

Réponse : Faux

1. Tableau d'exécution - Étape 1 : mot[i] ≠ mot[j]

Réponse : Faux

1. Tableau d'exécution - Étape 2 : mot[i] ≠ mot[j]

Réponse : Faux

1. Tableau d'exécution - Étape 3 : mot[i] ≠ mot[j]

Réponse : Faux

1. Tableau d'exécution - Étape 4 : mot[i] ≠ mot[j]

Réponse : Non exécuté (vide)

1. Tableau d'exécution - Étape 1 : i

Réponse : 1

1. Tableau d'exécution - Étape 2 : i

Réponse : 2

1. Tableau d'exécution - Étape 3 : i

Réponse : 3

1. Tableau d'exécution - Étape 4 : i

Réponse : Non exécuté (vide ou 3)

1. Tableau d'exécution - Étape 1 : j

Réponse : 3

Les réponses des 13 questions restantes 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 3 · Asie 2023 (jour 2)

Plus d’exercices de Coût des algorithmes, tris et recherche