Filière Génie électrique
Module 5-E2: Informatique
Algorithmes & Langage C
Doctorant: Hamza HAMOUT
Année Universitaire 2019/2020
Avant de commencer
Pourquoi L’informatique ?
• Qu’est-ce qu’un algorithme ?
Un algorithme est une suite logique d’instructions permettant
de résoudre un problème (ou de répondre à un besoin).
Qu’est ce que veut dire « écrire un algorithme »
- Analyser et comprendre le problème : étude des données
fournies et des résultats attendus.
- Résoudre le problème :
C’est trouver les structures de données adaptées ainsi que
l’enchaînement des actions à réaliser pour passer des
données aux résultats.
Données d’entrée Données de sortie
Résultat du problème
Algorithme
Enoncé d’un problème
Analyse, compréhension
Pseudo code
Résolution
Algorithme
Langage de
Codification programmation
(code)
Programme
Interprétation
Exécution par l’ordinateur
Langage machine
Le nom doit être
Algorithme: nom de l’algorithme significatif, il
indique de quoi il
s’agit
Variable: Déclaration des variables et constante
Constantes:
Déclaration des
Début Variables, se sont les
*commentaires* données d’entrée
d’algorithme.
Instruction 1
*commentaires*
Instruction 2 Le corps de
l’algorithme
Fin
• Les variables
Une variable est un objet contenant une valeur et elle est
caractérisée par un type. La valeur de cet objet peut à être
modifiée au cours de l'algorithme.
• Comment déclaré une variable en algorithme ?
Nom_Variable: Type
• Qu’ils sont les types possible pour une variable?
1. Entier: les valeurs relatives n є Z (exemple: -1, 0, 100).
2. Réel: les valeurs réels x є IR (0.12, 10.46, -13.5).
3. Chaine de caractères: ‘’AC’’, ‘’1B’’, ‘’D’’, ‘’A_#&1’’.
4. Caractère : ‘A’, ‘1’, ‘_’.
5. Booléen: support deux valeurs vrai (ou bien 1) faux (ou bien 0).
• Les constates:
Des variable dont la valeur est connu et fixe.
• Comment déclaré une constante en algorithme ?
Nom_Variable= Valeur
• Exemple:
1. Pi= 3.14;
2. Vitesse_voiture= 60;
3. …..
Algorithme: diffèrent type de déclaration variables
Variables:
nom : chaîne de caractères;
nb : Entier;
typePermis : caractère;
prx, mtt, rem : Réel;
verite : Booléen;
Constantes:
Txrem=0.1, pi=3.14;
Début
Fin
• Affectation
L'opération consiste à affecter une valeur à une
variable. Elle est représentée par une flèche orientée à
gauche.
• A 1; ====> A vaut 1
• B 3; ====> B vaut 3
• C A+B; ====> C vaut 4
• A A+3; ====> A vaut 4
• Les Operations Mathématiques:
Des opérations sur les variables, constantes peuvent être
réalisées à l'aide d'opérateurs arithmétiques ou logiques
pour former des expressions.
Opération Operateurs Exemple
Addition + A+1
Soustraction - B-A
Multiplication * A*C
Division / A/C
Le reste de la division % A%2
Fonction mathématique sin(), cos(), exp(), ln(), tan() sin(A), cos(3.14), exp(A/B),…
Algorithme: Exercice 2
Algorithme: Exercice 1 Variable A, B, C: Entier
Variable A, B: Entier Début:
Début: A <- 3;
A <- 1; B <- 10;
B <- A+3; C <- A + B;
A <- 3; B <- B + A;
Fin A <- C;
Fin
Algorithme: Exercice 3 Algorithme: Exercice 4
Variable Variable
A, B, C: Entier A, B, C: Entier
D: réel D: caractère
Constate: pi=3.14; Début:
Début: D <- ‘B’;
A <- cos(2*pi); C <- 5;
B <- A/2; B <- C*10;
B <- A + B; C <- B*C;
C <- sin(A*pi); Fin
C <- 0;
Fin
• Instruction d'entrée:
Une instruction d'entrée permet de récupérer une valeur sur un
périphérique d'entrée (principalement le clavier).
Notation : Saisir (variable); ou bien Lire(variable);
• Instruction de sortie :
Permet d'afficher à l'écran du "texte", le contenu d'un objet
(variable ou constante) voir le résultat d'une expression.
Notation : Afficher(variable); ou bien Ecrire(variable);
• Instruction d'entrée/sortie:
Algorithme: exemple 1 Algorithme: exemple 2
Variable A, B, C: Entier Variable A, B, C: Entier
Début: Début:
Lire(A); Ecrire(‘’Entrez la valeur de A, B et C’’);
Lire(B, C); Lire(A, B, C);
A <- B; A <- B*C;
B <- A; B <- C;
C <- A + B; C <- A + B;
Ecrire(‘’A=‘’,A, ’’B=‘’,B,’’C=‘’,C); B <- B + A;
Fin A <- C;
Ecrire(‘’A=‘’,A, ’’B=‘’,B,’’C=‘’,C);
Fin
Exercice 1:
Ecrire un algorithme qui permet de lire vote nom, prenom et
age. Afficher les données entrées
Exercice 2:
Ecrire un algorithme qui demande un nombre, puis qui calcule
et affiche le carré de ce nombre.
Exercice 3:
Ecrire un algorithme qui demande le rayon d’un cercle, puis
qui calcule et affiche la surface et le périmètre de ce cercle.
• Les structures alternatives et conditionnelles
Permet d’exécuter une instruction ou bien plusieurs instructions
suivant une condition ou bien une série de conditions.
Notation 1: Notation 2:
Si (Condition) alors Si (Condition) alors
Instruction 1; Instruction 1;
Instruction 2; Instruction 2;
……. …….
FinSi Sinon
Instruction 3;
…….
FinSi
Notation 3:
Si (Condition_1) alors
Instruction 1;
…….
Sinon Si (Condition_2) alors
Instruction 2;
…….
Sinon Si(Condition_3) alors
Instruction 3;
…….
Sinon Instruction 4;
……………
FinSi
FinSi
FinSi
• Les Operateurs Logiques:
Comparaison Operateurs Exemple
= Egale à A=B
> Supérieur à A>B
< Inferieur à A<B
>= Supérieur ou égale à A >= B
<= Inferieur ou égale à A <= B
<> Diffèrent de A <> B
ET L’un et l’autre A=B ET A<>0
OU L’un ou l’autre A=B OU A<>0
NON Négation de NON (A=B)
Algorithme: Exercice 1
Variable A, B, C: Entier
Début:
A <- 3;
B <- 7;
B <- A + 5;
C <- A + B;
C <- B – A;
Si ( C > 10) alors
A <- B;
Sinon A <- 5;
FinSi
Ecrire(‘’A=‘’,A,’’B=‘’,B,’’C=‘’,C);
Fin
Algorithme: Exercice 2
Variable A, B, C: Entier
Début:
A <- 3;
B <- 7;
C <- A + 3;
Si ( C > 10 ET B < 5) alors
A <- B;
Sinon Si (A <> 0 OU B = A) alors
C <- A;
FinSi
FinSi
Ecrire(‘’A=‘’,A,’’B=‘’,B,’’C=‘’,C);
Fin
Exercice 1:
Ecrire un algorithme qui permet tester si un entier saisie au
clavier est pair ou impair.
Exercice 2:
Ecrire un algorithme qui demande deux nombres, puis affiche
le maximum.
Exercice 3:
Ecrire un algorithme qui demande l'âge d’une personne et
l’informe ensuite si elle est majore ou bien minore.
Comment faire pour Afficher
‘’Bonjours’’ 10000 fois ??
La structure Pour Permet de répéter un nombre déterminé
de fois une (ou plusieurs) action(s).
Notation:
Pour (i <- 0; i < N; i <- i+1) Permet de compter le
inst_1; nombre d’itération
inst_2; des instructions
……;
FinPour Lorsque le nombre voulu
inst_3; de répétition est atteint,
inst_4; l'algorithme se poursuit
…….; après la boucle
En Général: Pour répété une instruction N fois
1 2 4
Pour (i <- 0; i <= N; i <- i+1)
inst_1; 3
inst_2;
……;
FinPour
Exercice 1:
Ecrire un algorithme qui permet d’afficher ‘’Bonjour’’ 100 fois.
Exercice 2:
Ecrire un algorithme qui permet d’afficher 1 jusqu’à 100.
Exercice 3:
Ecrire un algorithme qui permet d’afficher 100 jusqu’à 1.
La structure TantQue… FinTantQue Permet la répétition
d'une (ou plusieurs) action(s) tant qu'une condition est
satisfaite.
Notation: *Un nombre déterminé des
TantQue (condition) Faire itérations ( la boucle POUR ).
instruction_1; *Un nombre indéterminé
des itérations (suivant le
instruction_2;
condition).
……….
FinTantQue
De la boucle POUR vers la boucle TantQue:
1 2 4 1
i <- 0; 2
Pour (i <- 0; i < N; i <- i+1)
TantQue (i < N) faire
inst_1; 3
inst_1; 3
inst_2;
inst_2;
……;
……;
FinPour
i <- i+1; 4
FinTantQUe
Exercice 1:
Ecrire un algorithme qui permet d’afficher ‘’Bonjour’’ 100 fois.
Exercice 2:
Ecrire un algorithme qui permet d’afficher 1 jusqu’à 100.
Exercice 3:
Ecrire un algorithme qui permet d’afficher 100 jusqu’à 1.
La structure Faire… TantQue Permet la répétition d'une
(ou plusieurs) action(s) tant qu'une condition est
satisfaite.
Notation: Différemment de la boucle
Faire TantQue…FinTantQue, la boucle
Faire...TantQue exécute les
instruction_1; instructions au moins un fois. Soit
instruction_2; la condition vraie ou fausse
……….
TantQue (condition);
Exercice 1:
Ecrire un algorithme qui permet de saisir et afficher une valeur
entre 0 et 100. toutefois, si la valeur saisie par utilisateur n’est
pas compris entre 0 et 100, l’utilisateur est obligé de refaire la
saisie.
Début & Fin Début Fin
Lire() & Ecrire() Lire() Ecrire()
Instruction A <- B;
(les opérations en générale)
Non
Condition
Si(Condition) alors
inst_1 Oui
sinon inst_2; Inst_2
Inst_1
Algorithme: Exercice 2
Variable A, B, C: Entier
Début:
A <- 3;
B <- 7;
C <- A + 3;
Si ( C > 10 ET B < 5) alors
A <- B;
Sinon Si (A <> 0 OU B = A) alors
C <- A;
FinSi
FinSi
Ecrire(‘’A=‘’,A,’’B=‘’,B,’’C=‘’,C);
Fin
i <- 0 1
2
Non
i <- i + 1 i<N
4 Oui
Inst_1
3
Inst_2
……..
Algorithme: Exercice 2
Variable i, x: Entier
Début:
x <- 1;
Pour(i <- 1; i < 10; i <- i+1) faire
Si ( i % 3 = 1) alors
x <- x + i;
i <- i + i;
Sinon Si (i % 2 = 0) alors
x <- x*2;
FinSi
FinSi
FinPour
Ecrire(x);
Fin
BON COURAGE