Vous êtes sur la page 1sur 23

Université Cheikh Anta Diop de DAKAR

Faculté des Sciences et technique


Département Mathématique et Informatique

Chapitre 2 – CONCEPTS DE BASE DE


L'ALGORITHMIQUE
Cours d’algorithmique et programmation en
LANGAGE C
L1BCGS
2021-2022

1 FST DMI L1BCGS 2021-2022


Notions de variable et de constante
— Les variables
— Données manipulées par le programme lors de son exécution.
— Elles correspondent à des emplacements situés dans la mémoire vive
de l’ordinateur
— Permettent de stocker des valeurs.
— Une variable est caractérisée par:
— Son identifiant : nom de la variable
— L’endroit où elle se trouve en mémoire : adresse,
— La nature de l’information (nombre, caractère, …) : son type
— Son contenu : sa valeur.
— La valeur d’une variable peut être modifiée durant
l'exécution du programme.
— Constante
— Une constante est, comme une variable, a un emplacement
mémoire mais sa valeur ne peut pas changer au cours de l'exécution
du programme.
2 FST DMI L1BCGS 2021-2022
Types de données de base

— En algorithmique, on distingue 5 types de base:


— Caractère (lettre, chiffre, ponctuation, espace, retour
chariot,… et plus généralement toutes les touches que l'on
peut trouver sur une machine à écrire)
— Chaîne de caractères (suite de 0 ou plusieurs caractères)
— Entier (les nombres entiers positifs ou négatifs)
— Réel (les nombres réels positifs ou négatifs)
— Booléen (les variables booléennes n’ont que deux valeurs
possibles: soit VRAI, soit FAUX)

3 FST DMI L1BCGS 2021-2022


Structure générale d’un algorithme

Algorithme nom de l’algorithme


Type
Définition de types
Constante
Déclaration de constantes
Variable
Déclaration de variables

Définition de sous-programmes
Début
instructions du programme
Fin

4 FST DMI L1BCGS 2021-2022


Structure générale d’un algorithme
— Un algorithme commence par le mot Algorithme suivi de son
identificateur (le nom du programme).
— Ensuite viennent la définition de types annoncée par le mot Type,
la déclaration de constantes, annoncée par le mot Constante puis
celle de variables, annoncée par le mot Variable et la définition
de sous programmes.
— Le corps du programme commence par Début et se termine par
Fin.
— On peut insérer des commentaires, soit entre les balises /* */,
soit après // jusqu'à la fin de la ligne.
— Remarque:
Les types de base font partie du langage et n'ont pas à être
définis par le programmeur.

5 FST DMI L1BCGS 2021-2022


Déclaration des variables et des
constantes
— Déclaration d'une variable
— Toute variable doit être déclarée avant sa première
utilisation.
— La déclaration d’une variable consiste à la réservation d’un
emplacement mémoire, auquel on donne un nom unique
appelé identificateur et par lequel on peut accéder à sa
valeur.
— La syntaxe de déclaration d’une variable est:
— identificateur : type
— Exemple a : entier
x, y, z: entier

6 FST DMI L1BCGS 2021-2022


Déclaration des variables et des
constantes
— Déclaration d'une constante

— La déclaration d’une constante est toujours associée à son


initialisation (première valeur).
La syntaxe de déclaration d’une constante est:

identificateur = valeur

Exemple

MAX = 32767

7 FST DMI L1BCGS 2021-2022


Les opérations de l’algorithmique

8 FST DMI L1BCGS 2021-2022


Les opérations de l’algorithmique
— Pour les entiers, la division est notée div. Elle est nommée division entière et ne
donne que le chiffre avant la virgule du résultat (elle renvoie un entier).
— Les entiers supportent une opération supplémentaire appelée modulo, notée
mod et qui renvoie le reste de la division entière.
— Exemple:
— 7 div 2 donne 3
— 7 mod 2 donne 1

