0% ont trouvé ce document utile (0 vote)
18 vues37 pages

Chapitre 2

Ce document présente les bases de l'algorithmique, en se concentrant sur les structures élémentaires, les variables, les constantes et les types de données. Il décrit la structure d'un algorithme, les types de données courants, ainsi que les instructions élémentaires et leur utilisation. Des exemples pratiques et des exercices sont également fournis pour illustrer les concepts abordés.

Transféré par

kfb94cmybr
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)
18 vues37 pages

Chapitre 2

Ce document présente les bases de l'algorithmique, en se concentrant sur les structures élémentaires, les variables, les constantes et les types de données. Il décrit la structure d'un algorithme, les types de données courants, ainsi que les instructions élémentaires et leur utilisation. Des exemples pratiques et des exercices sont également fournis pour illustrer les concepts abordés.

Transféré par

kfb94cmybr
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

Cours: Algorithmique I

Lahmeri Nada
[Link]@[Link]

Université Libre de Tunis


Groupe Bouabdelli
Département Informatique

Niveau : 1ère année Ingénieur


Semestre : I

Année universitaire : 2019 – 2020


1
CHAPITRE 2:
LES STRUCTURES
ÉLÉMENTAIRES

•Structure d’un algorithme


•Les variables, les constantes
•Les types de données
•Les instructions élémentaires

2
Structure d’un algorithme
Un algorithme se compose :
1. d’une en-tête qui précise
 le nom attribué à l’algorithme
 les données de l’algorithme
 les résultats fournis par l’algorithme
2. d’un corps délimité par les mots clés : Début
et Fin, formé par une suite ordonnée
d’actions

Par convention les mots clés sont soulignés.


3
Structure de l’algorithme

Type : [ types de données ]

4
Les variables
 Dans un programme, une variable est un
identificateur qui sert à stocker une valeur
donnée.
◦ Physiquement, elle correspond à un
emplacement de la mémoire centrale, repéré par
une adresse binaire.
◦ Sa valeur varie ou change.
 Elle possède deux attributs :
◦ un nom qui sert à la désigner,
◦ un type qui décrit l'utilisation possible de cette
variable.
5
Les variables
 La lisibilité des programmes dépend
étroitement du choix des noms des variables,
qui doivent être simples et significatifs.
◦ Ex: tel est plus significatif que x pour désigner le
numéro de téléphone
 Le nom d’une variable est formé d’une ou
de plusieurs lettres alphanumérique:
◦ Commence toujours par une lettre alphabétique
◦ Comprend des chiffres
 Nom incorrect : 1erProg, calcul salaire,
 Nom correct : qte, P, f91

6
Déclaration des variables
 Les variables doivent faire l'objet d'une déclaration
de type de la forme:
Var

Exemples
Syntaxe

Var
identificateur :TypeDeDonnée compteur : entier
var1, var2, var3 : type
X,Y, Z : entier

7
Les constantes
Contrairement aux variables, il s’agit d’un
objet de valeur fixe ou invariable.
Sa valeur reste inchangée durant
l’exécution du programme
Elle est décrite par son nom et sa valeur.
◦Exemples : 5 constante entière; 4.13 constante
réelle; ‘c’ constante caractère
Const
Exemples
Syntaxe

Const Pi = 3,14
nom_constante = valeur
g = 9.8
8
La notion de type
 A chaque variable utilisée dans
l’algorithme, il faut lui associer un type de
données qui lui permet de définir:
 L’ensemble des valeurs que peut prendre la
variable
 L’ensemble des opérations qu’on peut lui
appliquer

9
Les types de données
 Les plus courants en algorithmique :
1. numérique : Entier et Réel
2. alphanumérique : Caractère, Chaîne de
caractères
3. booléen : Booléen
Type Exemple
Entier 12; 657; -78; +17
Réel 12.5; 46.25; -0.5; +150.76
Caractère “a”; “A” ; “1”
Chaine de caractères "Bonjour"
Booléen vrai; faux

10
Type Entier
 Domaine des valeurs
