0% ont trouvé ce document utile (0 vote)
4 vues36 pages

Introduction à l'algorithmique de base

Le document présente les éléments de base de l'algorithmique, incluant les définitions des types de données, des variables, et des opérations d'entrée/sortie. Il aborde également les structures de contrôle, telles que la sélection et la répétition, avec des exemples pratiques en langage C. Enfin, des exercices sont proposés pour renforcer la compréhension des concepts abordés.

Transféré par

Nada En
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues36 pages

Introduction à l'algorithmique de base

Le document présente les éléments de base de l'algorithmique, incluant les définitions des types de données, des variables, et des opérations d'entrée/sortie. Il aborde également les structures de contrôle, telles que la sélection et la répétition, avec des exemples pratiques en langage C. Enfin, des exercices sont proposés pour renforcer la compréhension des concepts abordés.

Transféré par

Nada En
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

{C} Eléments de base d’algorithmique

HAJJI TARIK

Language ENSAM – Meknès


Version – 2021/ 2022
Cours de EL Moukhtar ZEMMOURI
Sommaire

I. Algorithme, c’est quoi ?

II. Notions de base


1. La notion de type

2. La notion de variable

3. Les entrées sorties

III. Structures de contrôle


1. La sélection

2. La répétition

2 ENSAM
Algorithme, c’est quoi ?

3 ENSAM
I - Notions de bases

4 ENSAM
1 - La notion de type
• Définition :
• Un type de données est un ensemble caractérisé par :
• Un nom
• Ensemble de valeurs
• Opérateurs
• En algorithmique, on distingue 4 types de base :
• Les entiers
• Les réels
• Les caractères
• Les booléens
• A partir de ces 4 types on peux définir des types composés :
• Tableaux, matrices, listes, graphes, …

5 ENSAM
Le type entier - int

6 ENSAM
Le type entiers - int
• Remarques :
• Soient a et b deux entiers :
• b divise a ssi a%b = 0
• a est pair ssi a%2 = 0
• a est impair ssi a%b = 1

7 ENSAM
Le type réels - float

8 ENSAM
Le type caractères - char
• Représente l’ensemble des caractères imprimables et non imprimables
• Alphabétiques : 'a', …, 'z' 'A', …, 'Z' espace, tiret bas (underscore)
• Numériques : '0', …, '9'
• Symboles mathématiques et ponctuation
• Retour à la ligne
• Tabulation
• …
• Un caractère est noté entre ' et '
• Exemple : 'A' '1' '@' '\n' '\t'
• Une chaine de caractères est notée entre " et "
• Exemples : "hello" "bonjour tout le monde"

9 ENSAM
Le type booléens
• Le type booléen représente l’ensemble {vrai, faux} muni des
opérateurs logiques suivants: ET, OU, NON
• Opérateurs de comparaison :
• Les opérateurs : < , > , <= , >= , == et != s’appliquent sur les 4 types de bases.
• Le résultat d’une opération de comparaison est toujours booléen

10 ENSAM
Valeurs constantes et types
• N. B. la manière avec laquelle on écrit une constante indique
implicitement son type.
• Exemple :
• '1' est de type caractère (char),
• 1 est de type int
• 1.0 est de type float
• "1" est une chaine de caractères
•  Ces valeurs ne sont pas codées de la même manière sur la
mémoire de l’ordinateur

11 ENSAM
2- La notion de variable
• Définition :
• Une variable est un emplacement mémoire caractérisé par :
• Un nom (identificateur)
• Un type
• Un contenu (une valeur).

valeur nom

12 ENSAM
Déclaration d’une variable
• La déclaration est l’opération qui permet de réserver un espace
mémoire et lui associer un identificateur, un type et éventuellement
une valeur initiale.
• Syntaxe :
nomVar
• type nomVar ;
• type nomVar = valeur ; valeur nomVar

• Exemples :
• int n,i ;
• float a,b,c ;

13 ENSAM
L’affectation
• L’affectation est l’opération qui permet d’attribuer une valeur à une variable.
•  L’affectation permet d’écrire une valeur dans une variable.
•  Modifier le contenu de la variable.
• Syntaxe :
• nomVar = valeur ;
• On distingue trois types d’affectations :
• variable = constante ;
• variable = variable ;
• variable = expression ;
• Exemples :
• int a = 26, b = 15 ;
• r=a%b;
• a=b;
• b=r;