— Une valeur de type caractère doit être ente apostrophes (sinon le compilateur
pourrait le confondre avec un nom de variable).
— Une valeur de type chaîne doit être entre guillemets (sinon le compilateur pourrait
le confondre avec un nom de variable).
— Les caractères sont comparés selon l’ordre du code ASCII. C’est ainsi qu’on
peut comparer tous les caractères entre eux. Par exemple le caractère 'Z'
(majuscule), de code ASCII 90 est inférieure au caractère 'a' (minuscule) de code
ASCII 97.

9 FST DMI L1BCGS 2021-2022


Les opérations de l’algorithmique
— Soit la variable c de type caractère:
— succ(c) permet d’obtenir le caractère qui suit le caractère c selon le code ASCII
— pred(c) permet d’obtenir le caractère qui précède le caractère c selon le code
ASCII
— ord(c) permet d’obtenir code ASCII du caractère c.
— car(n) permet d’obtenir le caractère correspondant au code ASCII n.
— Par exemple :
— ord(‘A’) vaut 65
— succ(‘A’) vaut ‘B’
— pred(‘A’) vaut @
— car(65) donne ‘A’
— Pour le type chaîne, L’opérateur + sert à concaténer des chaînes de caractère, ce
qui signifie transformer plusieurs chaînes en une seule en les ajoutant les unes à la
suite des autres.
— Exemples :
— ‘’Bonjour ‘’ + ‘’à tous ‘’ donne ‘’Bonjour à tous ‘’
— longueur(‘’Bonjour’’) donne le nombre de caractères de la chaîne
‘’Bonjour’’, c’est à dire 7.
10 FST DMI L1BCGS 2021-2022
Opération sur les booléennes
— Pour le type booléen, les deux seules valeurs possibles sont
Vrai et FAUX. Les opérateurs de base ET, OU, NON sont
définies par la table de vérité suivante (étant données deux
variables A et B de type booléen) :

11 FST DMI L1BCGS 2021-2022


Les expressions
— Une expression est:
— soit une variable ou une constante,
— soit une valeur littérale (écrite telle qu'elle dans le programme,
par exemple : "bonjour", 45),
— soit une combinaison de variables, de constantes, de valeurs
littérales et d'opérateurs, par exemple : 2 * r * 3.14)
— Elle est évaluée durant l’exécution du programme, et
possède une valeur (son évaluation) et un type.
— Par exemple: Supposons que rayon soit une variable de valeur
5. Alors l'expression 2 * rayon * 3.14 vaut 31.4

12 FST DMI L1BCGS 2021-2022


Les expressions conditionnelles
— Une expression conditionnelle (ou expression logique, ou
expression booléenne ou condition) est une expression dont la
valeur est soit VRAI soit FAUX. On peut donc affecter une
expression conditionnelle à une variable booléenne. Il existe
plusieurs types d’expressions conditionnelles.
— Les conditions simples
— Une condition simple est une comparaison de deux
expressions de même type.
— Exemples
— a<0
— op = =‘s’
— (a + b - 3) * c = = (5 * y –2) / 3

13 FST DMI L1BCGS 2021-2022


Les expressions
— Les conditions complexes: Les conditions (ou
expressions conditionnelles) peuvent aussi être complexes,
c'est à dire formées de plusieurs conditions simples ou
variables booléennes reliées entre elles par les opérateurs
logiques ET, OU, NON.
— Exemples
(a < 0) ET (b < 0)
( (a +3 = = b) ET (c < 0) ) OU ( (a = = c *2) ET (b!= c) )

14 FST DMI L1BCGS 2021-2022


Les expressions
— Une condition composée de deux conditions simples reliées par ET est
vraie si les deux conditions sont vraies.
— (a < 0 ) ET (b < 0) est vraie si a < 0 est vraie et si b < 0 est vraie

— Une condition composée de deux conditions simples séparées par OU


est vraie si au moins l'une des conditions simples est vraie.
— (a <0) OU (b < 0) est vraie si a < 0 ou si b < 0 ou si a et b sont
négatifs.
— Une condition précédée par NON est vraie si la condition simple est
fausse et inversement.
— NON (a < 0) est vraie si a >=0

