Voilà un autre exemple de contrôles qui concerne l’ algorithme et python (contrôle 1 v1). Aussi, nous proposons une solution de cet contrôle. Mais, on vous encourage de ne pas voir la solution qu’après des essais . Bonne chance!
Contrôle 1 (1h15min)
Exercice 1 : (5 points)
- Quel est le rôle d’une structure répétitive dans un algorithme. Donner un exemple ? (3pts)
- Donner un exemple d’utilisation d’une structure alternative imbriquée. (2pts)
Exercice 2 : (9points)
Supposons qu’on veut lire une suite de caractères jusqu’au premier ‘.’ rencontré. On calcule et on affiche le nombre d’occurrences du premier caractère saisit.
- Est-ce qu’on doit utiliser une boucle ? Si oui, décrire le traitement à répéter et la boucle la plus convenable pour ce cas (Justifiez votre réponse) (1pt+1pt+1pt)
- Proposer un algorithme (3pts)
- Donner un programme en python. (3points)
Exercice 3 : (6 points)
Considérons le programme suivant :
for i in range(3,20,3): if i == 12: print(i == 12) if i > 15: print(i > 15) if i < 10: print(i < 10) else: print(“else”) |
- Quelle est le résultat affiché si l’utilisateur donne 4 ? (2 points)
- Remplacer la boucle for par while. (4 points)Donner
Vous pouvez suivre notre cours de l’algorithmique. pour approfondir vos compétences et surmonter tous les problèmes d’analyse et de résolution de problème.
Aussi, vous avez une playlist des vidéos (Explication en Darija arabe marocaine) bien organisée qui traite : Les algorithmes
Nous proposons d’autres exercices sur les algorithmes. C’est intéressant : Exercices en algorithmes
Nous proposons une solution de ce contrôle qui concerne l’ algorithme et python (contrôle 1). Mais, on vous encourage de ne pas voir la solution qu’après des essais . Bonne chance!
Algorithmes : Contrôle 1 (solution)
Exercice 1 (solution) : (5 points)
- Une structure répétitive permet de répéter des ordres selon une condition ou un certain nombre de fois. Exemple : Afficher les nombres pairs de 1 à 1000 (3pts)
- Exemple d’utilisation d’une structure alternative imbriquée. (2pts) :
Algo_Exemple
variable a :entier
debut
ecrire “donner un nombre entier : “
lire a
si (a>0) alors
ecrire “ nombre positif “
sinon
si (a<0) alors
ecrire “ nombre négatif “
sinon
ecrire “ nombre null “
fin si
fin si
fin
Exercice 2 (solution ) : (9points)
- Oui on doit utiliser une boucle. Le traitement à répéter : la lecture des caractères et le calcul de nombre d’occurrences du premier caractère. La boucle la plus convenable pour ce cas est : Tant que ou répéter …jusqu’à , car on ne sait pas le nombre de répétitions. (3pts)
- Algorithme (3pts)
Algo_Ex2
Variables c,cpremier : caractere
cmp :int
debut
ecrire “donner un caractère ou . pour finir “
lire cpremier
si (cpremier==’.’) alors
ecrire “Fin dès le début. Le premier caractère est un . “
sinon
c=cpremier
tant que (c != ‘.’)
si (c==cpremier) alors
cmp <- – cmp+1
finsi
ecrire “donner un caractère ou . pour finir “
lire c
fin tantque
fin si
Ecrire “ le caractère “ , cpremier, “est répété “ , cmp, “ fois “
fin
3. Programme en python. (3pts) :
pour l’instant , on n’a pas un moyen pour lire un seul caractère (voir le chapitre des chaines de caractères en python) . Donc , on va essayer de lire une tous les caractères à la fois. Mais on doit vérifier que vraiment on a fini par un ‘.’.Puis on extrait le premier caractère et on calcule le nombre d’occurrence. Pour cela , on propose le programme suivant (on peut trouver une solution plus simple si on connaît les méthodes prédéfinies de chaines de caractères en python) :
while True:
chaine=input(“Donner une suite de caractères qui fini par .”)
for c in chaine:
cdernier=c
if cdernier!=’.’:
chaine=input(“Donner une suite de caractères qui fini par .”)
else:
break
for c in chaine:
cpremier=c
break
cmp=0
for c in chaine:
if c==cpremier:
cmp+=1
print(“Le premier caractère est :”,cpremier,”est répété “,cmp,”fois”)
Exercice 3 (solution) : (6 points)
- Résultat : (2 points) : voir l’image (exercice 3 – Q1)
- Remplacer la boucle for par while. (4 points)
solution :
i=3
while i<20:
if i == 12:
print(i == 12)
if i > 15:
print(i > 15)
if i < 10:
print(i < 10)
else:
print(“else”)
i+=3