◦ Les valeurs forment un sous-ensemble de l'ensemble
des nombres entiers relatifs appartenant à Z.
 Ex : 14 ; 29;-109;-3220; 0; 23767;..
◦ Les valeurs varient selon le langage de programmation
(nombre de bits réservé pour une variable)
 Opérations sur les entiers Exemples
Opération Opérateur
Addition + 13 div 5 = 2
Soustraction - 13 mod 5 = 3
Multiplication *
Division entière Div
Modulo (reste de la division) Mod 11
Type Réel
 Domaine des valeurs :
◦ un sous-ensemble de l'ensemble des nombres
réels IR.
◦ Deux formes de représentation:
 Avec le point comme symbole décimal : 1.28; 36.14;-
902.15; 14.10^-5 ; 3.10^6
 Notation scientifique aEb où a est la mantisse et b est
l’exposant: ….. = 3.47E+2 = 0.347E+3 = 3470E-1=..
 Opérations sur le réel
Addition +
Soustraction -
Multiplication *
[Link]@topnet.t 12
Division réelle / 12
Les fonctions arithmétiques standards
La fonction Le rôle Exemples
Tronc (X) Supprime la partie décimale et ne Tronc (7.23) = 7
laisse que la composante entière de X Tronc (12.0) =12
Arrondi (X) Renvoie une valeur arrondie de X Arrondi (7.478) =7
Arrondi (7.5) = 8
ABS (X ) Donne la valeur absolue de X Abs (-25) = 25
Abs (2.3) =2.3
Carré (X) Donne le carré de X Carre (4) = 16
Carre (2.5) = 6.75
Racine carré(X) Donne la racine carrée de X si X est Racine carré (16) = 4
positif sinon provoque une erreur
Sin (X) Donne le sinus de x en radian Sin (PI/6) = 0.5
Sin (PI) =0
Cos (X) Donne le cosinus de x en radian Cos (PI/6) = 0.86
Exp( X ) Donne l’exponentielle de X Exp (0) = 1.000
Successeur (X) Donne la valeur suivante de X Successeur (5) = 6
[Link]@[Link] 13
Prédécesseur (X) Donne la valeur précédente9/d13e/20X
13 prédécesseur (5) = 4 13
Exemple

14
Type booléen
 Domaine des valeurs :
◦ Ne peut prendre que les deux valeurs
logiques Vrai ou faux
◦ Intervient dans l’évaluation d’une expression
 Les opérateurs logiques :
◦ La négation NON
◦ L’intersection ET
◦ L’union OU

15
Opérateurs logiques

16
Exercice
 Pour a = 1, b = 2 et c = 3 évaluez les
expressions suivantes :

 (b > 8) ou (c < 1) ? (b > 0) ou (c > 1) ?


 (b > 9) ou (c > 1) ? (b > a) et (c > b) ?
 (b > a) et (c < 0) ? non (c < a) ?
 non ((b > a) et (c > b)) ?
 ((b > a) et (c > b)) ou (a < 0) ?

17
Type caractère
 Domaine de valeurs
◦ Les caractères alphabétiques : majuscules ["A".."Z"]
et minuscules ["a".."z"]
◦ Les chiffres ["0".."9"]
◦ Les caractères spéciaux : ")" "]" "?" "!" "*" "+" "." ..
◦ Les caractères de contrôle : <Entrée>; <Echap>;…

 Il existe deux types de caractères


1. non imprimables: Il s'agit des caractères de
contrôle du système telle que: Entrée, Echap
2. imprimables: Il s'agit des lettres alphabétiques,
des symboles de ponctuation, des chiffres,...etc.

18
Type caractère
◦ Une variable de type caractère ne peut contenir qu’un seul
caractère à la fois et représentée entre " "
◦ Le caractère espace est un caractère noté " "
◦ Chaque caractère admet un code ASCII
 Opérateurs applicables sur les caractères:
Opération Opérateur
Égal =
Différent  Exemples :
Inférieur < "A" > "B" Faux
Inférieur ou égal  "A" < "B" Vrai
Supérieur >
Supérieur ou égal 
19
Table ASCII

