Algorithmique & Programmation (MPSI & PCSI)
Déclaration d’une variable par une valeur saisie de type « int »
a = input(“Entrer la valeur entiere:”)
Par loi de composition, cela est équivalent à :
a = int(input(“Entrer la valeur entiere:”))
Traduction d’un algorithme
1ère méthode (Traduction directe du corps de l’algorithme)
Constante tva : Réel
Variables npc : Entier
Pu, ttc : Réel
Debut
Tva «- 0.2
Ecrire(« Entrer le npc : »)
Lire(npc)
Ecrire(« Entrer le pu: »)
Lire(pu)
ttc «- npc*pu*(1+tva)
Ecrire (« ttc(dh) : », ttc)
Fin
npc = int(input(« Entrer npc : »))
pu = float(input(« Entrer pu: »))
ttc = npc*pu*(1+tva)
print(« ttc(dh) : », ttc)
2ème méthode (Traduction par fonction principale)
Constante tva : Réel
Variables npc : Entier
Pu, ttc : Réel
Debut
Tva 0.2
Ecrire(« Entrer le npc : »)
Lire(npc)
Ecrire(« Entrer le pu: »)
Lire(pu)
ttc npc*pu*(1+tva)
Ecrire (« ttc(dh) : », ttc)
Fin
tva = 0.2
npc = int(input(« Entrer npc : »))
pu = float(input(« Entrer pu: »))
ttc=npc*pu*(1+tva)
print(« ttc(dh) : », ttc)
Organisation du code en Python « Indentation »
Un bloc est une suite d’instructions qui s’exécutent les uns après les
autres.
En algorithmique et dans autres langages on utilise des délimiteurs pour
borner les instructions qui font partie d’un même bloc de code.
Exemples de délimiteurs en algorithmique
Structure conditionnelle « SI »
Corps de l’algorithme
Fin
Bloc de la condition « si »
FINSI
Corps de la boucle
FINTANTQUE
POUR i allant de v0 à vn FAIRE
Corps de la boucle
FINPOUR
En Python, on utilise l’indentation comme technique pour identifier les
instructions appartenant à un même bloc de code.
Indenter signifie ajouter le même nombre d’espaces devant chacune des
lignes définissant les instructions d’un même bloc de code.
# cette ligne a un niveau d’indentation de 0
# cette ligne a un niveau d’indentation de 1
# cette ligne a un niveau d’indentation de 2
Ainsi, dans le code de notre programme on peut avoir les différentes
structures (SI, TANTQUE, POUR…) imbriquées les unes dans les autres et
par la suite avoir plusieurs niveaux d’indentations.
Chaque nouvelle structure (SI, TANTQUE, POUR) va définir un nouveau
niveau pour son corps.
Traduction des structures algorithmiques
Structure conditionnelle « SI » = « if »
Bloc de la condition C1
SINON SI C2 ALORS
Bloc de la condition C2
.
.
.
SINON SI Ci ALORS
Bloc de la condition Ci
SINON
Bloc Alternatif
FINSI
Bloc de la condition C1
elif C2 :
Bloc de la condition C2
.
.
.
elif Ci :
Bloc de la condition Ci
else :
Bloc alternatif
Exemple (Résolution d’équation de 2 dégrée)
a = float(input("Entrer le a:"))
b = float(input("Entrer le b:"))
c = float(input("Entrer le c:"))
if a!=0 :
d=b*b-4*a*c
if d>0 :
x1=(-b+d**0.5)/(2*a)
x2=(-b-d**0.5)/(2*a)
print(x1, x2)
elif d==0 :
print(x1)
else :
print ("Pas de solution dans IR")
else :
print("Equation de 1 degree")
Boucle conditionnelle « TANTQUE » = « while »
Bloc de la boucle
FINTANTQUE
Boucle inconditionnelle « POUR » = « for »
POUR i ALLANT DE vi à vf PAR
PAS DE pas FAIRE
Bloc de la boucle
FINPOUR
for e in sequence :
Bloc de la boucle
En python, la « sequence » à parcourir en générale est une suite de
valeurs.
La traduction de la structure « POUR » se fait par une suite arithmétique
créée par la fonction « range » à base de 3 valeurs : vi, vf, p (pas).
La variable du parcours « e » est définie à l’intérieur de la boucle par la
valeur initiale « VI ».