Académique Documents
Professionnel Documents
Culture Documents
Module : Informatique
Classes: 1ères Années
Chapitre 1:
RAPPEL DES NOTIONS
ALGORITHMIQUES
Enseignant : Dr. Khemaies GHALI (ghali.khemaies@gmail.com)
1. Notion d’algorithme
3. Structures conditionnelles
4. Structures itératives
NOTION
D’ALGORITHME
1. résultats à obtenir,
1. une entête,
DEBUT
Opérations de lecture
Opérations élémentaires
Séquence d’instructions
Opérations d’affectation
Opérations d’écriture
Structures Conditionnelles
Structures répétitives/itératives
OPÉRATIONS
ÉLÉMENTAIRES
Identificateur_var ← valeur
Exemples:
Lire(A, B)
Ou
Lire(A), Lire(B)
Ecrire(expression1, …, expressionN)
avec une expression soit :
• un nom de variable
• une chaîne de caractères
Exemple :
Ecrire(‘la surface du rectangle est = ‘, S)
STRUCTURES
CONDITIONNELLES
Traitement1 Traitement2
oui
Appels à des
Vide Actions
(Voir chapitre4)
Elémentaire
Structures
Répétitives/Itératives
Bloc Cas4 (Voir chapitre suivant)
D’opérations
Structures
Conditionnelles
SI condition ALORS
instructions1
FINSI
Absence de traitement associée à la réponse OUI => dans
ce cas prendre la négation de la condition:
SI NON(condition) ALORS
instructions2
FINSI
ALGORITHME CalculSomInverseXY
VARIABLE X,Y: entier SomI: réel
DEBUT
Ecrire("donner deux entiers")
Lire(X) Lire(Y)
SI X≠0 ET Y≠0 ALORS SomI ← 1/X +1/Y FINSI
Si X≠0 et Y≠0 ALORS
Ecrire("la somme des inverses de ", X, "et", Y,
"est égale à ", SomI)
SINON
Ecrire("impossible de calculer la somme des
inverses de ", X, " et ", Y)
FINSI
FIN
SI condition1 ALORS
SI condition2 ALORS
Instruction_c1_c2
SINON
Instruction_c1_non(c2)
FINSI
SINON
SI condition3 ALORS
Instruction_non(c1)_c3
SINON
Instruction_non(c1)_non(c3)
FINSI
FINSI
SI X≠0 ALORS
SI Y≠0 ALORS SomI ← 1/X + 1/Y FINSI
FINSI
Si X≠ 0 et Y≠ 0 ALORS
Ecrire("la somme des inverses de ", X,
"et", Y, "est égale à ", SomI)
SINON
Ecrire("impossible de calculer la somme des
inverses de ", X, " et ", Y)
FINSI
FIN
1. if condition_1:
2. bloc_instruction_1
3. elif condition_2:
4. bloc_instruction_2
5. else:
6. bloc_instruction_3
4. if x % 3 == 1 : 4. x = x + 1
5. x = x – 1 5. elif x % 3 == 1 :
6. else: 6. x = x – 1
7. x = 2 * x 7. else:
8. x = 2 * x
4. if A == 0:
5. if B == 0: drapeau = 0
6. else: drapeau = -1
7. else:
8. x = -B/A
9. drapeau = 1
10.#affichage en fonction de la valeur de « drapeau »
11.if drapeau == 1:
12. print("Sol. de l’équation",A,"*x+",B,"=0 est x=",x)
13.elif drapeau == -1:
14. print("pas de solution")
15.else:
16. print("infinité de solution")
STRUCTURES ITÉRATIVES
ET RÉPÉTITIVES
L’utilisateur doit répondre par ‘S’ ou ‘C’. Mais il risque fort, tôt
ou tard, de taper autre chose que cela!
Lire (choix )
. . .
Fin
FinSi
Fin
FinSi …
MAIS !!! Combien de structures conditionnelles (Si … FinSi)?
TRES IMPORTANT :
Chaque structure répétitive/itérative se caractérise par :
une initialisation,
une condition,
une séquence logique d’instructions.
…
Initialisation
TANTQUE (condition d’EXECUTION est vraie) FAIRE
oui
Instructions (incluent au moins une instruction
qui change la valeur de la condition)
FIN_TANTQUE
… non
…
Initialisation non
REPETER
1. ALGORITHME Produit
2. VARIABLE P, N, x : entier
3. DEBUT
4. REPETER
5. ECRIRE(" Donner N")
6. LIRE(N)
7. JUSQU'A N > 0
8. P ← 1
9. POUR x = N à 1 avec pas = -1 FAIRE
10. P ← P * x
11. FIN_POUR
12. ECRIRE("Le produit des",N, "entiers est ", P)
13.FIN
Algorithmique Python
Pour var de v_i à v_f faire for var in range(v_i, v_f):
instructions instructions
Fin_Pour
Tantque condition faire while condition:
instructions instructions
Fin_Tantque
Répeter while True :
instructions instructions
Jusqu'à condition if condition:
break
CRÉATION ET
MANIPULATION DES
TABLEAUX
31 28 31 30 31 30 31 31 30 31 30 31
positions 1 2 3 … 12
=> On constate que ce tableau contient 12 éléments de même type.
indices 1 2 i N-1 N
Possibilité 2:
1. Constante N = 30 C = 6
2. Type TNote = tableau [1..N] de réel
3. TCoeff = tableau [1..C] d’entier
4. Variable Tab_note, Tab_moy : TNote
5. Tab_coeff : TCoeff
Exemple 1: Exemple 2:
n=int(input("Donner n:") n=int(input("Donner n:")
for i in range(15): for i in range(n):
print(2*i) print(i)