0% ont trouvé ce document utile (0 vote)
49 vues5 pages

TD TP 4 Correction

Le document présente des exercices sur les structures répétitives en algorithmique, en se concentrant sur la traduction d'algorithmes en Python. Il aborde des concepts tels que les boucles 'for' et 'while', ainsi que la gestion des entrées utilisateur pour calculer des sommes et déterminer le plus grand nombre. Des exemples de code en pseudo-code et en Python sont fournis pour illustrer chaque exercice.

Transféré par

aboahmadalmozani21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
49 vues5 pages

TD TP 4 Correction

Le document présente des exercices sur les structures répétitives en algorithmique, en se concentrant sur la traduction d'algorithmes en Python. Il aborde des concepts tels que les boucles 'for' et 'while', ainsi que la gestion des entrées utilisateur pour calculer des sommes et déterminer le plus grand nombre. Des exemples de code en pseudo-code et en Python sont fournis pour illustrer chaque exercice.

Transféré par

aboahmadalmozani21
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 5

Module : Algorithmique 1

Informatique Appliquée/S1
TD / TP 4
Les structures répétitives
Tous les algorithmes traités dans cette série doivent être traduits en langage Python
Exercice 3 :
Afficher le résultat des instructions ci-dessous :
s←0 ch="abcde" for i in range(1,10,3) :
pour i de 1 à 9 pas=2 faire for i in range(0,len(ch)) : print(i)
s←s+1 print(ch[i%2])
fin pour
écrire(s)
Affiche : 5 Affiche : ababa Affiche :147
for i in range(4) : i←0 n←0
if(i==2) : repeter pour i de 0 à 3 faire
print(i) i←i+1 n←n+1
jusqu’à i=3 fin pour
ecrire(i) ecrire(n)
Affiche : 2 Affiche : 3 Affiche : 4
n←0 n←0 n←1
pour i de 0 à 4 (pas=2) faire i←1 pour i de 1 à 4
n←n+1 repeter si i mod 2 = 0 alors
fin pour n←n+2 n←n*i
ecrire(n) i← i+1 sinon
jusqu’à i>2 n←n+i
ecrire(i) écrire(n)
Affiche : 3 Affiche : 3 Affiche : 28
n=2 ch="abcdef" ch="abcaefa"
i=1 s="" s=0
while i < 5: for i in range(len(ch)): for i in ch:
if i % 2 == 1: if i%2== 0: if i== "a":
n += i s=s+ch[i] s=s+1
else: print(s) print(s)
n *= i
i += 1
print(n)
Affiche : 36 Affiche : ace Affiche : 3

1
Module : Algorithmique 1
Informatique Appliquée/S1
Exercice 2 : La somme des entiers jusqu’à un nombre donné

1. Question de base :

 Algorithmique : Écrivez un algorithme qui demande un nombre de départ et calcule la


somme des entiers jusqu’à ce nombre en utilisant la boucle pour.
 Python : Écrivez un programme Python qui demande un nombre de départ et calcule la
somme des entiers jusqu’à ce nombre en utilisant la boucle for.

Pseudo-code LARP python


