Mes Cours d'Algorithmique

55
TS en Informatique Option Base de Données Algorithmique Page | 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

description

Cours dispensés aux stagiaires de TS informatique option réseau au niveau de l'INSFP de tizi ouzou

Transcript of Mes Cours d'Algorithmique

Page 1: 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

Page 2: Mes Cours d'Algorithmique

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

Page 3: Mes Cours d'Algorithmique

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.

Page 4: Mes Cours d'Algorithmique

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.

Page 5: Mes Cours d'Algorithmique

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é

Page 6: Mes Cours d'Algorithmique

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 

Page 7: Mes Cours d'Algorithmique

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

Page 8: Mes Cours d'Algorithmique

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

Page 9: Mes Cours d'Algorithmique

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

Page 10: Mes Cours d'Algorithmique

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 ;

Page 11: Mes Cours d'Algorithmique

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.

Page 12: Mes Cours d'Algorithmique

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)

Page 13: Mes Cours d'Algorithmique

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

Page 14: Mes Cours d'Algorithmique

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

Page 15: Mes Cours d'Algorithmique

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

Page 16: Mes Cours d'Algorithmique

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.

Page 17: Mes Cours d'Algorithmique

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

Page 18: Mes Cours d'Algorithmique

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

Page 19: Mes Cours d'Algorithmique

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.

Page 20: Mes Cours d'Algorithmique

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

Page 21: Mes Cours d'Algorithmique

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

Page 22: Mes Cours d'Algorithmique

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

Page 23: Mes Cours d'Algorithmique

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.

Page 24: Mes Cours d'Algorithmique

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.

Page 25: Mes Cours d'Algorithmique

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

Page 26: Mes Cours d'Algorithmique

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.

Page 27: Mes Cours d'Algorithmique

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.

Page 28: Mes Cours d'Algorithmique

TS en Informatique Option Base de Données

Algorithmique

P a g e | 28

Page 29: Mes Cours d'Algorithmique

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

Page 30: Mes Cours d'Algorithmique

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

Page 31: Mes Cours d'Algorithmique

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.

Page 32: Mes Cours d'Algorithmique

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

Page 33: Mes Cours d'Algorithmique

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.

Page 34: Mes Cours d'Algorithmique

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’) ;

Page 35: Mes Cours d'Algorithmique

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.

Page 36: Mes Cours d'Algorithmique

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

Page 37: Mes Cours d'Algorithmique

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

Page 38: Mes Cours d'Algorithmique

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 (+,-,*,/).

Page 39: Mes Cours d'Algorithmique

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

Page 40: Mes Cours d'Algorithmique

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)

Page 41: Mes Cours d'Algorithmique

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’) ;

Page 42: Mes Cours d'Algorithmique

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’) ;

Page 43: Mes Cours d'Algorithmique

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 :

Page 44: Mes Cours d'Algorithmique

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 (+,-,*,/).