Mes Cours d'Algorithmique
description
Transcript of Mes Cours d'Algorithmique
TS en Informatique Option Base de Données
Algorithmique
P a g e | 1
Chapitre1 : Concepts de base de l’algorithmique
Chapitre II : Instructions de base
II-1- Instruction d’ Affectation
II-2- Instruction de lecture
II-3- Instruction d’ ecriture
Chapitre III : Instructions conditionnelles
III-1- Instruction conditionnelle Simple Si alors
III-2- Instruction conditionnelle complète si alors sinon
III-3- Choix multiple
Exercices
TS en Informatique Option Base de Données
Algorithmique
P a g e | 2
TS Base de données
Matière : Algorithmique
Chapitre I : Concepts de base de l’algorithmique
Objectif pédagogique :
A la fin du chapitre, le stagiaire sera capable de
1- décrire les étapes à suivre pour résoudre un problème donné par l’ordinateur.
2- Définir un algorithme
3- Identifier correctement des variables et des constantes
TS en Informatique Option Base de Données
Algorithmique
P a g e | 3
1- Introductions :L’algorithmique est un terme d’origine arabe, comme algèbre.
Dans la vie sans le savoir, vous avez déjà exécuté des algorithmes.
Pour préparer un gâteaux on suit une recettes de cuisine
Pour installer et faire fonctionner un magnétoscope (imprimante) on suit à la lettre le mode d’emploi
en indiquant le chemin à un touriste ou à une personne égarée.
2- Définition 1
Un algorithme, c’est une suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné.
Si l’algorithme est juste, le résultat est le résultat voulu,
le touriste se retrouve là où il voulait aller.
Le magnétoscope (imprimante) fonctionnera correctement.
Le gâteau sera réussi
Si l’algorithme est faux, le résultat sera aléatoire et faux :
Le touriste ne trouvera pas ce qu’il veut
Le magnétoscope (imprimante) ne fonctionnera pas.
Et le gâteau sera raté ou pas réussi
La finalité d’un algorithme est de résoudre un problème.
L'utilisateur d'un algorithme n'aura qu'à suivre toutes les instructions, dans l'ordre pour arriver au résultat que doit donner l'algorithme
3- Définition 2
Un algorithme est un ensemble d’instructions qui permet de résoudre un problème indépendamment des particularités de tel ou tel langage.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 4
Pour résoudre un problème par une machine, (donc la conception d’un programme informatique) il faut suivre des étapes suivantes :
1- 1 La spécification (ou analyse)2- 2 La conception préliminaire (ou conception générale)3- 3 La conception détaillée4- 4 Le codage5- D1- La spécification :
Est l’ensemble des activités consistant à définir de manière précise, complète et cohérente ce dont l’utilisateur a besoinDans la spécification, le problème est décomposé et le problème ou l’énoncé est définie : A savoir :
l’entrée (données du problème) La sortie (le résultat recherché) Les relations éventuelles entre les données et le résultat.
Exemple :Problème : Résolution d’une équation de second degré dans R. Ax²+bx + c = 0Analyse : Données en entrée - les coefficients a, b, c Données en sortie ou recherché : les racines de l’équation. La solution :
- calcul de Delta = B²-2AC - Calcul des racines selon Delta Si Delta est =0 alors racine double x = -b/2a Si Delta est 0 alors deux racines x1= et
x2= Si Delta est 0 alors pas de racine dans R.
2- Conception préliminaire (Traduction du résultat de l’analyse)
Une fois le problème spécifié et analysé, le résultat est traduit en un langage descriptif le résultat de la traduction est appelé Algorithme.
3- Conception détaillée (programmation) : est la traduction de l’algorithme en un programme dans un langage de programmation spécifique.
4- Codage : Le programme est ensuite transformé en langage machine lors d'une étape appelée compilation. La compilation est une phase réalisée par l'ordinateur lui-même grâce à un autre programme appelé compilateur.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 5
5- La phase suivante s'appelle l'édition de liens, elle consiste à lier le programme avec tous les éléments externes (généralement des librairies auxquelles il fait référence).
4- Avec qu’elle langage ou convention en écrit un algorithme ?
Un algorithme peut être représenté par généralement deux type de présentations :
a- L’organigramme une représentation graphique, avec des carrés, des losanges, etc. qu’on appelait des organigrammes. Aujourd’hui, cette représentation est quasiment abandonnée.
b- Pseudo-code : qui est un ensemble de mot clés et de structure permettant de décrire dans un langage naturel l’ensemble des opérations à effectuer sur les données pour obtenir des résultats.
6- Caractéristiques d'un algorithme
Un algorithme est l'énoncé dans un langage bien défini d'une suite d'opérations permettant de répondre au problème. Un algorithme doit donc être :
lisible: l'algorithme doit être compréhensible même par un non-informaticien
de haut niveau: l'algorithme doit pouvoir être traduit en n'importe quel langage de
programmation, il ne doit donc pas faire appel à des notions techniques relatives à un
programme particulier ou bien à un système d'exploitation donné
précis: chaque élément de l'algorithme ne doit pas porter à confusion, il est donc
important de lever toute ambiguïté
TS en Informatique Option Base de Données
Algorithmique
P a g e | 6
concis: un algorithme ne doit pas dépasser une page. Si c'est le cas, il faut décomposer le
problème en plusieurs sous-problèmes structuré: un algorithme doit être composé de différentes parties facilement identifiables
La maîtrise de l’algorithmique requiert deux qualités, très complémentaires d’ailleurs:
il faut avoir une certaine intuition, car aucune recette ne permet de savoir a priori quelles instructions permettront d’obtenir le résultat voulu. C’est là, si l’on y tient, qu’intervient la forme « d’intelligence » requise pour l’algorithmique. Alors, c’est certain, il y a des gens qui possèdent au départ davantage cette intuition que les autres. Cependant, et j’insiste sur ce point, les réflexes, cela s’acquiert. Et ce qu’on appelle l’intuition n’est finalement que de l’expérience tellement répétée que le raisonnement, au départ laborieux, finit par devenir « spontané ».
il faut être méthodique et rigoureux. En effet, chaque fois qu’on écrit une série d’instructions qu’on croit justes, il faut systématiquement se mettre mentalement à la place de la machine qui va les exécuter, armé d'un papier et d'un crayon, afin de vérifier si le résultat obtenu est bien celui que l’on voulait. Cette opération ne requiert pas la moindre once d’intelligence. Mais elle reste néanmoins indispensable, si l’on ne veut pas écrire à l’aveuglette.
Et petit à petit, à force de pratique, vous verrez que vous pourrez faire de plus en plus souvent l’économie de cette dernière étape : l’expérience fera que vous « verrez » le résultat produit par vos instructions, au fur et à mesure que vous les écrirez. Naturellement, cet apprentissage est long, et demande des heures de travail patient. Aussi, dans un premier temps, évitez de sauter les étapes : la vérification méthodique, pas à pas, de chacun de vos algorithmes représente plus de la moitié du travail à accomplir.
7-Structure d’un algorithme
TS en Informatique Option Base de Données
Algorithmique
P a g e | 7
Tous les mots clés sont écrits en minuscule.
Une marque de terminaison ( ;) est utilisée entre chaque action.
1. L'en-tête
Il permet d'identifier un algorithme.
2. Les déclarations
C'est une liste exhaustive des objets, grandeurs utilisés et manipulés dans le
corps de l ' algorithme ; cette liste est placée en début d'algorithme.
3. Le corps
Dans cette partie de l'algorithme, sont placées les tâches (instructions,
opérations) à exécuter.
4. Les commentaires :
L'en-tête algorithme nom de l'algorithme ;
const
var Les déclarations de constantes, variables, structures
liste des constantes ;
liste des variables ;
fonc liste des fonctions ;
Les déclarations de fonctions et procédures
proc liste des procédures ;
début
Le corps de l'algorithme
action 1 ;
action2 ;
.
.
.
action n ;
fin
TS en Informatique Option Base de Données
Algorithmique
P a g e | 8
Les commentaires sont utilisés juste pour une explication. Il ne seront pas pris en compte.
Un commentaire est encadré par deux { }
Exemple :
Algorithme somme ;
{cet algorithme calcule la somme deux de entier}
Var a,b, lasomme: entiers {déclarations: réservation éspace-mémoire}
Début
Lire (a,b) ;
Lesomme A+b ;
Afficher (lasomme) ;Fin.
8* Déclaration de constante et de variables :a) Les constantes :
Elles représentent des chiffres, des nombres, des caractères, des chaînes de caractères, dont la
valeur ne peut pas être modifiée au cours de l'exécution de l'algorithme.
Si je veux calculer la surface d'un cercle, je demanderai à l'ordinateur de calculer laformule :A = PI * r ^ 2PI est une constante. PI = 3.14Mot clé est : const
b) Les variables :
Elles peuvent stocker des chiffres des nombres, des caractères, des chaînes de caractères, dont la valeur peut être modifiée au cours de l'exécution de l'algorithme.
Mot clé : var
TS en Informatique Option Base de Données
Algorithmique
P a g e | 9
Les constantes et les variables sont définies dans la partie déclarative par deux caractéristiques
essentielles, à savoir :
L' identificateur : c'est le nom de la variable ou de la constante. Il est composé de lettres et de chiffres
Le type : il détermine la nature de la variable ou de la constante (entier, réel, booléen, chaîne de
caractères)
b-1) L’identificateur :
Un symbole est un nom qui étiquette une variable, une constante.
Dans le problème précédent, "r" et "A" sont les noms des variables. "r" et "A" sont des cases mémoire qui contiendront les valeurs du rayon et le résultat du calcul. Physiquement, cela peut s’expliquer comme suit :Le programme s'exécute dans le microprocesseur. Les données sont rangées dans la mémoire. "r" et "A" désignent donc les emplacements dans la mémoire où les données attendent pour le calcul. On peut décomposer l'instruction de calcul A = PI * r ^ 2 comme suit :1. Je vais chercher ce que vaut PI2. Je vais chercher la donnée contenue dans la variable/mémoire "r"3. Je calcule le carré (r * r)4. Je multiplie par PI5. Je range le résultat dans la variable/mémoire "A"
Caractéristique d’un identificateur : Un identificateur de variable ou de constante doit être :
Significatif : exemple : pour identifier la variable représentant une quantité on utilise les identificateurs : Quantite, quant, qt, q
Ne doit pas comporter un espace Prix unitaire est un identificateur fauxSomme des entiers est un identificateur faux
Ne commence pas par un chiffre :1som est un identificateur fauxAnnee2009 est un identificateur correct
b-2) les types de base
TS en Informatique Option Base de Données
Algorithmique
P a g e | 10
L'algorithmique manipule des données selon un type. Le type définit plusieurs choses : La nature de la donnée ou l’ensemble dans lequel l’objet prend ses valeurs. Le format que la machine utilise pour stocker cette information. (par exemple, on
peut choisir de stocker un entier sur plus ou moins d'octets).
Nous considérerons cinq types de base :
Entier les entiers naturel ………..-2 -1 0 1 2 ……………… Reel les entiers réels : 1.5 2.03 Booleen Il ne peut prendre que deux états : VRAI ou FAUX Le caractère
'a', 'A','*','7','z',' !'. Un caractère est encadré par deux cotes ‘ ‘.Mot clé : car
La chaîne de caractères
'électronique', 'cd ROM de 80mn' Une chaîne de caratère est encadrée par deux cotes ‘ ‘.Mot clé : chaîne
Déclaration des variables : Une variable est déclarée au début du programme en associant un identificateur à un type donné.
Var identificateur : type ;
Exemple : Var a, b : entier ; Réserver deux boites ou case mémoire une va être identifiée par l’étiquette a et l’autre b .
a b
le contenu des deux case doit être des entiers.
Déclaration de constantes:Une constante est déclarée en spécifiant son identificateur et sa valeur
Const identificateur = valeur ;Exemple : const PI = 3.14 ;
Remarques :
Dans un algorithme, on ne peut pas déclarer deux variables ayant le même nom ou identificateur.
la déclaration a : entier ;b :entier ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 11
peut être remplacée par a,b : entier ; toutes les variables et constantes utilisées dans un algorithme doivent êtres
déclarées dans la partie déclaration.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 12
Exercices :
Résoudre les problèmes suivants en suivant les étapes vue en cours:
Exercice 1 : « calcule de la surface d’un rectangle »
Solution :
Phase 0 : Énoncé (spécifications).
On veut calculer la surface d’un rectangle.
Phase 1 : Analyse.
A partir de l'énoncé on doit définir les flux entrants (les données du problème), les flux sortants (les résultats du problème), et le moyen de passer des uns aux autres.
On détermine aisément le résultat il fait partie de l’énoncé (la surface d’un rectangle), ce qui n’est pas le cas des données.
On va donc mettre en place un calcul permettant de déterminer le résultat.
Résultat
La surface du rectangle SURF
Traitement
SURF = LONG * LARG
Données
Avec
La longueur du rectangle LONG
La largeur du rectangle LARG
Phase 2 : L'algorithme associé à son lexique.
Lexique
LONG (réel) La longueur du rectangle
LARG (réel) La largeur du rectangle
SURF (réel) La surface du rectangle
Début
Lire(LONG, LARG)
SURF LONG * LARG
Ecrire(SURF)
TS en Informatique Option Base de Données
Algorithmique
P a g e | 13
Fin
Exercice 2 :
Énoncé (spécifications).
Un diplôme d’informatique est composé de deux tests et d’un examen.
On veut calcule la moyenne générale d’un étudiant, sachant que la note de l’examen est affectée du coefficient 2.
On affichera le nom, le prénom, les trois notes, et la moyenne obtenue.
Solution :
Phase 1 : Analyse
Un diplôme d’informatique est composé de deux tests et d’un examen. On veut calculer la moyenne générale d’un étudiant, sachant que la note de l’examen est affectée du coefficient 2.
On affichera le nom, le prénom (données et résultats), les trois notes, et la moyenne
obtenue.
Données
La note du premier test TEST1
La note du second test TEST2
La note de l’examen EXAM
Le nom de l’étudiant NOM
Le prénom de l’étudiant PRENOM
Traitement
MOYGEN = (TEST1 + TEST2 + 2 * EXAM) / 4
Résultat
La moyenne générale à l’examen informatique MOYGEN
Le nom de l’étudiant NOM
Le prénom de l’étudiant PRENOM
Phase 2 : L'algorithme associé à son lexique.
Lexique
TEST1 (réel) La note du premier test
TEST2 (réel) La note du second test
EXAM (réel) La note de l’examen
NOM (chaîne) Le nom de l’étudiant
TS en Informatique Option Base de Données
Algorithmique
P a g e | 14
PRENOM (chaîne) Le prénom de l’étudiant
MOYGEN (réel) La moyenne générale à l’examen informatique
Début
Lire(NOM, PRENOM, TEST1, TEST2, EXAM)
MOYEN ç (TEST1 + TEST2 + 2 * EXAM) / 4
Ecrire(NOM, PRENOM, MOYGEN)
Fin
Exercice 3 :
Phase 0 : Énoncé (spécifications).
A partir d’une quantité de produit achetée à un prix hors taxe on veut établir la facture d’un client dont on connaît le nom. La facture fera apparaître le nom, le montant hors taxe, et toute taxe sachant qu’on applique un taux de taxe de 10%.
Solution
Phase 1 : Analyse
A partir de l'énoncé on doit définir les flux entrants (les données du problème), les flux sortants (les résultats du problème), et le moyen de passer des uns aux autres.
Procédons à une analyse du texte pour y rechercher les données, les résultats et les constantes.
A partir d’une quantité de produit achetée à un prix hors taxe on veut établir la facture d’un client dont on connaît le nom. La facture fera apparaître le nom, le montant hors taxe, et toute taxe sachant qu’on applique un taux de taxe de 10% ( qui est une constante).
Données
une quantité de produit achetée QUANT
le prix hors taxe du produit achetée PRIHT
le nom du client NOM
Résultat
le nom du client NOM
le montant hors taxe MONTHT
le montant toute taxe APAYER
Traitement
TS en Informatique Option Base de Données
Algorithmique
P a g e | 15
MONTHT QUANT * PRIHT
APAYER MONTHT + TAXE
TAXE MONTHT * 10%
Ou plus judicieusement (pour des objectifs de maintenance adaptative)
TAXE MONTHT * TxTAXE
Résultat intermédiaire
TAXE montant de la taxe
Constante
TxTAXE=10% taux de taxe
Phase 2 : L'algorithme associé à son lexique (conception).
Lexique
constante
TxTAXE=10% taux de taxe
variables
QUANT (entier ou réel) une quantité de produit achetée
PRIHT (réel) le prix hors taxe du produit achetée
NOM (chaîne) le nom du client
MONTHT (réel) le montant hors taxe
APAYER (réel) le montant toute taxe
TAXE (réel) montant de la taxe
Début
Lire(QUANT,PRIHT,NOM)
MONTHT QUANT * PRIHT
TAXE MONTHT * TxTAXE
APAYER MONTHT + TAXE
Ecrire(NOM,MONTHT,APAYER)
Fin
TS en Informatique Option Base de Données
Algorithmique
P a g e | 16
TS Base de données
Matière : Algorithmique
Chapitre II : Instructions de base
Leçon : I n s t r u c t i o n d’ a f f e c t a t i o n
Objectif pédagogique :
A la fin de la leçon, le stagiaire sera capable de
1- affecter correctement une valeur ou une constante ou une expression à une variable,
2- évaluer correctement une expression algébrique,
3- évaluer correctement une expression booléenne.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 17
Introduction :
IL est utile de distinguer deux types de données utilisées par un programme.a/ les données internes : indépendantes de toute exécution et indispensable au déroulement du programme.b/ les données externes au programme, utilisées pour une exécution particulière et sans utilité pour les suivantes. Elles sont introduites au moment de l’exécution du programme.Exemple :
Reprenant le problème de calcul de la surface d’un cercleA = PI * r *r
PI = 3.14 est une donnée interne a programme fixée par le programmeur.Pour le calcul de cette surface, l’ordinateur a besoin de la valeur du rayon. Cette valeur est introduite par l’utilisateur au moment de l’exécution du programme.Le rayon est une donnée externe.
Pour introduire les données internes ou externes dans un algorithme on utilise les instructions suivantes :
- instruction d’affectation ( = ou )- Instruction de lecture (lire)- Instruction de sortie (d’écriture ) (afficher écrire)
1- Instruction d’affectation
L’instruction d’affectation est une instruction qui consiste à attribuer une valeur à une variable préalablement déclarée.
Syntaxe : Variable expression ou constante ou variable ;
Où expression peut être :
a- Une constante :
Variable constante ;
Exemple 1 : A 3 on lit A reçoit 3 3 est affectée à A
A est l’identifiant d’une case mémoire.Donc on peut représenter A avant et après l’affectation comme suit :
Avant l’affectation : A
Après l’affectation : A 3
TS en Informatique Option Base de Données
Algorithmique
P a g e | 18
Exemple 2 : var PI : reel ;PI 3.14 ;
Avant l’affectation : PI
Après l’affectation : PI
Exemple 3 : Var trouve : booleen ;
Trouve faux ;
Avant l’affectation : Trouve
Après l’affectation : Trouve
Exemple 4 : Nom « Mahdjouba «
Remarque :La constante doit être de même type que la variable.
b- Une variable :
Variable variable;
Exemple 1 : var A,B : entier ;
Si A 10 ; B 13 ;
A B ;- La valeur de B est affectée à la variable A- La valeur de B ne change pas.- L’ancienne valeur de A est écrasée
Exemple 2 :Déroulez la séquence d’instruction suivante puis donnez les valeurs des variables X,Y
et Z après exécution des instructions?Var X,Y,Z : Entier ;
Début
X -3 ;
Y 10 ;
Z 0 ;
3.14
faux
TS en Informatique Option Base de Données
Algorithmique
P a g e | 19
X Y ;
Y Z ;
Z X ;
Fin.
Déroulement :
X Y Z
X -3 ; -3
Y 10 ; -3 10
Z 0 ; -3 10 0
X Y ;10 10 0
Y Z ; 10 0 0
Z X ; 10 0 10
Remarque :
Les deux variables doivent être de même type.
c- Résultat d’un calcul
Variable expression ;Le résultat de l’évaluation de l’expression sera affectée à la variable.L’expression peut être une
c-1- Expression arithmétiqueUne expression arithmétique est une combinaison ordonnée d’opérandes et de
symbole d’opérations algébriques appelés opérateurs.
Exemple : 2 * A + C - 1.5
2, A, C, 1.5 sont des opérandes
+ , - , * sont les opérateurs.
c-1-1- les opérateurs :
Il existe 4 opérateurs +, -, *, /
Qui représentent l’addition , la soustraction, le produit ou la multiplication et la
division.
c-1-2- Evaluation d’une expression arithmétique
Une expression arithmétique fait intervenir plusieurs opérandes et plusieurs opérateurs.
Le calcul de cette expression est décomposé par l’ordinateur en une suite d’opérations ne
faisant intervenir d’un opérateur chacun.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 20
Les règles de l’évaluation sont les suivantes :
Les opérateurs sont classés par ordre de priorité
Par ordre croissant : puissance niveau 1
/ * niveau 2
+ - niveau 3
En l’absence de parenthèse, l’exécution des opérations se fait toujours de gauche à
droite.
Une opération n’est exécutée que si l’opération suivante n’est pas prioritaire.
Exemple 1 :
Evaluer l’expression A/B *3+C2-18
Avec A =8, B = 2, et C = 3
1- A/B la division n’étant pas suivie d’une opération plus prioritaire.
Le résultat est 4
L’expression devient : 4*3+c2-18
2- 4*3 l’addition qui suit la * est de priorité inférieure.
Le résultat est 12
L’expression devient : 12+c2-18
3- c2 la puissance est de niveau de priorité supérieur à l’addition qui la précéde. Elle-
même est suivie d’une opération moins prioritaire.
Le résultat est 9.
L’expression devient 12+9-18
4- 12+9 : l’addition est de même priorité que la soustraction qui la suit.
Le résultat est 21.
L’expression devient : 21-18
5- Le résultat est 3
Exemple 2 :
On veut écrire l’expression algébrique 2+ AB+4
Si on écrit 2+A/B+4 avec A = 4 et B = 2
Evaluant l’expression :
1- A/B : l’addition est moins prioritaire que la division.
le résultat est 2
L’expression 2+2+4
TS en Informatique Option Base de Données
Algorithmique
P a g e | 21
2- 2+2
Le résultat est 4
3- 4+4
Le résultat est 8
Le résultat est erroné.
Pour ne pas tomber dans ce type d’erreur, on utilise les parenthèse : (2+A)/(B+4)
Remarque :
Les parenthèses ont la plus forte priorité. C-à-d que le contenu des parenthèses est évalué en
premier.
c-2- Expression booléenne
Une expression booléenne comporte des opérandes et des opérateurs booléens et des
opérateurs de comparaison.
Les opérateurs booléens sont : et / ou/ non
Exemple d’expression : var trouve , fin :booleen ;
Le tableau suivant présente le résultat des l’évaluation de
Trouve et fin trouve ou fin pour les différentes valeurs que peut prendre l’une ou l’autre
variable.
trouve fin Trouve et fin Trouve ou fin
Vrai Vrai vrai Vrai
vrai faux faux Vrai
faux Vrai Faux Vrai
Faux faux vrai faux
Exemple 1 :
Evaluer les expressions :
(5 > 2) et (4=3) résultat est
(1<0) ou (6=(2*3)) résultat est
TS en Informatique Option Base de Données
Algorithmique
P a g e | 22
Exercices :
Exo1
Soient y, x, a, b des variables réelles de valeurs 3 , -1 , 0 , 2.1
Quel est le résultat de chaque expression :
(x<y) et (a>b)
(0<x) ou (a>=b)
(x=1) ou (x=3)
Exo2
Soit l’expression arithmétique
C - (A+B)*(2 – D)/4
1- Donner dans l’ordre, les opérations exécutées lors de l’évaluation de l’expression, justifier.
2- On suppose qu’au moment du calcul les variables A,B,C et D ont respectivement 2 , 3 , 8 et -6
Donner le résultat de l’évaluation.
Exo 3
1- Cette déclaration est-elle vraie ou fausse ?Const nbr1 = 1.25 ;
Test = vrai ; Nbdr2 = -258 ;
2- Cette séquence est-elle correcte oui ou non ?Const x= 12.14 ;
Chaine = ‘bonjour’ ;Var
Y : reel ;Début
Y -125.23 ;X x +y ;……………
Fin.
Exo 4
1- Quelles seront les valeurs des variables A et B après exécution des instructions suivantes?
Var A, B : Entier Début
A ← 1
TS en Informatique Option Base de Données
Algorithmique
P a g e | 23
B ← A + 3 A ← 3
fin2- Var A, B, C : Entier ;
Début A ← 5 ;B ← 3 ;C ← A + B ;A ← 2 ;C ← B – A ;
Fin.
Exo5 :Ecrire des algorithmes qui :
1- Permute deux entiers A et B tels que A =15 et B = -2.2- Calcule la surface et le périmètre d’un cercle dont vous fixez la valeur du rayon.3- Calculer la moyenne de 3 entiers x,y,z.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 24
TS Base de données
Matière : Algorithmique
Chapitre II : Instructions de base
Leçon : I n s t r u c t i o n d e l e c t u r e
Objectif pédagogique :
A la fin de la leçon, le stagiaire sera capable de
1- Ecrire correctement une instruction de lecture
2- Résoudre un problème en utilisant l’instruction Lire.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 25
Définition :
L’instruction de lecture « LIRE » permet d’attribuer une valeur à une variable lors de l’exécution de l’algorithme.
LIRE permet de lire une valeur provenant du clavier.
Parvenue à cette instruction, l’exécution de l’algorithme s’arrête, l’utilisateur tape alors sur le clavier la valeur qu’il veut donner à la variable puis l’exécution se poursuit.
Syntaxe : LIRE (variable(s)) ;
Exemple 1 : lecture d’une variable
(1) Var N : entier ;
(2) Lire (N) ;
Exécution :
Après exécution de (1) : N
Après exécution de (2) , la machine attend que l’utilisateur lui fournisse une valeur pour N à fin de pouvoir continuer à exécuter l’algorithme.Si l’utilisateur tape 5 : 5 sera affectée à N : N
Exemple 2 lecture de plusieurs variables :
Lire (variable1, variable2, ….., varaiblen) ;
Les identificateurs de variables sont séparés par des virgules.
Exemple : Var A,B,C : entier ;Lire (a,b,c) ;A l’exécution de cette instruction, la machine attend que l’utilisateur lui fournisse trois valeurs à affecter à A, B et C respectivement.Si l’utilisateur tape -1 0 4 les valeurs des variables sont
A B C
5
-1 0 4
TS en Informatique Option Base de Données
Algorithmique
P a g e | 26
Remarque s :
1- On peut lire une variable de type entier, réel, caractère, chaine de caractère2- On ne peut pas lire une variable de type booleen.3- Lire (A,B,C) est équivalent à
Lire (a) ;Lire(b) ;Lire(c) ;
EXERCICES :
Exo1
Donnez les valeurs de X, y, z après exécution des instructions suivantes :
Lire(x) ;Yx*2+4 ;Lire(z) ;Y y + z ;
Sachant que les valeurs tapées sont 3 puis 5.
Exo2Même question
Lire (nom) ;Lire(age) ;Lire (note) ;
Les valeurs tapées sont : Samira 22 12.50
Exo3
Ecrire un algorithme qui permute deux entiers entrés au clavier.
Exo4 :
Ecrire un algorithme qui calcule l’âge d’une personne en l’an 2020 sachant sans année de naissance.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 27
TS Base de données
Matière : Algorithmique
Chapitre II : Instructions de base
Leçon : I n s t r u c t i o n d’ é c r i t u r e
Objectif pédagogique :
A la fin de la leçon, le stagiaire sera capable de
1- Ecrire correctement une instruction d’écriture
2- Ecrire correctement un algorithme pour résoudre un
problème donné en utilisant les instructions
(Affectation), Lire et Afficher.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 28
TS en Informatique Option Base de Données
Algorithmique
P a g e | 29
Définition :
L’instruction d’écriture Afficher permet à l’utilisateur de voir à l’écran la valeur d’un objet, le contenu d’une variable.
Afficher permet d’afficher une valeur, un résultat à l’écran.
Syntaxe : Afficher (variable(s)) ; Afficher (expression) ; Afficher (chaîne de caractères) ;
Exemple 1 : Afficher la valeur d’une variable
(1) Var N : entier ;
(2) N 2 ;
(3) Afficher (N) ;
Après exécution de l’instruction (3), la valeur 2 est affichée à l’écran.
Exemple 2 : Afficher plusieurs les valeurs de plusieurs variable ;Var X,Y,Z : entier ;SiX2 ;Y10 ;Z -3+Y*X ;Afficher (X,Y,Z) ;Après exécution de la 3ème instruction les valeurs suivantes sont affichées à l’écran :
2 10 17
Exemple3: Afficher le résultat d’une expression à évaluer.
Var X,Y,Z : entier ;SiX2 ;Y10 ;Z -3+Y*X ;Afficher (X,Y,Z) ;La 4ème instruction peut être remplacée par
TS en Informatique Option Base de Données
Algorithmique
P a g e | 30
Afficher (x,y, -3+y*x) ;L’expression -3+y*x est évalué et sont résultat affiché.
Exemple 4 : Afficher une chaîne de caractère ( Afficher un message).Afficher (‘Donner la valeur de X’) ;
Afficher(‘Erreur, c’’est un nombre positif que j’attendais’) ;
Exemple 4 : Afficher un message et consulter la valeur d’une variable ou expression au même temps.Afficher (‘la surface du cercle est :’,surf) ;Ou Afficher (‘la surface du cercle est :’, PI * r*r) ;Si r a la valeur 2 alors l’affichage sera comme suit : la surface du cercle est : 12.56
TS en Informatique Option Base de Données
Algorithmique
P a g e | 31
Série d’exercices
Exo 1 : Ecrire un algorithme qui calcule et affiche le net à payer pour une marchandise acheté de quantité Q et avec un prix unitaire PU.
Exo2 : Ecrire un algorithme qui lit le nom et prénom d'un stagiaire, ses notes de pascal, fichier et anglais et affiche sa moyenne comme suit:
Si le nom et prénom entrés sont KADI Fodil le résultat affiché sera
Le stagiaire KADI Fodil a une moyenne de 12,50
Exo3 : Ecrire un algorithme qui calcule la somme, le produit, la division et la différence entre deux entiers A et B.
Exo4 : Ecrire un algorithme qui calcule la surface et le périmètre d'un rectangle.
Exo5 : Ecrire un algorithme qui permute deux entiers.
Exo6 : Ecrire un algorithme qui calcule l'âge d'une personne connaissant son année de naissance.
EXO7 : Ecrire un algorithme Qui permute de façon circulaire 3 entiers X,y et z.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 32
Chapitre III : Instructions conditionnelles
Objectif :
A la fin du chapitre, le stagiaire sera capable de résoudre des
problèmes où existe des choix ou alternatives et de traduire la
solution en algorithme correcte en utilisant les instructions
conditionnelles si alors sinon.
Plan :
Introduction
1- Instruction conditionnelle simple si alors
2- Instruction conditionnelle complète si alors sinon
3- Exercices
TS en Informatique Option Base de Données
Algorithmique
P a g e | 33
Chapitre III : Instructions conditionnelles
Introduction :On peut distinguer trois types d’instructions selon leur mode de fonctionnement :
Les Instructions séquentielles (Affectation, ecriture, lecture) qui sont exécutées l’une après l’autre sans saut ni répétition,
Dans certains programmes, certaines instructions sont soient exécutées ou sautées suivant le résultat d’un test.
Les instructions qui permettent ce choix sont des instructions conditionnelles.
III-1- Instruction conditionnelle simple SI ALORS :Syntaxe :
Si expression booléenne Alors
Début
Instruction1 ;
Instruction2 ;
.
.
FinsiArrivé à la première ligne (Si… Alors) la machine examine la valeur de l’expression booléenne. Si celle ci a pour valeur VRAI, elle exécute la série d’instructions. Cette série d’instructions peut être très brève comme très longue, cela n’a aucune importance. En revanche, dans le cas où la valeur de l’expression booléenne est fausse, l'ordinateur saute directement aux instructions situées après le FinSi.
Exemple :
Algorithme qui test si un nombre entier entré au clavier est positif :
Un entier est positif s’il est supérieur à 0.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 34
Algorithme test_positif ;
Var N : entier ;
Début
Afficher (‘Tapez un entier à tester :’) ;
Lire (N) ;
Afficher (‘Merci’) ;
Fin.
Déroulement
Exemple 1 : Exemple 2 :
Exemple 2 :Ecrire un algorithme qui teste si un entier donné est multiple de 5 :Un entier est multiple de 5 si le reste de la division de l’entier et 5 est égale = 0.Mod est une fonction qui renvoie le reste de la division.Par exemple 7 mod 5 vaut 2
Algorithme multiple_5 ;Var A : entier ;Début
Afficher (‘Tapez un entier :’) ;
Lire (A) ;
Fin.
Si N > 0 Alors
Afficher (N,’est un entier positif’) ;
Tapez un entier à tester : 12
12 est un entier positifMerci
Tapez un entier à tester : - 4Merci
Si A mod 5 = 0 Alors
Afficher (A,’est un multiple de 5’) ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 35
III-2- Instruction conditionnelle complète SI ALORS Sinon
Syntaxe :
Si expression booléenne Alors
Instruction 1
Sinon
Instruction2 ;
Finsi
Ou
Si expression booléenne Alors
Début
Instruction1 ;
Instruction2 ;
.
.
Fin
Sinon
Début
InstructionI ;
InstructionII ;
.
.
Finsi Dans le cas où l’expression booléenne est VRAI, et après avoir exécuté la série d'instructions 1, au moment où elle arrive au mot « Sinon », la machine saute directement à la première instruction après le « Finsi ». De même, au cas où l’expression booléenne a comme valeur « Faux », la machine saute directement à la première ligne située après le « Sinon » et exécute l’ensemble des « instructions I ».
Dans tous les cas, les instructions situées juste après le FinSi seront exécutées normalement.
TS en Informatique Option Base de Données
Algorithmique
P a g e | 36
Exemple :
Algorithme qui test si un nombre entier entré au clavier est positif ou négatif.
Un entier est positif s’il est supérieur à 0 et négatif s’il est inférieur à 0.
Algorithme test_positif_negatif ;
Var N : entier ;
Début
Afficher (‘Tapez un entier à tester :’) ;
Lire (N) ;
Afficher (‘Merci’) ;
Fin.
Déroulement
Exemple 1 : Exemple 2 :
Exemple 4 :Ecrire un algorithme qui test si un entier donné est paire ou impaire.Résolution
Un nombre entier est pair s’il est divisible par deux, dans le cas contraire il est impair.
D’un point de vue mathématique un nombre est divisible par 2 si le reste de la division entière du nombre par 2 est égal à 0.
Si N > 0 Alors
Afficher (N,’est un entier positif’)
Sinon
Afficher (N,’est un entier négatif’)
Tapez un entier à tester : 1212 est un entier positifMerci
Tapez un entier à tester : - 4-4 est un entier négatifMerci
TS en Informatique Option Base de Données
Algorithmique
P a g e | 37
Illustration
1
5 est impair 8 est pair
Algorithme test_parité ;
Var N : entier ;
Début
Afficher (‘Tapez un entier à tester :’) ;
Lire (N) ;
Fin.
Déroulement
Exemple 1 : Exemple 2 :
III-3- Imbrication de SiIl se peut que dans certain cas que l’expression d’un Si ne suffise pas pour exprimer tous les cas de figure.
On a recoure dans ces cas là, à des Si imbriqués.
Si condition1 alors
Si N mod 2 = 0 Alors (* si le reste de la division par 0
est nul*)
Afficher (N,’est un entier pair’)
Sinon
Afficher (N,’est un entier impair’)
Tapez un entier à tester : 1212 est un entier pair
Tapez un entier à tester : 55 est un entier impair
5 2 8 2
2 0 4
TS en Informatique Option Base de Données
Algorithmique
P a g e | 38
Si condition2 alors
Instruction1
Finsi
Sinon
Si condition3 alors
Si condition4 alors
Instruction 2
Sinon
Instruction3
Finsi
Finsi
Exemple : écrire un algorithme qui affiche la tarification d’une lettre selon son poids :
- Poids ≤ 20 g : 50 DA- 20<¿Poids≤ 50 g : 100 DA- Poids>50 g: 150DA
III-5- Choix multiple: Instruction selon queL’algorithme qui Construit une calculette simple avec les opérations (+,-,*,/).
TS en Informatique Option Base de Données
Algorithmique
P a g e | 39
Les données en entrée :Deux entiers A et BL’opération à efféctuer soient +, *, -,/
RésultatAffichage de résultat de l’opération choisi entre a et b.
Traitement Si l’opération choisie est + alors
Afficher l’addition de a et b Sinon si l’opération choisie est - alors
Afficher la différence de a et bSinon si l’opération choisie est * alors
Afficher le produit de a et bSinon
Afficher le résultat de la division de a sur b
Ecriture de l’algorithme :
Dans cet algorithme, nous avons un choix multiple, et suivant la valeur de op (opération), l’instruction correspondante est exécutée.
Algorithme calculatrice ;Var a,b : entier ; (* comme il peuvent être de type réél*) Op : char ; (* désigne l’opération à effectuer entre a et b *)Début
Afficher (‘Taper deux entier’) ;Lire(a,b) ;Afficher(‘Taper l’opération que vous voulez effectuer +,*,- ou /’) ;Lire (op) ;Si op = ‘+’ alors
Afficher (a,’+’,b,’=’,a+b)Sinon
Si op = ‘-’ alorsAfficher (a,’-’,b,’=’,a-b)
SinonSi op = ‘*’ alors
Afficher (a,’*’,b,’=’,a*b)Sinon
Si op = ‘/’ alorsAfficher (a,’/’,b,’=’,a/b)
SinonAfficher(‘l’’oparétion tapée n’’est pas
valide’) ;Finsi
TS en Informatique Option Base de Données
Algorithmique
P a g e | 40
Cet ensemble d’instruction de si imbriquée peut être remplacée par un instruction à choix multiple Selon le cas.Selon le cas est une instruction qui permet de faire un choix parmi plusieurs possibilités, suivant la valeur d’une expression.Syntaxe :
Selon le cas expressionValeur1 : Instruction1 ;Valeur2 : Instruction2 ;
Valeur3 : Instruction3 ;
Valeurn : Instructionn ;Sinon
Instruction ;Fin ;
Après évaluation de l’expression, et suivant la valeur qu’elle prend (valeur1,valeur2,….,valeurn), l’instruction correspondante s’exécute.Autrement, l’instruction selon le cas peut être écrite :Si expression = valeur1 alors instruction1Si expression = valeur2 alors instruction2
Si expression = valeurn alors instructionnRemarque
L’expression à évaluer est appelée sélecteur. Lorsque plusieurs instructions suivent un choix, elles doivent figurées entre début et
fin.Selon le cas expression
Val1 : débutI1 ;I2 ;
Fin ;Val1 : début
I3 ;I4 ;
Fin ;Fin ;
L’expression doit être impérativement de type ordinal (type dont les valeurs peuvent être énumérées)
Entier, caractère, chaîne de caractère, intervalleNe peut pas être réel.
Valeur i peut être - une constante (entier,caractère,chaîne de caractère)- une liste de constante (séparée par des virgules)
TS en Informatique Option Base de Données
Algorithmique
P a g e | 41
- un intervalle.Exple1 liste de constante :
Selon le cas valeur 1,2,3,4,5,6,7,8,9 : afficher(‘Unité’) ;
10,11,12,13,14,15,16,17,18,19 : afficher (‘Diziane’) ;
Fin ;Exple2 Un intervalle :
Selon le cas valeur 1..9 : afficher(‘Unité’) ;
10..19 : afficher (‘Diziane’) ;
Fin ;
Exple3 caractèreSelon le cas valeur
‘A’,’a’: afficher(‘1ère lettre de l’alphabet’) ; ‘B’,’b’: afficher(‘2ème lettre de l’alphabet’) ;
‘z’,’Z’: afficher(‘Dernière lettre de l’alphabet’) ;Fin ;
Exple3 constante entièreSelon le cas valeur
1: afficher(‘Janvier’) ; 2: afficher(‘Feverier’) ;
12: afficher(‘Décembre’) ;Fin ;
Les cas doivent s’exclure mutuellementExemple :
Selon le cas X2,3 : …………… ;2,4 :…………… ;
Fin ;
L’orsqu’une ou plusieurs instructions correspond à d’autres valeurs que celles prévues, sinon est ajouté à la fin de l’instruction.
Solution de l’exercice précédent en utilisant Selon le cas
Le cas 2 intervient dans les 2 acs
Algorithme calculatrice ;Var a,b : entier ; (* comme il peuvent être de type réél*) Op : char ; (* désigne l’opération à effectuer entre a et b *)Début
Afficher (‘Taper deux entier’) ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 42
Série d’exercices :Exo1 :Ecrire un algorithme qui calcule le minimum entre deux nombres réels a et b .
Algorithme calculatrice ;Var a,b : entier ; (* comme il peuvent être de type réél*) Op : char ; (* désigne l’opération à effectuer entre a et b *)Début
Afficher (‘Taper deux entier’) ;
TS en Informatique Option Base de Données
Algorithmique
P a g e | 43
Exo2 : Ecrire un algorithme qui calcule le maximum entre trois nombres réels a , b et c.Exo3 :Soit l’instruction conditionnelle suivante :
Si (i <= 100) et (j >2) alorsCpt cpt + 1
SinonCpt cpt -1 ;
Pour quelle condition l’instruction Cpt cpt -1 est –elle exécutée ?Exo4 : Evaluer les expressions suivantes : (i >= 100) et (trouve = faux) pour i = 80, trouve = vrai
I = 100, trouve = faux (j >= 1) ou (i <= N) pour j = 1, i = 3, N = 10
J = 0, i = 10, N = 10 J = 10, i = 1, N = 10
Exo5 :Ecrire la séquence d’instructions qui traduit l’écriture suivante :
{si x<2alors y=2x−4si x≥ 2 alors y=4−2 x
Exo6 :Dans un algorithme, Les expressions booléennes sont généralement évaluées à l’aide de comparaisons.Est-ce que la comparaison suivante est valable ? Sinon comment peut on l’exprimer correctement.
agemin≤ age≤ age maxExo7 :Un magasin offre eune réduction sur achat dans les conditions suivantes :
Si le montant d’achat est inférieur à 350 DA, il n’y a pas de réduction, Si le montant d’achat est compris entre 350 DA et 600 Da, le taux de la réduction est de 2 %. Si le montant d’achat est supérieur à 600 DA, le taux de réduction est de 3%.
Ecrire l’algorithme qui calcule le net à payer,Sachant : net à payer = montant d’achat – montant de réduction
Montant de réduction = montant d’achat * taux de réductionExo8 :Ecrire un algorithme qui résous une équation de second degré ax ²+bx+c=0Exo9 :Ecrire un algorithme qui lit trois notes d’examens et leurs coefficients, puis affiche la moyenne précisant Eliminé pour une moyenne inferieur à 10 et Admis si la moyenne est supérieur ou égale à 10 avec une mention Passable pour une moyenne <12 et Assez Bien pour une moyenne < 14 et Bien pour une moyenne < 16 et enfin Très bien pour une moyenne ≥ 16Exo10 :Ecrire un algorithme qui lira au clavier l’heure et les minutes, et il affichera l’heure qu’il sera une minute plus tard. Par exemple, si l'utilisateur tape 21 puis 32, l'algorithme doit répondre :
TS en Informatique Option Base de Données
Algorithmique
P a g e | 44
"Dans une minute, il sera 21 heure(s) 33". NB : on suppose que l'utilisateur entre une heure valide. Pas besoin donc de la vérifier.Exo11 : De même que le précédent, cet algorithme doit demander une heure et en afficher une autre. Mais cette fois, il doit gérer également les secondes, et afficher l'heure qu'il sera une seconde plus tard. Par exemple, si l'utilisateur tape 21, puis 32, puis 8, l'algorithme doit répondre : "Dans une seconde, il sera 21 heure(s), 32 minute(s) et 9 seconde(s)". NB : là encore, on suppose que l'utilisateur entre une date valide. Exo12 :Les habitants de Aielmaken paient l’impôt selon les règles suivantes :
• les hommes de plus de 20 ans paient l’impôt • les femmes paient l’impôt si elles ont entre 18 et 35 ans • les autres ne paient pas d’impôt
Le programme demandera donc l’âge et le sexe de l’habitant, et affichera s’il paye l’impôt ou non. Exo13 (solution serie si alors.docx)De deux personnes dont on connaît le nom, le prénom et la date de naissance (sous la forme JOUR, MOIS, ANNEE) on veut afficher le nom et prénom de la plus jeune.Exo14 :Construire une calculette simple avec les opérations (+,-,*,/).