20
Fonctions prédéfinies sur les
caractères
La fonction Rôle Exemples

Chr(x) Renvoie le caractère dont le Chr (65)  "A"


code ASCII est X Chr (48)  "0"

Ord(c) Renvoie le code ASCII du Ord (A)  65


caractère C.
Pred(c) Renvoie le caractère qui Pred("b") = "a"
précède le caractère C.
Succ(c) Renvoie le caractère qui Pred("a") = "b"
succède le caractère C.
Majus (c) Renvoie un caractère Majus ("a ") "A"
correspond à la conversion en Majus ("B") "B"
majuscule de C 21
D’autres types de données
 Le programmeur peut définir lui-même de nouveaux
types de données en fonction de ses besoins.
 Exemple : type énuméré qui est un type dont les
variables associées n’auront qu’un nombre limité de
valeurs
Type
Tnote = 0..20
Tsemaine = (Dimanche, Lundi, Mardi, Mercredi, Jeudi,
Vendredi, Samedi)
Tsaison = ("A", "H" ,"P", "E" )
Var
n :Tnote
se :Tsemaine
s:Tsaison 22
Les fonctions prédéfinis sur les
types énumérés
La fonction Le rôle Exemples
Succ(exp_type_énuméré) Fournit le successeur de la Succ (Lundi) donne
valeur donnée (erreur si cette Mardi
expression désigne la dernière
valeur énumérée)
Pred(exp_type_énuméré) Fournit le predecesseur de la Pred (Mardi) donne
valeur donnée (erreur si cette Lundi
expression désigne la première
valeur énumérée)
Ord (exp_type_énuméré) Fournit le numéro d’ordre de la Ord ( Dimanche)
valeur donnée par donne 0
exp_type_énuméré Ord (Mardi) donne
2

23
Une expression
Une expression un ensemble de valeurs
d’une combinaison d’opérandes : constante,
variable et d’opérateurs (arithmétique,
relationnel, logique) et équivalente à une
seule valeur.
 Exemple d’expressions de type numérique :
◦ A  (2+3)/2

24
Les expressions arithmétiques

+ : l’addition ;
n;
– : la soustraction ;
* : la multiplicatio
/ : la division ;
^ : la puissance
• La multiplication et la division ont naturellement
la priorité sur l’addition et la soustraction.
• On peut utiliser les parenthèses pour forcer la
priorité.
• Si la priorité est la même alors l’ordre de lecture
de gauche à droite
25
Ordre de priorité
 Opérateurs arithmétiques Opérateurs relationnels
Priorité Opérateur
Priorité Opérateur
1 - Signe négatif
1 >
2 ( ) les paranthèses
2 >=
3 ^ la puissance
4 * et / multiplication et division 3 <

5 + et – addition et soustraction 4 =<


5 =
6 
 Opérateurs logiques
Priorité Opérateur
1 NON négation
2 ET intersection
3 OU union

26
Les instructions élémentaires
 Un algorithme comporte 2 types d'instructions :
◦ Les instructions élémentaires : permettent de manipuler
des variables : affectation, saisie et affichage.
◦ Les instructions de structuration du programme :
permettent de préciser comment doivent s'enchaîner
chronologiquement les instructions élémentaires. On
trouve trois types de structures :
 L'enchaînement
 Les structures conditionnelles ou de choix
 Les structures itératives ou de répétition

27
Instruction d’affectation
 Affecter ou attribuer une valeur à la variable, de même
type Variable  Valeur ou Expression
Ex:NB  A+B // détermine la valeur de l'expression (a+3) et la range dans b, sans
modifier la valeur de a

Algorithme essai
var
x,y,a,b,c : réel
début
a1 affectation
La trace d’exécution a b c x
b2
c3 1 2 3 -
x  a+b*c
x  a+b*c 1 2 3 7
x  a*b+c
x  a+c/b
x  c/(a+b) x  a*b+c 1 2 3 5
yx
fin 9/13/2013a+c/b 1 2
x  [Link]@[Link] 3 2.5
27
28
Exercice
 Déterminer les valeurs des variables A, B
