CCmachine
CCmachine
CCmachine
CC machine 1 – 27/10/2022
Algorithmique et Programmation 1
Contrôle machine 1
27 octobre 2022 – Durée 1h
Les entrées sorties des exécutions de vos programmes doivent respecter celles des exemples
d’exécution donnés dans l’énoncé.
2. Compréhension de code : Voici une fonction mystere, implémentée dans le fichier ccmq2.py.
A l’aide de tests, déterminer sa signature et compléter la chaı̂ne de documentation. Vous pour-
rez pour cela utiliser la chaı̂ne de caractère donnée dans le fichier.
def mystere(s):
"""A compléter"""
l = []
m = ""
alpha1 = "abcdefghijklmnopqrstuvwxyz"
alpha2 = alpha1.upper()
for c in s :
if c == " ":
if len(m) >= 3 :
l.append(m)
m = ""
elif c in alpha1 or c in alpha2:
m = m + c
if len(m) >= 3 :
l.append(m)
return l
Algorithmique et Programmation 1
CC machine 1 – 27/10/2022
4. Liste de tuples : Voici un algorithme qui, à partir d’une liste l de chaı̂nes de caractères,
retourne une liste de tuples (m, nb_c) qui associe à chaque mot le nombre de caractères
distincts qui le compose. Écrire, dans le fichier ccmq4.py, une fonction en Python implé-
mentant cet algorithme.
Entrées : Une liste l de chaı̂nes de caractères de longueur n
Sorties : Une liste liste_occ contenant les tuples (m, nb_c), associant le nombre de
caractères distincts à chaque mot
1 Créer une liste vide liste_occ
2 pour chaque m dans l faire
3 ml ← le mot m tout en minuscules
4 Créer un mot vide mb
5 pour chaque c dans ml faire
6 si c n’appartient pas à mb alors mb ← mb + c
7 Ajouter (m, longueur de mb) dans la liste liste_occ
8 retourner liste_occ
Voici un exemple d’exécution de cette fonction :
liste initiale : [’Chat’, ’Ressasser’, ’Artiste’, ’Kayak’]
liste tuples : [(’Chat’, 4), (’Ressasser’, 4), (’Artiste’, 6), (’Kayak’, 3)]