14 ENSAM
3- Les entrées / sorties
• Lecture / Ecriture :
• Les deux opérations lire et écrire permettent à un algorithme de
communiquer avec l’extérieur (l’utilisateur) via des périphériques d’entrées et
de sorties.

lire écrire
Algorithme

15 ENSAM
Les entrées / sorties
• Lecture :
• L’opération lire permet d’affecter une valeur de l’extérieur à une variable (à
travers un périphérique d’entrée : clavier…).
• Syntaxe :
• lire (nomVar) ;
• Exemples :
• lire (n) ;
• lire (a, b) ;

16 ENSAM
Les entrées / sorties
• Ecriture :
• L’opération écrire permet d’afficher un message (chaîne de caractères) ou la
valeur d’une variable (sur un périphérique de sortie : écran …).
• Syntaxe :
• Ecrire ("message") ;
• Ecrire (nomVar) ;
• Exemples :
• Ecrire ("donner la valeur de n") ;
• Lire (n) ;
• …
• Ecrire (n, "est premier") ;

17 ENSAM
4- Structure d’un algorithme
• Exemple :
Début
• Algorithme qui permet de lire deux int a, b, s;
entiers a et b, puis calculer et float moy ;
afficher la somme et la moyenne. écrire ("donner a et b ") ;
lire (a, b) ;
s=a+b;
moy = s / 2.0 ;
écrire("la somme est ", s) ;
écrire("la moyenne est", moy) ;
Fin

18 ENSAM
Exercices
• Exercice 1
• Ecrire un algorithme qui lit un temps en secondes
puis l’affiche en heures, minutes et secondes.
• Exercice 2
• Algorithme pour lire le rayon d’une sphère puis
calculer et afficher sa surface et son volume.
• Exercice 3
• Ecrire un algorithme qui permet de transformer la
valeur d’un angle donnée du (degrés, minutes et
secondes) en radian.
• Exemple : 6° 50’ 10" = 0.119 rand
• Transformation inverse ?
19 ENSAM
II – Structures de contrôle
Les structures de contrôle
• On appelle structure de contrôle toute instruction qui permet de
contrôler l’ordre d’exécution des instructions dans un algorithme.
• En algorithmique, on distingue trois structures de contrôle qui
permettent de construire des algorithmes :
• La séquence
• La sélection (structure conditionnelle)
• La répétition (boucles)
• La séquence :
• Une séquence est un bloc d’instructions qui s’exécutent dans un ordre
séquentiel.

21 ENSAM
1- La sélection
• La structure de sélection permet de choisir les instructions à exécuter
en fonction d’une condition.
•  Elle est utilisé pour l’exécution conditionnelle.
• N.B.
• Une condition est une expression booléenne.
•  expression dont le résultat est vrai ou faux.

22 ENSAM
La sélection

Si (condition) Si (condition)
Bloc d’Instructions 1 Bloc d’Instructions
Sinon Finsi
Bloc d’Instructions 2
Finsi

Faux
Cond Cond
Faux Vrai
Vrai

Instructions 2 Instructions 1
Instructions

23 ENSAM
La sélection
• Exemple :
• Tester si un nombre est pair ou impair
#include <stdio.h>

int main()
Début {
int n;
int n;
printf("donnez un entier :\n");
écrire ("Donnez un entier "); scanf("%d", &n);
lire (n);
if (n%2 == 0){
si (n%2 == 0)
printf("%d est pair\n", n);
ecrire(n, "est pair"); }
sinon else{
printf("%d est impair\n", n);
ecrire(n, "est impair");
}
finsi return 0;
Fin }

24 ENSAM
Exercices

25 ENSAM
2- La répétition
• Une structure de répétition, ou boucle, est une instruction qui permet
de répéter (ré-exécuter) un bloc d’instructions un certain nombre de
fois (en fonction d’une condition).
• On distingue 3 formes de boucles :
• La boucle tantque
• La boucle pour
• La boucle répéter