Algorithme Somme \\ Algorithme Somme n=int(input("Entrez un nombre: "))
Variable i,n,s : Entier \\ Variable i,n,s : Entier s=0
Début Début for i in range(1,n+1):
Écrire("Entrez un nombre : ") Écrire "Entrez un nombre : " s += i
Lire (n) Lire n print(f"La somme des entiers
s←0 S=0 jusqu'à {n} est {s}")
Pour i ← 1 à n faire POUR i=1 JUSQU'À n FAIRE
s←s+i S=S+i
Fin Pour FinPour
Écrire ("La somme des entiers Écrire "La somme des entiers
jusqu'à", n, "est", s) jusqu'à",n,"est",s
Fin FIN

2. Question sur les boucles :

 Algorithmique : modifiez l’algorithme pour utiliser une boucle TantQue au lieu d’une
boucle Pour ?
 Python : Modifiez le programme pour utiliser une boucle while au lieu d’une boucle for.

Pseudo-code LARP python


Algorithme Somme \\ Algorithme Somme n=int(input("Entrez un nombre : "))
Variable i,n,s : Entier \\ Variable i,n,S : Entier s= 0
Début Début i=1
Écrire("Entrez un nombre : ") Écrire "Entrez un nombre : " while i <= n:
Lire (n) Lire n s += i
s←0 S=0 i += 1
i←1 i=1 print(f"La somme des entiers
TantQue i ≤ n faire TANTQUE i<=n FAIRE jusqu'à {n} est {s}")
s← s+ i S=S+i
i←i+1 i=i+1
Fin TantQue FINTANTQUE
Écrire "La somme des entiers
jusqu'à", n, "est", s Écrire "La somme des entiers
Fin jusqu'à",n,"est",S
FIN

3. Question sur les conditions :

 Algorithmique : Ajoutez une vérification pour vous assurer que le nombre entré est
positif. Si le nombre est négatif, affichez un message d’erreur.
 Python : Ajoutez une condition pour vérifier si le nombre entré est positif. Si le nombre
est négatif, affichez un message d’erreur et demandez à l’utilisateur de saisir un nouveau
nombre.

2
Module : Algorithmique 1
Informatique Appliquée/S1
Pseudo-code LARP python
Algorithme Somme \\ Algorithme Somme while True:
Variable i,n,s : Entier \\ Variable i,n,S : Entier n=int(input("Entrez un nombre :
Début Début "))
Répéter RÉPÉTER if n< 0:
Écrire ("Entrez un nombre : Écrire "Entrez un nombre : " print("Erreur : le nombre doit
") Lire n être positif.")
Lire (n) SI n<0 ALORS else:
Si n< 0 alors Écrire "Erreur: le break
Écrire("Erreur : le nombre s= 0
nombre doit être positif." i= 1
doit être positif.") FINSI while i<=n:
Fin Si JUSQU'À n>0 s += i
Jusqu'à n ≥ 0 S=0 i += 1
s←0 i=1 print(f"La somme des entiers jusqu'à
i←1 TANTQUE i<=n FAIRE {n} est {s}")
TantQue i ≤ n faire S=S+i
s← s+ i i=i+1
i←i+1 FINTANTQUE
Fin TantQue Écrire "La somme des entiers
Écrire "La somme des entiers jusqu'à",n,"est",S
jusqu'à", n, "est", s FIN
Fin
4. Extensions :

 Algorithmique : Comment modifieriez-vous l’algorithme pour calculer la somme des


entiers pairs seulement ?

Pseudo-code LARP python


Algorithme Somme \\ Algorithme Somme while True:
Variable i,n,s : Entier \\ Variable i,n,S : Entier n=int(input("Entrez un nombre :
Début Début "))
Répéter RÉPÉTER if n< 0:
Écrire ("Entrez un nombre : Écrire "Entrez un nombre : " print("Erreur : le nombre doit
") Lire n être positif.")
Lire (n) SI n<0 ALORS else:
Si n< 0 alors Écrire "Erreur: le break
Écrire("Erreur : le nombre s= 0
nombre doit être positif." i= 1
doit être positif.") FINSI while i<=n:
Fin Si JUSQU'À n>0 if i % 2 == 0:
Jusqu'à n ≥ 0 S=0 s += i
s←0 i=1 i += 1
i←1 TANTQUE i<=n FAIRE print(f"La somme des entiers jusqu'à
TantQue i ≤ n faire SI i%2=0 ALORS {n} est {s}")
Si i % 2 = 0 alors S=S+i
s←s+i FINSI
Fin Si i=i+1
i←i+1 FINTANTQUE
Fin TantQue Écrire "La somme des entiers
Écrire "La somme des entiers jusqu'à",n,"est",S
jusqu'à", n, "est", s FIN
Fin

3
Module : Algorithmique 1
Informatique Appliquée/S1

Exercice 2 : Le plus grand nombre


1. Écrivez un algorithme qui demande à l’utilisateur de saisir 5 nombres. À la fin, affichez le
plus grand nombre parmi les entrées valides.

Exemple :
Entrez le nombre numéro 1: 12
Entrez le nombre numéro 2: 14
etc.
Entrez le nombre numéro 5: 6
Le plus grand de ces nombres est: 14

Pseudo-code LARP python


Algorithme Grand \\ Algorithme Grand mx=0
Variable i,n,mx : Entier \\ Variable i,n,mx : Entier for i in range(1,):
Début Début
mx ← 0 mx=0
n=int(input(f"Entrez le
Pour i ← 1 à 5 faire POUR i=1 JUSQU'À 5 FAIRE nombre numéro{i}: "))
Écrire ("Entrez le nombre Écrire "Entrez le nombre if n > mx:
numéro",i) numéro",i mx= n
Lire (n) Lire n print(f"Le plus grand nombre
Si n > mx alors Si n> mx alors
mx ← n mx = n
est {mx}")
Fin Si FinSi
Fin Pour FinPour
Écrire("Le plus grand nombre Écrire "Le plus grand nombre
est", mx) est", mx
Fin FIN

2. Ajoutez une vérification dans votre algorithme pour vous assurer que chaque entrée est un
nombre entier valide. Si l’utilisateur entre une chaîne de caractères ou un nombre négatif,
affichez un message d’erreur et demandez une nouvelle saisie.
Pseudo-code
Algorithme Grand
Variable i,n,mx : Entier
DEBUT
mx←0
POUR i←1 à 5 FAIRE
Écrire "Entrez le nombre numéro",i
LIRE n
TANT QUE n NON ENTIER FAIRE
ECRIRE "Erreur: Vous n'avez pas entré un nombre valide."
ECRIRE "Entrez le nombre numéro",i
LIRE n
FIN TANTQUE
TAN TQUE n < 0 FAIRE
ECRIRE "Erreur: Vous avez entré un nombre négatif."
ECRIRE "Entrez le nombre numéro",i

4
Module : Algorithmique 1
Informatique Appliquée/S1
LIRE n
FIN TANTQUE
SI n>mx alors
mx=n
FinSi
FINPOUR
Écrire "Le plus grand nombre est", mx
FIN

LARP
\\ Algorithme Grand
\\ Variable i,n,mx : Entier
DEBUT
mx=0
POUR i=1 JUSQU'À 5 FAIRE
Écrire "Entrez le nombre numéro",i
LIRE n
TANTQUE n NON ENTIER FAIRE
ECRIRE "Erreur: Vous n'avez pas entré un nombre valide."
ECRIRE "Entrez le nombre numéro",i
LIRE n
FINTANTQUE
TANTQUE n < 0 FAIRE
ECRIRE "Erreur: Vous avez entré un nombre négatif."
ECRIRE "Entrez le nombre numéro",i
LIRE n
FINTANTQUE
SI n>mx alors
mx=n
FinSi
FINPOUR
Écrire "Le plus grand nombre est", mx
FIN
Python
mx = 0
for i in range(1, 6):
while True:
n = input(f"Entrez le nombre numéro {i}: ")
try:
n = int(n)
if n < 0:
print("Erreur: Vous avez entré un nombre négatif.")
else:
break
except ValueError:
print("Erreur: Vous n'avez pas entré un nombre valide.")

if n > mx:
mx = n
print(f"Le plus grand nombre est {mx}")

Vous aimerez peut-être aussi