TD1- Algorithmique I
Module informatique SMIA-S2
2020-2021
Les actions simples
Pr. Er-rajy Latifa
Pour la soumission des devoirs:
Enregistrer vos travaux dans un fichier qui porte vos nom prénom ensuite le numéro de
groupe suivi par le numéro de TP/TD.
Le tout enregistré sous extension . pdf , ex: Rahmouni_Hajar_G1_TPTD1.pdf
TD/TP n1
Nom: Rahmouni
Prenom: Hajar
Num Apg: 1123432
Rahmouni_Hajar_G1_TPTD1.pdf
Exercice1:
solution....
Ce fichier qui contient les solutions des exercices sera déposé sur la plateforme
e-campus dans la partie des devoirs.
Exercice 1:
Ecrire un algorithme qui permet d’afficher
d’afficher sur l’écran la phrase
suivante :
« La valeur de 30*10 est 300 »
exercice Algo
Afficher == Ecrire (" ….. " )
Exercice 1:
Ecrire un algorithme qui permet d’afficher sur l’écran la phrase
suivante :
« La valeur de 30*10 est 300 »
Solution :
ALGORITHME Afficher
DEBUT
Ecrire("La valeur de 30*10 est 300")
Fin
Traduction en Python :
Algo Python
Ecrire == print (" ………………….")
print("La valeur de 30*10 est 300")
Exercice 2:
Ecrire un algorithme qui demande à l’utilisateur de saisir deux entiers et puis
affiche la somme de ces deux variables.
Exercice 2:
Ecrire un algorithme qui demande à l’utilisateur de saisir deux entiers et puis
affiche la somme de ces deux variables.
Variables a, b, s : entiers
• Demande à l’utilisateur de saisir == Ecrire (" message ")
• Récupérer les valeurs == Lire(v1,v2,…)
• Signe " =" == en algo ex: a=b+c == aa+b
Exercice 2:
Ecrire un algorithme qui demande à l’utilisateur de saisir deux entiers et puis
affiche la somme de ces deux variables.
Solution : Ecrire("La somme de " , a, " et ", b, " est " , s)
ALGORITHME Somme
VAR a, b, s :Entier
DEBUT
Ecrire("Veuillez saisir un entier : ")
Lire(a)
Ecrire("Veuillez saisir le deuxième entier : ")
Lire(b)
s a+b
Ecrire("La somme est ", s)
Fin
Traduction en Python :
Input(" ")== Chaine de caractères
Lire (a) == a= input(" ")
Pour spécifier le type de a ;
a = input(" Veuillez saisir un entier : ")
Int(a)
Ou:
a = int(input(" Veuillez saisir un entier: "))
Traduction en Python :
a=input("Veuillez saisir un entier : ")
b=input("Veuillez saisir le deuxième entier : ")
s=int(a)+int(b)
print("La somme est ", s)
Exercice 3:
Ecrire l'algorithme permettant de saisir 3 notes d’un étudiant dont
trois matières étant donnés les coefficients respectifs : 2, 3 et 1 et calculer la moyenne.
Exercice 3:
Ecrire l'algorithme permettant de saisir 3 notes d’un étudiant dont
trois matières étant donnés les coefficients respectifs : 2, 3 et 1 et calculer la moyenne.
variable : n1, n2, n3, moy réel
constants : c12
c23
c31
Saisir 3 notes + multiplier chaque note par son coeff + calculer la moyenne
Moy= ((C1*n1 + C2*n2 +C3*n3)/(C1+C2+C3))
Exercice 3:
Ecrire l'algorithme permettant de saisir 3 notes d’un étudiant dont
trois matières étant donnés les coefficients respectifs : 2, 3 et 1 et calculer la moyenne.
Solution : Ecrire("Veuillez saisir note 1: ")
ALGORITHME Moyenne Lire(n1)
CONST C12 Ecrire("Veuillez saisir note 2: ")
Lire(n2)
C23
Ecrire("Veuillez saisir note 3: ")
C31
Lire(n3)
VAR n1, n2, n3, moy :REEL
DEBUT
Ecrire("Veuillez saisir trois notes: ")
Lire(n1,n2,n3)
moy ((C1*n1 + C2*n2 +C3*n3)/(C1+C2+C3))
Ecrire("La moyenne est ", moy)
Fin
Traduction en Python : bool : booléen (vrai ou faux)
int : entier.
float : réel
str : chaîne de caractère (string).
c1=2
c2=3
c3=1
print("Veuillez saisir trois notes: ")
n1=float(input("Note 1= "))
n2=float(input("Note 2= "))
n3=float(input("Note 3= "))
moy= float((c1*n1+c2*n2+c3*n2)/(c1+c2+c3))
print("la moyenne est: ", moy)
Exercice 4:
Ecrire l'algorithme qui permet de permuter les valeurs de A et B dans les cas
suivants :
• En utilisant une variable auxiliaire.
• Sans utiliser une variable auxiliaire.
Exercice 4:
Ecrire l'algorithme qui permet de permuter les valeurs de A et B dans les cas
suivants :
• En utilisant une variable auxiliaire.
variables : a, b, c : entiers
1- Saisir et lire deux variable a et b
2- Afficher a et b avant la permutation
3- Permuter a et b à l’aide de c
4- Afficher a et b après la permutation
Exercice 4:
Ecrire l'algorithme qui permet de permuter les valeurs de A et B dans les cas
suivants :
• En utilisant une variable auxiliaire.
Solution :
ALGORITHME PermutationAvecVarAux
VAR a, b, c : Entier
DEBUT
Ecrire("Veuillez saisir deux variables: ")
Lire(a,b)
Ecrire("Avant la permutation :")
Ecrire("a=",a)
Ecrire("b=",b)
ca
ab
bc
Ecrire("Apres la permutation :")
Ecrire("a=",a)
Ecrire("b=",b)
Fin
Traduction en Python :
print("Veuillez saisir deux variables: ")
a=int(input("Variable 1= "))
b=int(input("Variable 2= "))
c=0
print("Avant la permutation : ")
print("a= ",a)
print("b= ",b)
c=a
a=b
b=c
print("Apres la permutation :")
print("a= ",a)
print("b= ",b)
Exercice 4:
Ecrire l'algorithme qui permet de permuter les valeurs de A et B dans les cas
suivants :
• Sans utiliser une variable auxiliaire.
Deux variables : a, b : entiers
1- Saisir et lire deux variable a et b
2- Afficher a et b avant la permutation
4- Afficher a et b après la permutation
Division et réduction :
a=a*b
b=a/b b=(a*b)/b = a b=a
a=a/b a= (a*b)/b=(a*b)/a a=b
Exercice 4:
Ecrire l'algorithme qui permet de permuter les valeurs de A et B dans les cas
suivants :
• Sans utiliser une variable auxiliaire.
Solution :
ALGORITHME PermutationSansVarAux
VAR a, b : Entier
DEBUT
Ecrire("Veuillez saisir deux variables: ")
Lire(a,b)
Ecrire("Avant la permutation :")
Ecrire("a=",a)
Ecrire("b=",b)
a a*b
b a/b
a a/b
Ecrire("Apres la permutation :")
Ecrire("a=",a)
Ecrire("b=",b)
Fin
Traduction en Python :
print("Veuillez saisir deux variables: ")
a=int(input("Variable 1= "))
b=int(input("Variable 2= "))
print("Avant la permutation : ")
print("a= ",a)
print("b= ",b)
a=a*b
b=int(a/b)
a=int(a/b)
print("Apres la permutation :")
print("a= ",a)
print("b= ",b)
Exercice 5:
Un distributeur qui rend de la monnaie doit rendre en priorité les pièces les plus
grosses. En supposant que la machine rend des jetons de 5, 2 et 1 unités et
qu'elle doit vous rendre nb unités, écrire un algorithme qui simule le rendu. On
suppose que la caisse de départ de la machine est illimitée. i.e. il y a toujours
assez de jetons en caisse pour le rendu
Exercice 5:
Un distributeur qui rend de la monnaie doit rendre en priorité les pièces les plus
grosses. En supposant que la machine rend des jetons de 5, 2 et 1 unités et
qu'elle doit vous rendre nb unités, écrire un algorithme qui simule le rendu. On
suppose que la caisse de départ de la machine est illimitée. i.e. il y a toujours
assez de jetons en caisse pour le rendu.
Exemple nous avons saisi 63:
- La machine va nous rendre: Saisir votre monnaie
12 jetons de 5 unité
1 jetons de 2 unité
1 jetons de 1 unité
distributeur
jetons de 5 unité: 63/5 =12,6 12 jetons
jetons de 2 unité Mod(63/5)/2 = (63- (12*5))/2 = 3/2 = 1,5
1 jeton
jetons de 1 unité Mod(3/2)= (3-(1*2)) = 1 Il vas vous rendre :
-Nb5 jetons de 5 unité
1 jetons
-Nb2 jetons de 2 unité
-Nb1 jetons de 1 unité
Exercice 5:
Un distributeur qui rend de la monnaie doit rendre en priorité les pièces les plus
grosses. En supposant que la machine rend des jetons de 5, 2 et 1 unités et
qu'elle doit vous rendre nb unités, écrire un algorithme qui simule le rendu. On
suppose que la caisse de départ de la machine est illimitée. i.e. il y a toujours
assez de jetons en caisse pour le rendu
Solution :
ALGORITHME Monnayeur variables : nb, nb5, nb2, nb1 : Entiers
VAR nb, nb5,nb2,nb1 : Entier
DEBUT
Ecrire("Entrer votre monnaie: ")
Lire(nb) Modulo de N1/N2== N1%N2
nb5 nb/5
nb nb%5
nb2 nb/2
nb nb%2
nb1 nb
Ecrire("La machine va vous rendre:")
Ecrire(nb5," jetons de 5 unité")
Ecrire(nb2," jetons de 2 unité")
Ecrire(nb1," jetons de 1 unité")
Fin
Traduction en Python :
nb=int(input("Entrer votre monnaie: "))
nb5=int(nb/5)
nb=int(nb%5)
nb2=int(nb/2)
nb=int(nb%2)
nb1=nb
print("La machine va vous rendre: ")
print(nb5," jetons de 5 unité")
print(nb2," jetons de 2 unité")
print(nb1," jetons de 1 unité")
Exercice 6:
Ecrire l’algorithme qui permet de calculer le périmètre d’un cercle à partir de
son diamètre.
Exercice 6:
Ecrire l’algorithme qui permet de calculer le périmètre d’un cercle à partir de
son diamètre.
Une constante Pi 3,1415
Deux variables : diametre, perimetre Réel
diamètre
Périmètre= diamètre*Pi
Exercice 6:
Ecrire l’algorithme qui permet de calculer le périmètre d’un cercle à partir de
son diamètre.
Solution :
ALGORITHME PerimetreCercle
CONST PI 3.1415 : REEL
VAR diametre, perimetre : REEL
DEBUT
Ecrire("Entrer le diamètre de votre cercle: ")
Lire(diametre)
perimetre diametre*PI
Ecrire("Le périmètre de votre cercle est:", perimetre)
Fin
Traduction en Python :
from math import pi
diametre=float(input("Entrer le diamètre de votre cercle: "))
perimetre=diametre*pi
print("Le périmètre de votre cercle est: ", perimetre))