Académique Documents
Professionnel Documents
Culture Documents
§ Élément 1 : Algorithmique
o Chapitre 1: éléments de base
o Chapitre 2: les structures conditionnelles et les structures répétitives
o Chapitre 3: Les tableaux
o Chapitre 4 : Les fonctions et les procédures
o Chapitre 5: Algorithmes avancés
§ Élément 2 : Programmer en Python
3
Plate-forme adoptée
§ Moodle: http://ead.uit.ac.ma
4
Evaluation du module
Devoirs 15%
5
Chapitre 1:
Eléments de base
6
Plan du chapitre 1
1. Introduction
3. Variables
o Déclaration
o Affectation
4. Opérateurs
5. Fonctions d’entrées-sorties
7
1- Introduction
8
Définition
§ Le mot algorithme vient du nom du mathématicien « Al-Khawarizmi »
9
Exemples
o Vous avez déjà préparé une recette à partir d’un livre de recettes de
cuisine?
11
Exemple : résolution de l’équation ax+b=0
§ Le résultat recherché : la valeur de x
§ Les données : a et b entiers
§ Les instructions
Écrire( " résolution de l ’équation : ax+b=0 ")
lire(a)
lire(b)
Si a est non nul alors
Ecrire( -b/a)
sinon
si b est non nul alors
Ecrire ("l'équation est insoluble")
sinon
Ecrire (" tout réel est solution)")
Définition
§ Remarque : l’algorithme ne peut être exécuté par une machine! (qui ne
14
Processus de résolution de problèmes
§ Écrire formellement la solution (algorithme) sur papier
16
Traduction de l’algorithme en pascal
Algorithme Resoultion_Equation
Début
Ecrire( " Entrer la valeur de a : ")
Lire (a)
Ecrire( " Entrer la valeur de b : ")
Lire (b)
Si a <>0 alors
Ecrire( " la solution est :" , -b/a)
sinon
si b=0 alors
Ecrire ("l'équation est insoluble")
sinon
Ecrire (" tout réel est solution")
Finsi
Finsi
Fin 17
Traduction de l’algorithme en Python
Algorithme Equation_Premier_Degre
Début
Ecrire( " Entrer la valeur de a : ")
Lire (a)
Ecrire( " Entrer la valeur de b : ")
Lire (b)
Si a <>0 alors
Ecrire( " la solution est :" , -b/a)
sinon
si b=0 alors
Ecrire ("l'équation est insoluble")
sinon
Ecrire (" tout réel est solution")
Finsi
Finsi
Fin 18
Pourquoi apprendre l’algorithmique pour apprendre à programmer ?
20
Structure générale d’un algorithme
Algorithme Nom_algorithme L’entête de l’algorithme
Début
Fin
21
Exemple
Algorithme surface_cercle
Constantes: pi ← 3,14
Variables: rayon,surface : Réel
Début
Ecrire( " Veuillez saisir le rayon ")
Lire ( rayon)
surface ← rayon* rayon*pi
Ecrire(surface)
Fin
3- Variables
23
Définition
§ Les variables sont des emplacements réservés dans la mémoire auxquels
Valeur de la
variable
Nom de la variable 24
Le nom d’une variable
§ Le nom de la variable (l’étiquette de la boîte) obéit à des
25
Types de variables
§ On distingue 5 types de base:
o Le type réel
26
L’affectation
§ L’affectation est l’opération la plus utilisée dans un algorithme, elle
Objet ← valeur
Exemple:
pi ← 3,14
message ← " Bonjour "
rayon ← 5
reponse ← Vrai
Choix ← " N " 27
L’affectation
§ dans une instruction d’affectation, on trouve à gauche de la
expression
A←5
B←2
C←A*B 28
Remarque
29
Exercice 1.1
Quelles seront les valeurs des variables A, B et C après exécution
des instructions suivantes ?
Variables: A, B : Entier
Début
A←5
B←3
C←A+B
A←2
C←B–A
Fin A=2
B=3
C=1
30
Exercice 1.2
Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?
Variables: A, B :Entier
Début
A←5
B←A+4
A←A+1
B←A–4
Fin A=6
B=2
31
Exercice 1.3
§ Quelles seront les valeurs des variables A et B après exécution des
instructions suivantes ?
Variables A, B :Entier
Début
A←5
B←2
A←B
B←A
Fin
les deux dernières instructions permettent-elles d’échanger les deux
valeurs de B et A ? Si l’on inverse les deux dernières instructions, cela
change-t-il quelque chose ?
Corrigé
§ Instruction La valeur des variables après :
A←5 A=5 B=?
B←2 A=5 B=2
A←B A=2 B=2
B←A A=2 B=2
§ Les deux dernières instructions ne permettent donc pas d’échanger les
deux valeurs de B et A, puisque l’une des deux valeurs (celle de A) est ici
écrasée.
Si l’on inverse les deux dernières instructions, cela ne changera rien du
tout, hormis le fait que cette fois c’est la valeur de B qui sera écrasée.
Exercice 1.4
§ Ecrire un algorithme permettant d’échanger les valeurs de deux
variable C).
4 – Les opérateurs
36
Les types d’opérateurs
1. Opérateurs arithmétiques
2. Opérateurs de comparaison
3. Opérateur de concaténation
4. Opérateurs logiques
37
1- Opérateurs arithmétiques
Exemple:
+ : addition
Variables: A, B en Entier
- : soustraction Début
A←7
* : multiplication B←3 C=2
C ← A div B D=1
/ : division D ← A mod B
div: division entière
Fin
mod : reste de la division entière
à on a le droit d’utiliser les parenthèses, avec les mêmes règles qu’en mathématiques. La
multiplication et la division ont la priorité sur l’addition et la soustraction. Les parenthèses ne
sont ainsi utiles que pour modifier cette priorité naturelle.
38
2 - Opérateurs de comparaison
§ Opérateurs de comparaisons : =, >, >=, <=, <>
§ Remarque:
39
3 - Opérateur de concaténation
§ Symbole: &
§ Exemple:
Algorithme concatener
Variables: nom,prenom,nom_prenom : chaines de caractères
Début
nom ← " Amrani "
prenom ← " Youssef "
nom_prenom ← nom&prenom
Fin
40
4 – opérateurs logiques
§ ET , OU , NON , OU exclusif (XOR)
A B A OU B A B A ET B A B A XOR B
0 0 0 0 0 0 0 0 0
0 1 1 0 1 0 0 1 1
1 0 1 1 0 0 1 0 1
1 1 1 1 1 1 1 1 0
A NON A
0 1
1 0
41
5 – Les fonctions d’entrées – sorties
ou
Lecture-écriture
42
Les instructions Lire et Ecrire
§ Pour assurer la communication entre l’homme et la machine, les
Ecrire
43
L’instruction Lire
§ La fonction Lire permet au programme de lire les données à partir
du clavier.
Syntaxe:
Lire (variable1,variable2,….)
Dès que le programme rencontre une instruction lire, l’exécution
s’arrête en attendant la saisie d’une valeur au clavier
44
L’instruction Ecrire
§ La fonction Ecrire permet d’afficher les résultats à l’écran
Syntaxe:
Ecrire (variable,expression, " message " )
è Avant de Lire une variable, il est très fortement conseillé d’écrire
des messages à l’écran, afin de prévenir l’utilisateur de ce qu’il doit
saisir comme donné (sinon, l’utilisateur passe son temps à se
demander ce que le programme attend de lui)
45
Exercice 1.5
Ecrire un algorithme qui demande un nombre à l’utilisateur, puis
qui calcule et affiche le carré de ce nombre.
Corrigé
Algorithme calcul_carre
Variables: nb,carre : Réel
Début
Ecrire( " Veuillez saisir un nombre ")
Lire ( nb)
carre ← nb* nb
Ecrire( " le carré de ", nb, " est : ", carre )
Fin