Exercice 3 - Chaînes de caractères et parcours de… · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2023 (jour 2)

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

Énoncé

EXERCICE 3 (4 points)

Cet exercice porte sur la programmation en Python, la manipulation des chaînes de caractères, les arbres binaires de recherche et le parcours de liste.

1. On rappelle ici quelques notions sur la manipulation des chaînes de caractères en Python.

Une chaîne de caractères se comporte comme un tableau de caractères que l'on ne peut pas modifier.

Par exemple, on a le comportement suivant:

>>> une_chaine = 'Bonjour'

>>> une_chaine[3]

'j'

>>> une_chaine[3] = 'z'

TypeError: 'str' object does not support item assignment

On peut aussi utiliser l'opérateur de concaténation +.

>>> une_chaine = 'a' + 'b'

>>> une_chaine

'ab'

>>> une_chaine = une_chaine + 'c'

>>> une_chaine

'abc'

On définit la fonction bonjour par le code suivant:

1 def bonjour(nom)

2 return 'Bonjour ' + nom + ' !'

1. On rappelle ici quelques notions sur la manipulation des chaînes de caractères en Python.

Une chaîne de caractères se comporte comme un tableau de caractères que l'on ne peut pas modifier.

Par exemple, on a le comportement suivant:

>>> une_chaine = 'Bonjour'

>>> une_chaine[3]

'j'

>>> une_chaine[3] = 'z'

TypeError: 'str' object does not support item assignment On peut aussi utiliser l'opérateur de concaténation +.

>>> une_chaine = 'a' + 'b'

>>> une_chaine

'ab'

>>> une_chaine = une_chaine + 'c'

>>> une_chaine

'abc' On définit la fonction bonjour par le code suivant:

def bonjour(nom):

return 'Bonjour ' + nom + ' !' a.

Donner le résultat de l'exécution de bonjour('Alan').

On exécute le programme suivant:

une_chaine='Bonjour'

x = (une_chaine[2] == une_chaine[3])

y = (une_chaine[4] == une_chaine[1]) b.

Donner le type et les valeurs des variables x et y.

c.

Écrire une fonction occurrences_lettre(une_chaine, une_lettre) prenant en paramètres une chaîne une_chaine et une lettre une_lettre et renvoyant le nombre d'occurrences de une_lettre dans une_chaine.

4. Dans cette question, nous nous servirons uniquement de liste_mots_francais et plus de abr_mots_francais.

Pour aider à la résolution de mots croisés, on a décidé d'écrire une fonction chercher_mots(liste_mots, longueur, lettre, position) où liste_mots est une liste de mots français, longueur est la taille du mot recherché, lettre est une lettre du mot se trouvant à l'indice position.

Par exemple chercher_mots(liste_mots_francais, 3, 'x', 2) renverra ['aux', 'box', 'dix', 'eux', 'fax', 'fox', 'lux', 'max', 'six'].

a.

Recopier et compléter la ligne 4 de la fonction ci-dessous:

b.

Expliquer ce que donne la commande suivante:

>>> chercher_mots(chercher_mots(liste_mots_francais, 3, 'x', 2), 3, 'a', 1)

c.

On cherche un mot de 5 lettres dont on connait la fin 'ter'.

Écrire la commande permettant de chercher les mots candidats dans liste_mots_francais.

Énoncé: Exercice 3 - Chaînes de caractères et parcours de… · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2023 (jour 2)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1.a. Donner le résultat de l'exécution de bonjour('Alan').

Réponse : 'Bonjour Alan !'

1.b. Donner le type des variables x et y.

Réponse : bool

1.b. Donner la valeur de la variable x.

Réponse : False

1.b. Donner la valeur de la variable y.

Réponse : True

Les réponses des 4 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 1 - Tri par sélection et coût · Centres étrangers (Afrique) 2026 (jour 1)

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