26 ENSAM
La boucle Tantque - while

Faux
Cond
Tantque (condition)
Instruction 1 Vrai

...
Instructions 1
Instruction N ...
FinTanque Instruction N

• Tant que la condition est vraie exécuter le bloc d’instructions.


• N. B.
• Le nombre de répétitions n’est pas connu à l’avance.
• Le bloc d'instruction peut ne pas être exécuté, si la condition est fausse au début.

27 ENSAM
La boucle Tantque - while

• Exemple :
• Algorithme d’Euclide pour calculer le PGCD de 2 entiers
• Input : deux entiers a et b
• Output : le PGCD(a, b)
• Le PGCD de a et b est égal à b si ce dernier divise a, sinon le PGCD de a
et b est égal au PGCD de b et de r (reste de la division de a par b).

28 ENSAM
La boucle Tantque - while
• Exemple : PGCD
#include <stdio.h>
Début
int main()
int a,b, r;
{
ecrire ("donnez a et b"); int a, b, r;
lire(a,b); printf("donnez deux entiers :\n");
r = a%b; scanf("%d%d", &a, &b);

tantque (r != 0) r = a%b;
a=b ; while(r != 0){
b=r ; a = b;
b = r;
r=a%b ; r = a%b;
fintantque }
ecrire ("le PGCD est ", b) ; printf("Le PGCD est : %d\n", b);
return 0;
Fin }

29 ENSAM
La boucle pour - for

Pour compteur = init à fin faire


compteur = init
Instruction 1
...
Instruction N Compteur Faux
<= fin
FinPour
Vrai

Instructions 1
• Permet de répéter un bloc d'instructions un ...
nombre prédéfini de fois. Instruction N

• N. B.
compteur ++
• Le nombre de répétitions est connu :
• fin - init +1
• Le bloc d'instructions peut ne pas être exécuté, si
fin est inférieur à init.

30 ENSAM
La boucle pour - for

31 ENSAM
La boucle pour - for
• Exemple : somme

Début #include <stdio.h>


int n, i, s;
int main(){
ecrire("donner la valeur de n"); int n, i, s;
lire(n); printf("donnez un entier :\n");
scanf("%d", &n);
s = 0;
s = 0;
pour i=1 à n faire for (i= 1; i<=n; i++){
s = s + i; s = s + i;
finpour }
printf("la somme est %d\n", s);
ecrire ("la somme est : ", s); return 0;
Fin }

32 ENSAM
La boucle pour - for

33 ENSAM
La boucle pour - for
Début
#include <stdio.h>
int n, i;
int a, b, c; int main()
ecrire("donnez la valeur de n : "); {
int n, i;
lire(n);
int a, b, c;
si (n==0 OU n==1) printf("donnez la valeur de n : \n");
ecrire("U", n, " = 1"); scanf("%d", &n);
sinon if (n==0 || n==1) printf("U%d = 1\n", n);
else{
a = 1; a = 1;
b = 1; b = 1;
pour i=2 à n faire for (i=2; i<= n; i++){
c = b + a;
c = b + a; a = b;
a = b; b = c;
b = c; }
printf("U%d = %d\n", n, c);
finpour }
ecrire("U", n, " = ", c); return 0;
finsi }

34 Fin ENSAM
La boucle répéter jusqu’à

Répéter Instructions 1
Instruction 1 ...
... Instruction N
Instruction N
Jusqu’à (condition);
Faux
Cond
Vrai

• Exécuter le bloc d’instructions jusqu’à ce que la condition soit vraie.


• N. B.
• Le nombre de répétitions n’est pas connu à l’avance.
• Le bloc d'instruction est exécuté au moins une fois.

35 ENSAM
La boucle répéter jusqu’à
• Exemple :
• Lire au clavier un note entre 0 et 20 Début
float x;
répéter
#include <stdio.h> ecrire("donner une note : ");
lire(x);
int main() jusqu’à (x>=0 and x<=20);
{
float note; .
do{ .
printf("donnez une notre entre 0 et 20 : \n"); .
scanf("%f", &note);
}while (note < 0 || note > 20);
Fin
...

return 0;
}

36 ENSAM

Vous aimerez peut-être aussi