— L'usage des parenthèses permet de régler d'éventuels problèmes de


priorité des opérateurs logiques.

15 FST DMI L1BCGS 2021-2022


Les instructions de base
— Les instructions élémentaires les plus
courantes sont :
— l'affectation: le fait de donner une valeur
à une variable
— la lecture au clavier
— l'écriture à l'écran

16 FST DMI L1BCGS 2021-2022


L’affectation
— L’affectation consiste à mettre une valeur dans une variable (ce qui
revient à changer le contenu de cette variable). La nouvelle valeur est
évaluée à partir d'une expression.
— En algorithmique, pour représenter l’opération d’affectation, on va
utiliser le symbole =
— Les instructions d’affectation sont formées de deux parties :
— A gauche du symbole =, on trouve toujours le nom d’une variable
destinée à recevoir une valeur.
— A droite, on trouve l’expression qui va donner la valeur qu’on veut
affecter à la variable en question.
— L’instruction d’affectation agit en deux temps :
— d’abord elle détermine la valeur de l’expression située à droite du
symbole =
— puis elle range le résultat dans la variable située à gauche.

17 FST DMI L1BCGS 2021-2022


L’affectation
Remarques
— On ne peut affecter de valeur qu’à une variable. Il est
impossible d’affecter une valeur à une expression. Ainsi, par
exemple, l’instruction a + 5 = b n’a pas de sens
— Il est possible de retrouver la même variable à droite et à
gauche de l’expression. Ainsi, par exemple, l’instruction a
= a + 3 a un sens en programmation. Cela signifie que l’on
évalue a + 3 avec l'ancienne valeur de a et qu’on range le
résultat dans a. La valeur de a sera donc augmentée de 3 par
cette opération.

18 FST DMI L1BCGS 2021-2022


La Lecture
— L’instruction de lecture permet au programme de lire des
données entrées au clavier par l'utilisateur. Cette instruction
affecte les valeurs entrées au clavier à des variables du
programme..
— Syntaxe
— Lire(variable1 , variable2, …)
Exemples
— Lire(x)
— Cette instruction lit la valeur entrée au clavier et l'affecte à la
variable x
— Lire(x, y)
— Cette instruction lit la première valeur entrée au clavier et
l'affecte à x, puis lit la deuxième valeur et l'affecte à y
19 FST DMI L1BCGS 2021-2022
L'écriture

— L'instruction d'écriture permet d'afficher des expressions à


l'écran.
— Syntaxe
— Ecrire(expression1, expression2, ...)

— Exemples
— Ecrire(ch)
— Cette instruction permet d'afficher la valeur de la variable ch à l'écran
Si ch est une chaîne qui vaut "toto", cette instruction affichera toto à
l'écran
— Ecrire("Bonjour!")
o Celle-ci permet d'afficher la chaîne littérale Bonjour! à l'écran

20 FST DMI L1BCGS 2021-2022


Exemple 1 : Algorithme Addition de deux entier
Algorithme AdditionEntier

Variables
a , b, resultat: entier

Début
Ecrire(²Donnez la premiere valeur ²)
Lire(a)
Ecrire(² Donnez la deuxieme valeur ²)
Lire(b)
resultat =a+b
Ecrire (² la somme de ² ,a, ²et de ² ,b , ²donne ² ,resultat)
Fin

21 FST DMI L1BCGS 2021-2022


Exemple 2 : Algorithme salutation
Algorithme AfficheSalutation

Variable
nom, salutation :chaine de caractere // Déclaration de variables

Début

Écrire ("Quel est votre nom ?" ) // Affichage d'une chaîne

Lire (nom) // Lecture d'une valeur

salutation = "Bonjour " + nom ; // Affectation

Écrire (salutation) // Affichage d'une chaîne

Fin

22 FST DMI L1BCGS 2021-2022


FIN
23 FST DMI L1BCGS 2021-2022

Vous aimerez peut-être aussi