STRUCTURE DE
BASE D’UN ALGORITHME
1-Définitions
Un algorithme est une suite d’actions
ou d’instructions qui doivent être exécutées dans un ordre bien
déterminé pour résoudre un problème (ou réaliser un travail) en un temps
précis.
L'algorithmique est l’ensemble
des règles et des techniques qui sont impliquées dans la définition et la
conception d'algorithmes.
Le Langage de Définition des Algorithmes
(LDA) est une façon de décrire les algorithmes en langage presque naturel, sans
référence a un langage de programmation particulier.
2-Caractéristiques d’un bon algorithme
Un algorithme doit avoir les propriétés
suivantes :
-clarté :
il doit être facile à comprendre et à interpréter
-précis :
chaque élément de l’algorithme ne doit pas prêter à confusion, il est donc
important de lever toute ambiguïté ;
-structuré :
un algorithme doit être composé de différentes parties facilement
identifiables.
-documenté :
On doit insérer des commentaires qui étayent la compréhension du programme.
-efficacité :
Les opérations doivent être suffisamment simples et s’exécuter le plus
rapidement possible.
3-Importance de l’algorithme.
Un algorithme, traduit dans un langage
compréhensible par l’ordinateur (ou langage de programmation), donne un programme
informatique, qui peut ensuite être exécuté pour effectuer le traitement
souhaité. Donc l’algorithme facilite l’écriture des programmes
informatiques. Si un programme informatique était une dissertation,
l’algorithme devait constituer le plan de cette dissertation.
L’écriture
algorithmique est un travail de programmation à visée « universelle ». En
effet, un algorithme ne dépend pas :
-du langage dans lequel il est
implanté,
-ni
de la machine qui exécutera le programme correspondant.
4-Représentation des algorithmes
On utilise généralement une série de
conventions appelées LDR (Langage de Définition des Algorithmes).
On utilise également des algorigrammes (représentation graphique des
algorithmes).
LES ELEMENTS DE BASE
Les
données sont des informations nécessaires au déroulement d’un algorithme.
Les
constantes
Une
constante est une donnée fixe qui ne
varie pas durant l’exécution d’un algorithme. Une constante est
caractérisée par son nom et sa valeur (fixe).
Les variables
Une variable est un objet dont le contenu
peut être modifié par une action durant l’exécution d’un
algorithme.
Une
variable est caractérisée par son nom, sa valeur et son type :
Exemple : age_du_visiteur =17.
Nom : pour pouvoir reconnaitre la variable
(age_du_visiteur).
Valeur : c'est l'information qu'elle contient, qui peut changer. (17).
Type : entier
Remarques :
1) Le nom
d’une variable doit commencer obligatoirement par une lettre. Il doit être
formé d’une ou de plusieurs lettres, les chiffres sont également autorisés.
Aucun espace ne doit figurer dans le nom d’une variable. Il vaut mieux
remplacer les espaces par la touche (underscore) « _ » du clavier.
De même, il est préférable que le nom donné à une variable soit évocateur de
l’information qu’elle contient.
2) On peut
modifier quand on veut la valeur d’une variable, faire des opérations dessus,
etc.
TYPES DES
DONNEES DE BASE
Les
variables sont capables de stocker différents types d'informations. On parle de
types de données. Voici les
principaux types à connaître
Les types numériques :
Les types
numériques les plus connus sont l’entier et le réel :
·
Le type entier (int) : ce sont les nombres du type 1, 2, 3,
4, etc. On compte aussi parmi eux les nombres relatifs : -1, -2, -3...
Exemple : 42
·
Le type réel :
Le type réel
recouvre un ensemble de nombres réels qui ne correspond pas toujours aux réels
en mathématiques. Il comprend les
nombres décimaux (float) qui sont les nombres à virgule comme 14,738. Le
traitement et l’affichage des données de ce type se font à virgule flottante,
c’est à-dire qu’il est possible de les écrire en déplaçant le point à volonté
et en utilisant une puissance
appropriée dans la base choisie.
Exemple : 235.67= 0.23567.103=23467.10-2
On note aussi
0.23567E3
Le type booléen (bool) :
C'est un type très important qui ne permet de
stocker que deux valeurs, par exemple vrai ou faux (on écrit true pour vrai, et false pour faux) ; masculin ou féminin pour la variable sexe.
Le type caractère :
Il appartient
à l’une des catégories suivantes :
- Les chiffres de 0 à 9
- Les lettres de l’alphabet (de A à Z)
majuscules et minuscules.
- Les caractères spéciaux
+,-,*,/ ;, : etc.. qui correspondent aux touches du clavier, y
compris les touches de fonction telles que la barre d’espacement et la touche
entrée.
Une variable caractère occupe un octet
en mémoire. A
chaque caractère correspond un nombre qui est un entier compris entre 0 et 255,
donné par le code ASCII.
Remarques :
-Un
caractère est placé entre 2 guillemets.
Exemple : ‘’ a ‘’ ;
‘’ g’’ ; ‘’ 1 ‘’.
-Un
caractère vide est représenté par deux paires de guillemets ‘’ ‘’
-Une
variable de type caractère ne peut contenir qu’un et un seul caractère
-Tous
les caractères sont ordonnés selon leur code ASCII variant de 0 à 255.
Type chaine de caractères
Une chaine de caractère est un regroupement
de plusieurs caractères. La chaîne de caractères est le nom informatique qu'on
donne au texte. On peut stocker des
textes courts comme de très longs textes au besoin.
Exemples:
·
"Je
suis un texte". Une chaîne de caractères est habituellement écrite entre
guillemets ou entre apostrophes (on parle de guillemets simples) : 'Je suis un
texte'. Les deux fonctionnent mais il ne faut pas les mélanger.
·
« bonjour »
Attention : 234 peut désigner le nombre deux cent
trente- quatre comme il peut désigner une suite de caractère 2, 3,4. Dans ce
dernier cas, on écrit entre guillemets ‘’ 234 ‘’ pour faire la
différence.
LES PARTIES D’UN
ALGORITHME
L’entête
La première ligne d’un algorithme est le
profil (entête). Elle donne essentiellement le nom de l’algorithme. Les débuts
de mots sont en lettres majuscules.
Déclaration des variables
et des constantes
Après le profil, suivent les
déclarations des variables. Ces variables sont de divers ordres : les
réels, les entiers, les chaines de caractère…
Les délimiteurs de début
et de fin
Comme leur nom indique, les délimiteurs
représentent le début et la fin de l’algorithme.
Le corps de l’algorithme
Le corps de l’algorithme représente la
zone où les différentes instructions de l’algorithme se situent. En général, la
structure d’un algorithme peut se résumer par les lignes suivantes.
Algorithme
nom Algorithme ← profil
//Insérer ici les déclarations des
variables.
Début
← délimiteur de début
//insérer ici les différentes instructions
constituant le corps de l’algorithme
Fin
← délimiteur de fin
EXERCICES
CONTROLE
DES CONNAISSANCES
1-Définir : algorithme ; algorithmique ; variable,
constante
2-Citer 03 types de données utilisées en algorithmique
3-Citer 02 caractéristiques d’un bon algorithme.
4-Citer 02 façons de représenter les algorithmes.
5-Citer 02 parties d’un algorithme.
EXERCICE
I:
Votre maman prépare un repas. Elle utilise :
5kg de manioc, une marmite, de l’eau, du sel, du bois. Parmi les éléments cités
ci-dessus,
a) lesquels peuvent être considérés comme constants au cours de la
cuisson ?
b) Lesquels peuvent être considérés comme variables au cours de la
cuisson ?
EXERCICE
II: Donnez le type des
données suivantes:
a)'Bienvenue
au Cameroun' ;
b)-300 ;
c)81;
d)'81’ ;
e) 260,
58 ;
f)@ ;
i)Faux ;
j)‘Maroc’.
EXERCICE III:
N est une variable de type
entier telle que : N ←4
P et R sont des variables de
types chaines de caractère tel que : P ←Maroc
Instruction |
Valeur
affichée |
Ecrire(N) |
|
Ecrire ('vive') |
|
Ecrire(P) |
|
Ecrire ('N') |
|
Ecrire (N+6) |
|
R← 'vive le '+P |
|
Ecrire(R) |
|
EXERCICE IV :
A ← 8*5 B ← 4^ 2 N ← A+B P ← N-20 |
R ←
B/3 X ←
B Mod 3 Y ← Div(B,3) C ← ‘Lycée’ |
D ←
’Lecler’ E ←
C+D F ←
3<5 G ←
2>4 H ←
1<8 |
Questions :
A
vaut…………. E
vaut……… F prend la valeur…………….
B
vaut………… R vaut………… G prend la valeur…………….
Y
vaut…… N vaut…………H
prend la valeur………………..
X
vaut………… P vaut…………
EXERCICE V:
Soit la séquence d’instructions suivantes :
1. A ← 5
2. B ← 7
3. A ← A + B
4. B ← A – B
5. A ← A – B
a-Déterminer les valeurs des variables A et
B après l’exécution des instructions précédentes.
b- Qu’a fait cet
algorithme
EXERCICE VI : Soit la
séquence d’instructions suivantes :
X. ←. 5
Y ← X/2
Z ← X mod 2
W ← X+Y
T ← Y Div 3
1. Présenter le tableau de déclaration des objets utilisés dans cette
séquence et justifier le choix du type.
2. Lors de l’écriture de ces instructions, une erreur a été commise,
donnez l’instruction qui comporte cette erreur puis proposer une solution pour
la corriger.
EXERCICE
VII : A, B, C et D
sont quatre variables logarithmiques. Complétez le tableau suivant :
INTRUCTION |
Variables |
|||
A |
B |
C |
D |
|
B ⃪ 2 |
|
|
|
|
C ⃪ B+10 |
|
|
|
|
A ⃪ 4 |
|
|
|
|
D ⃪ A |
|
|
|
|
B ⃪ B*D |
|
|
|
|
C ⃪ B+5 |
|
|
|
|
A ⃪ 10+4+C |
|
|
|
|
C⃪A+B+D |
|
|
|
|
EXERCICE VIII: Soit l’algorithme suivant :
Algorithme Calcul
Variable A, B, S: réels;
Début
A ← 50 ;
B ← 20 ;
S ← A*B + 13 ;
A ← 70;
Fin
1.-Identifier les parties de cet algorithme
2-Quels seront les contenus de A, B, S après
exécution de cet algorithme.
CORRIGES
CONTROLE DE CONNAISSANCES
1- Un algorithme est une suite d’actions
ou d’instructions qui doivent être exécutées dans un ordre bien
déterminé pour résoudre un problème (ou réaliser un travail) en un temps
précis.
L'algorithmique
est l’ensemble des règles et des techniques qui sont impliquées dans la
définition et la conception d'algorithmes.
Une variable est un objet dont le contenu
peut être modifié par une action durant l’exécution d’un
algorithme.
Une
constante est une donnée fixe qui ne varie pas durant l’exécution d’un
algorithme
2-Types de données :
entiers, réels, caractère, chaine de caractère…
3-un bon algorithme doit être bien structure et
claire.
4-utiliser le pseudo-code appelé LDA ou la
représentation graphique (algorigramme)
5-partie déclarative et corps de l’algorithme
4-
EXERCICE I :
Éléments constants au cours de la
cuisson : manioc ; marmite
Eléments variables au cours de la
cuisson : eau, sel, bois
EXERCICE II :
Type chaine de caractère :
‘maroc’ ; ‘bienvenue au Cameroun’
Type caractère :’81’ ;
@
Type entier : -300 ; 81
Type
réel : 260,58
Type booléen : faux
EXERCICE III :
Instruction |
Valeur
affichée |
Ecrire(N) |
4 |
Ecrire ('vive') |
Vive |
Ecrire(P) |
Maroc |
Ecrire ('N') |
N |
Ecrire (N+6) |
10 |
R← 'vive le
'+P |
‘Vive le’Maroc |
Ecrire(R) |
Vive le Maroc |
EXERCICE IV :
A=40 B=16 C=Lycée D=Lecler E=Lycée Lecler |
N=56 P=36 R=5,33 X=1 Y=5 |
F=Vrai G=Faux H=Vrai |
EXERCICE
V:
1. A =7;
B =5
2. permutation
.
EXERCICE VI :
1. X :
entier ; Y : réel ; Z : entier ; W : réel et
T : réel.
2.
l’instruction T← Y DIV 3 comporte l’erreur car T étant le quotient de la
division entière de Y par 3, Y devrait être un entier or ce n’est pas le cas.
Proposition : T← Arrondi(Y) DIV 3
Rappels :
Trunc(x) permet
d’extraire la partie entière de x
Arrondi(x)
permet d’arrondir une valeur réelle à un entier le plus proche.
EXERCICE
VII : A=27 ; B=8 ; C=39 et D=4.
EXERCICE VIII :
1. Profil ou en-tête: Algorithme
Calcul
Déclaration des variables : variable
A, B, S : réels ;
Corps de l’algorithme :
Délimiteur du début : Début
A ← 50;
B ← 20;
S ← A*B +
13;
A ← 70;
Délimiteur du début : Fin
2. A=70; B=20; S=1013
EXERCICE IV:
1-03 instructions
2-Cet algorithme demande
à l'utilisateur de taper 5 notes et affiche leur moyenne.