et C après exécution des instructions
suivantes (les blocs sont indépendants) :

29
L’affectation – ordre
L’ordre des instructions joue un rôle essentiel dans le
résultat final
Exemple 1 Exemple 2

Algorithme test Algorithme test


Var :A : entier Var :A : entier
Début Début
A  34 A  12
A  12 A  34
Fin Fin
◦ A la fin de l’algorithme, ◦ A la fin de l’algorithme,
la variable A est égale la variable A est égale
à 12. à 34. 30
Possibilité d’affectation
1. Affecter à une variable la valeur d’une autre
variable
2. Affecter à une variable le résultat d’une
opération en fonction d’autres variables.
Ex:
[Link]
Algorithme essai
var
x,y, z : entier
début
x1
zx
yz+6
fin 30
31
Opération de sortie
Instruction d’écriture
 Ecrit sur un périphérique les valeurs
d'une ou de plusieurs variables.
La communication : Programme  Utilisateur
écrire a //Afficher la valeur de a sur le périphérique.
écrire a, b //Afficher les valeurs de a et b dans cet ordre.

Exemple : Algorithme essai


var
x,y : entier
début
x2
y5
écrire x,y
fin 31
32
Opération de sortie
instruction d’écriture
 Le texte à afficher doit être mis entre guillemets.
◦ Ecrire ("< texte>")
 Affichage du contenu d’une variable :
◦ Ecrire ( < variable>)
 Affichage Mixte : on sépare les éléments à afficher par
des virgules.
◦ Ecrire ("< texte>", < variable>, ….)
 Exemple
◦ Affichage du message calcul de la surface
Ecrire ("calcul de la surface")
◦ Affichage de la valeur de la variable S
Ecrire (S)
◦ Affichage Mixte
Ecrire ("Pour une longueur ", Long, "et une largeur ",
Large, "la surface est égale", S) 33
Exemple

Algorithme calcul
Var :
x : entier
r: réel
a : caractère
b : booléen
Début
// Ajouter instructions initialisation ici
écrire("La valeur de x est : ", x)
écrire("La valeur de r est : ", r)
écrire("La valeur de c est : ", c)
écrire("La valeur de b est : ", b)
Fin

34
Opération d’entrée
Instruction de lecture
 Permet de fournir des valeurs au programme.
La communication : Utilisateur  Programme
lire a // recevoir une valeur sur le périphérique (ex: clavier) et
la ranger dans variable a.
lire x,y //prendre deux valeurs sur le périphériques et les ranger
dans x et y dans cet ordre. [Link]@[Link]
carré 34

var
n, carre : entier
début
écrire "Donnez un nombre:"
lire n
carre  n*n
écrire ("Voici son carré :", carre)
fin
35
Exemples
Algorithme calculSurface_1
Const : longueur = 3, largeur = 5
Var : surface : réel
Exemple 1
Début
Surface longueur *largeur
Écrire (" la surface du rectangle est: ", surface)
Fin

Algorithme calculSurface_1
Var : longueur, largeur, surface : réel
Début
Écrire " donner la longueur:"
Exemple 2

Lire (longeur)
Écrire " donner la largeur:"
Lire (largeur)
Surface longueur *largeur
Écrire (" la surface du rectangle est: ", surface)
fin 36
Problème = Calculer l'intérêt et la valeur acquise par
une somme placée pendant un an à intérêt simple

ANALYSE : L'énoncé du problème indique


◦ Données : deux nombres représentant :
Résolution d’un problème

 la valeur de la somme placée


 le taux d'intérêt
◦ Résultats désirés : deux nombres représentant :
 l'intérêt fourni par la somme placée
 la valeur obtenue après placement d'un an.
◦ Traitement
-Pour obtenir l'intérêt fourni par la somme, il
suffit de multiplier la somme par le taux d'intérêt
divisé par cent;
- la valeur acquise s'obtient en additionnant ce
dernier montant et la somme initiale 37

Vous aimerez peut-être aussi