cours1 (1)
-
Upload
fatii-senhaji -
Category
Documents
-
view
22 -
download
0
Transcript of cours1 (1)
IntroductionInformatique?:construit sur la contraction de l’expression «
information automatique ».L’informatique est la science du traitement
automatique de l’informationL’informatique traite de deux aspects
complémentaires : les programmes immatériels (logiciel, software) qui décrivent un traitement à réaliser et les machines (matériel, hardware) qui exécutent ce traitement.
IntroductionQu’est ce qu’un ordinateur :
une machine totalement dénuée d'intelligencecapable d’effectuer un grand nombre de tâches
Exécute très rapidement et sans erreurs sans erreurs les ordres qu'on lui donne
Qu’est-ce qu’un programme ?Assemblage et enchaînement
d’instructions élémentaires Écrit dans un langage de
programmationExécuté par un ordinateur afin de
traiter les données d’un problème et renvoyer un ou plusieurs résultats
Environnement de programmationProgramme s’écrit dans un fichier texte
On écrit les commandes les unes à la suite des autres
Le compilateur vérifie la syntaxe du fichier texte
Avaancer au lieu de avancertraduit en langage machine (100101100101001011…)
Hélas, il ne détecte pas les bugs !!!Si on fonce dans le mur, il ne nous dit rien !
Environnement de programmationEnvironnement de programmation dédié
Fichiersource compilateur
Fichiertraduit
Affichage des Erreurs
ProgrammationUn programme est réalisé dans le but
d’effectuer un ensemble de traitements particuliers sur un ensemble de donnéesDéfinir sous quelle forme les données initiales
seront fournies à l’applicationDéfinir sous quelle forme les résultats seront
communiquésExpliciter les différentes actions à réaliser pour
réaliser cette tâche
Données et traitementsDonnée : valeur stockée
variable ou constanteType
Traitement : opérations sur les données instructions
TraitementsDonnées initiales résultats
Analyse du problèmeDécomposer la tâche Exemple simple : moyenne de 10 notes
CalculerMoyenne
Lire et stockerles données
notes
Afficher laDonnée
moyenne
saisie clavier
affichage écran
notes saisies
moyenne affichée
Additionner lesdonnées notes
et stockerdonnée somme
Diviser la donnéesomme par 10et stocker la
donnée moyenne
Sous programmeSous-programme
Diviser pour mieux régnerIntérêts :
Programmer tâche par tâcheMeilleure lisibilité du codeÉconomie de codage et réutilisation
Inconvénients :Nécessite de réfléchir en blocs de
fonctionnalités
Algorithmique Un peu de vocabulaire…Un peu de vocabulaire…
AlgorithmeAlgorithme : enchaînement des actions : enchaînement des actions (instructions) nécessaires pour résoudre un (instructions) nécessaires pour résoudre un problèmeproblème
Différentes appellationsDifférentes appellations langage algorithmique langage algorithmique pseudo-langage de programmation pseudo-langage de programmation pseudo-code)pseudo-code)
Organisation d’un programme
PROGRAMME monProgr
/* Constantes: initialisation obligatoire */CONST const1 <- 10 : entier
const2 <- "bonjour!" : chaîne
// les variables au sens strictVAR varReel1, varReel2 : réels
varChaine : chaîne
DEBUTInstruction1Instruction2…FIN
déclarations
Corps du programme
Exemple d’un programme :
Les donnéesDonnéesDonnées = ensemble des informations
manipulées par un programme
Les données d'un programme sont mémorisées en mémoire centrale dans des variablesvariables (sortes de cases)
Notion de variableUne variable possède :
une valeurvaleur contenue par la case mémoireun identificateuridentificateur : nom unique par lequel on
peut accéder à son contenuun typetype qui définit la taille de la place occupée
Ne pas confondre la variablevariable et son contenucontenuUne variable est un contenantcontenant (case ou boîte)Le contenu d'une variable est uneune valeurvaleur
numérique, alphanumérique…
Variable
Une variable (VAR) est donc une « boite » dans laquelle on met une valeur (un nombre, un mot…) qui peux changer (si l’utilisateur modifie la valeur par exemple)
Les variables dont la valeur ne change pas au cours de l'exécution du programme sont appelées variables constantes (CONST)
Déclaration de variableDéclarer une variable :
réserver une place en mémoire attribuer l'identificateur à cette place
La déclaration indique :l’identificateurle type
Exemple : VAR maVar : réel
Types (1)Type caractère
lettres, chiffres, ponctuation, code des opérations, espace, retour chariot,…
Exemples : ‘a’ ‘+’ ‘.’
Type chaîne de caractèresuites de caractèresExemples : « bonjour » « cac40 »
Types (2)Type entier
les nombres entiersExemples : 3 45 133
Type réelles nombres réelsExemples : 3,14 37,7
Exemples de variables
Identificateur : XType : entierValeur : 25
Identificateur : YType : réelValeur : 3,7
Mémoire centrale(mémoire vive)
25X
3,7Y
OpérateursLes opérations possibles sur les variables
dépendent de leur typeOn ne peux pas multiplier des mots…
Réels opérations possibles
symbole ou mot clé
additionsoustractionmultiplicationDivisioncomparaisons
+-*/<, ≤, >, ≥, =, ≠
Entiers opérations possibles
symbole ou mot clé
additionsoustractionMultiplicationDivisionDivision entièreModulo Comparaisons
+-*/DIV MOD<, ≤, >, ≥, =, ≠
Chaînes opérations possibles
symbole ou mot clé
ConcaténationLongueurExtraction
&Longueur (chaîne)Extraction (sous-ch, ch)
Booléens opérations possibles
symbole ou mot clé
comparaisonnégationconjonctiondisjonction
=, ≠NONETOU
RappelPROGRAMME monProgr
/* Constantes: initialisation obligatoire */CONST const1 <- 10 : entier
const2 <- "bonjour!" : chaîne
// les variables au sens strictVAR varReel1, varReel2 : réels
varChaine : chaîne
DEBUT
Instruction1Instruction2…
FIN
déclarationsdéclarations
Corps du programmeCorps du programme
InstructionsInstruction = ordreordre que peut exécuter
l'ordinateurexécution d'un programme :
Échanges d'informations en mémoireCalculsAffichage des résultats
InformationsLes informations manipulées par les
instructions peuvent prendre plusieurs formes:des variablesvariablesdes constantesconstantesdes valeurs littéralesvaleurs littérales ("bonjour", 45, VRAI)des expressionsexpressions complexes : combinaisons de
variables, constantes et valeurs littérales avec des opérateurs (2 * r * 3.14)
Les instructions élémentairesAffectationAffectation : le fait de donner une nouvelle
valeur à une variable (mettre un nombre dans une boite)
lirelire: Permet à l’ordinateur de récupérer ce que l’utilisateur tape au clavier
ecrireecrire: Permet à l’ordinateur d’afficher sur l'écran ce qu’on veux (le résultat d’un calcul, une variable…)
L’ affectationSyntaxe :
Variable <- Valeur
Valeur évaluée à partir d’une expression : Variable (le contenu d’une autre boite…)Constante (une valeur fixe : PI…)valeur littérale (3 6 5.12…)expressions complexes (un calcul…)
Différence avec le = mathématiquesQuand on dit qu'une variable prend pour
valeur une autre variable, ça ne veut pas dire qu'elles seront toujours égales !
Cela veut seulement dire que la première variable va prendre la valeur de la secondeLe contenu de la première boite sera le même
celui de la seconde boite…Mais si on modifie le contenu de la seconde
boite après, ça n’a pas d’impact sur le contenu de la première boite !
Exemples Algo : x <- y différend de y <- xMaths : x = y équivaut à y = x
Algo : x + 12 <- y impossible !Maths : x + 12 = y a un sens
Algo : x <- x + 7 a un sensMaths : x = x + 7 impossible
La saisieSyntaxe :
Lire variable1 [,variableN]*Permet à un utilisateur de communiquer des
données au programmeAssigne une valeur entrée au clavier dans
une variableTant que l'utilisateur n'entre rien au clavier,
le déroulement du programme est stoppé
Avantages Utiliser le même programme pour des
données différentesSans instruction de saisie (ou de lecture sur
un périphérique quelconque), un programme fournirait toujours le même résultat
Pièges Saisir une valeur ne correspondant pas au
type de la variable où elle doit être stockéeEssayer de mettre un mot dans une variable de
type texteL’utilisateur peut penser que le programme
s’est arrêtéSi il n’y a rien d’affiché, l’utilisateur ne voit
qu’un curseur clignotant…
L’affichageSyntaxe :
ecrire variable1 [, variableN]*
L'instruction d'affichage permet de fournir des résultats à l'utilisateur à travers l'écran
ExemplesEcrire(x)Ecrire(«bonjour»)Ecrire(x, y, z)Ecrire(x + y)Ecrire(«le résultat de x + y est : », x + y)
On peut afficher plusieurs trucs à la suite grâce à la virgule !
Avantages Permet de fournir un résultatPermet de guider l’utilisateurPermet d’afficher des valeurs intermédiairesPermet de débuguer
Exemple completPROGRAMME bonjour
CONST bj <- «Bonjour» : chaînemr <- «Monsieur » : chaîne
VAR varNom, ch : chaîne
DEBUTEcrire(«Quel est votre nom ?»)Lire(varNom) ch <- mr & varNomEcrire(bj, ch )FIN
Réaliser un algorithme : exprimer en pseudo-code les règles de traitement d’un problème pour le soumettre à un ordinateur (par un programme)
Les données d’un programme sont mémorisées dans des variables qui sont des cases mémoire
Les instructions permettent de manipuler et de déplacer une donnée d'un endroit à un autre de la mémoire
Une variable est un contenant, qui contient une et une seule valeur à un moment donné. Elle est caractérisée par un identificateur (son nom)une valeur (qui peut varier au cours du programme, sauf
pour les constantes)un type (qui détermine sa taille et les opérations
possibles)Les instructions de base sont :
l'affectation (permet de changer la valeur d'une variable) la saisie (permet d'assigner à une variable, une valeur
entrée au clavier) l'affichage (permet d'écrire le contenu d'une variable ou
d'une expression à l'écran)
Exemples de synthèse…
Exemple 1 : Calcul de la surface d ’un rectangle Analyse :
Les trois étapes de cet algorithme :1. Lecture de données, longueur et largeur2. Calcul de la surface, longueur*largeur3. Edition du résultat
Algorithme :Algorithme surface_rectangle;Variables longueur, largeur, surface : réel;Début
Ecrire (‘ Donner les valeurs de la longueur et la largeur ’);
Lire (longueur, largeur);surface longueur*largeur;Ecrire (‘ la surface du rectangle est : ’, surface);
Fin
50
Exemples de synthèse…
Exemple 2 : euroVersDirham Analyse :
Les trois étapes de cet algorithme :1. Lecture des données : VE, tauxC2. Calcul du VD (valeur en dirham)3. Edition du résultat
Algorithme :Algorithme euroVersDirham Variables VE, VD, tauxC : réel;Début
Ecrire (‘ Donner les valeurs du VE et de tauxC);Lire (VE, tauxC);VD VE*tauxC;Ecrire (‘ le prix VD est : ’,VD);
Fin
Entête
Déclaration des variables
Les instructions
51
Commentaires…
Afin d'améliorer la lisibilité d'un algorithme, on peut utiliser des commentaires. Un commentaire est une suite de caractères quelconques encadrée par les symboles /* et */
Exemple : /* ceci est un commentaire */
/* le calcul du prix TTC */Algorithme prix_ttc; /* entête de l ’algorithme *//* déclaration des variables */Variables PH,TVA, PTTC : réel; Début /* lecture des variables PH et TVA */
Ecrire (‘ Donner les valeurs du PH et de la TVA’);Lire (PH, TVA);PTTC PTTC+PH*TVA; /* Calcul du PTTC */Ecrire (‘ le prix TCC est : ’,PTTC); /* Edition du
résultat */
Fin
/* le calcul du prix TTC */Algorithme prix_ttc; /* entête de l ’algorithme *//* déclaration des variables */Variables PH,TVA, PTTC : réel; Début /* lecture des variables PH et TVA */
Ecrire (‘ Donner les valeurs du PH et de la TVA’);Lire (PH, TVA);PTTC PTTC+PH*TVA; /* Calcul du PTTC */Ecrire (‘ le prix TCC est : ’,PTTC); /* Edition du
résultat */
Fin52
Exercices…
1. Soient n et m deux entiers, écrire l ’algorithme qui permute les valeurs de n et m (exemple : passer de n=10, m=15 à n=15, m=10)
Algorithme permutation; Variables X,Y : réel ;
Z : réel ; /* variable intermédiaire */Début /* lecture des variables X et Y */
Ecrire (‘ Donner les valeurs de X et de Y’);Lire (X, Y);Ecrire (‘ Avant permutation : X =’,X, ‘ Y=‘ ,Y); /* permutation des valeurs des variables X et Y */Z X ;X Y ;Y Z ;Ecrire (‘ Après permutation : X =’,X, ‘ Y=‘ ,Y);
Fin
Algorithme permutation; Variables X,Y : réel ;
Z : réel ; /* variable intermédiaire */Début /* lecture des variables X et Y */
Ecrire (‘ Donner les valeurs de X et de Y’);Lire (X, Y);Ecrire (‘ Avant permutation : X =’,X, ‘ Y=‘ ,Y); /* permutation des valeurs des variables X et Y */Z X ;X Y ;Y Z ;Ecrire (‘ Après permutation : X =’,X, ‘ Y=‘ ,Y);
Fin
53
2. Les structures de contrôles…
ObjectifsDans ce chapitre nous décrivons :• la structure alternative SI … ALORS … SINON• la structure de choix multiple CAS ...• les structures répétitives
– la boucle POUR – la boucle TANT QUE– la boucle REPETER
ObjectifsDans ce chapitre nous décrivons :• la structure alternative SI … ALORS … SINON• la structure de choix multiple CAS ...• les structures répétitives
– la boucle POUR – la boucle TANT QUE– la boucle REPETER
54
Enchaînement des actions…
s2
s1
e2
TT2
T
e1
T1
On utilisera cette structure lorsqu'une action doit succéder à une autre
Exemple : Calcul du prix TTC Algorithme :Algorithme prix_ttcVariables PH,TVA, PTTC : réel;Début
Ecrire (‘ Donner les valeurs du PH et de la TVA’);
Lire (PH, TVA);PTTC PTTC+ PH*TVA;Ecrire (‘ le prix TCC est : ’,PTTC);
Fin
55
Structure alternative ou conditionnelle…
SI (Condition)ALORS T1;SINON T2;
FSI
SI (Condition)ALORS T1;SINON T2;
FSI
La condition désigne une expression booléenne dont la valeur est VRAI ou FAUX. T1 et T2 désignent une suite d'instructions (pouvant elles mêmes être des structures alternatives).
condition
Vraie ?
T 1 T 2
oui non
suite du programme
56
Structure alternative ou conditionnelle…
ALGORITHME MAXIMUM_DE_DEUX_NOMBRESVARIABLES
A, B : ENTIER; /* les deux nombres à comparer */MAX : ENTIER; /* le plus grand */
DEBUTECRIRE('Entrez les valeurs de A et B :');LIRE(A, B);SI (A >= B)
ALORS MAX A;SINON MAX B;
FSI /* Fin de la structure SI */ECRIRE('le maximum de ', A,' et de ',B,' est : ',MAX);
FIN
ALGORITHME MAXIMUM_DE_DEUX_NOMBRESVARIABLES
A, B : ENTIER; /* les deux nombres à comparer */MAX : ENTIER; /* le plus grand */
DEBUTECRIRE('Entrez les valeurs de A et B :');LIRE(A, B);SI (A >= B)
ALORS MAX A;SINON MAX B;
FSI /* Fin de la structure SI */ECRIRE('le maximum de ', A,' et de ',B,' est : ',MAX);
FIN
Exemple 1 : n et m sont deux entiers. Écrire l ’algorithme qui retourne la plus grande valeur de A et B ?
57
Structure alternative ou conditionnelle…
ALGORITHME MAXIMUM_DE_DEUX_NOMBRESVARIABLES
A, B : ENTIER; /* les deux nombres à comparer */MAX : ENTIER; /* le plus grand */
DEBUTECRIRE('Entrez les valeurs de A et B :');LIRE(A, B);MAX ASI (B >A)
ALORS MAX B;FSI /* Fin de la structure SI */ECRIRE('le maximum de ', A,' et de ',B,' est : ',MAX);
FIN
ALGORITHME MAXIMUM_DE_DEUX_NOMBRESVARIABLES
A, B : ENTIER; /* les deux nombres à comparer */MAX : ENTIER; /* le plus grand */
DEBUTECRIRE('Entrez les valeurs de A et B :');LIRE(A, B);MAX ASI (B >A)
ALORS MAX B;FSI /* Fin de la structure SI */ECRIRE('le maximum de ', A,' et de ',B,' est : ',MAX);
FIN
Exemple 1 : n et m sont deux entiers. Écrire l ’algorithme qui retourne la plus grande valeur de A et B ?
58
Structure alternative ou conditionnelle…
ALGORITHME Valeur_absolueVARIABLES
N : ENTIER;ABS : ENTIER; /* valeur absolue */
DEBUTECRIRE('Entrez une valeur entière :');LIRE(N);SI (N >=0)
ALORS ABS N;SINON ABS -N;
FSIECRIRE( ’la valeur absolue de ', N,' est : ',ABS);
FIN
ALGORITHME Valeur_absolueVARIABLES
N : ENTIER;ABS : ENTIER; /* valeur absolue */
DEBUTECRIRE('Entrez une valeur entière :');LIRE(N);SI (N >=0)
ALORS ABS N;SINON ABS -N;
FSIECRIRE( ’la valeur absolue de ', N,' est : ',ABS);
FIN
Exemple 2 : Afficher la valeur absolue d ’un entier quelconque N
59
Exercice : on veut résoudre, dans l’ensemble des nombres réels, une équation du second degré à coefficients réels. a, b et c sont des réels non nuls, écrire l ’algorithme qui retourne les racines réelles de l équation suivante : ax2 + bx +c = 0
Structure alternative ou conditionnelle…
60
Structure alternative généralisée…
s
e
T4 T3 T2 T1
Expression
Suivant la valeur de l'expression, un des traitements T1, T2, T3 ou T4 est exécuté.
61
Structure alternative généralisée…
En pseudo-langage, on écriraCAS (expression)
valeur1 : T1;valeur2 : DEBUT
T21;T22;
FINvaleur3 : T3;valeur4 : T4;AUTRE T_autre;
FIN CAS
En pseudo-langage, on écriraCAS (expression)
valeur1 : T1;valeur2 : DEBUT
T21;T22;
FINvaleur3 : T3;valeur4 : T4;AUTRE T_autre;
FIN CAS
62
Structure alternative généralisée…
Exemple : On désire calculer le salaire net (SN) d'un employé en tenant compte du nombre de personnes à charge. Le tableau des déductions par rapport au nombre de personnes à charge est le suivant :
Ecrire l ’algorithme qui lit les données suivantes : le nombre de personnes à charge (pers_ch de type entier) le nombre d'heures de travail (nb_heur de type entier) le taux horaire (taux de type réel)
puis calcule le salaire net ?
Nombre de personnes à charge
0
1
2
3
4 ou 5
6 et plus
Déductions du salaire brut (SB)
20%
18%
15%
13%
10%
08%
63
Structure alternative généralisée…
ALGORITHME exemple1_CASVARIABLES
SN, SB, Taux : réel;nb_heur, pers_ch : entier;déduction : réel;
DEBUTECRIRE( ’le nombre de pers_ch '); LIRE (pers_ch);ECRIRE( ’le nombre d heures '); LIRE (nb_heur);ECRIRE( ’le taux horaire '); LIRE (taux);SB taux*nb_heur;CAS (pers_ch)
0 : déduction 0.20*SB;1 : déduction 0.18*SB;2 : déduction 0.15*SB;3 : déduction 0.13*SB;4,5 : déduction 0.10*SB;AUTRE déduction 0.08*SB;
FIN CASSN SB - déduction ECRIRE(‘ le salaire net est : ‘ ,SN);
FIN
ALGORITHME exemple1_CASVARIABLES
SN, SB, Taux : réel;nb_heur, pers_ch : entier;déduction : réel;
DEBUTECRIRE( ’le nombre de pers_ch '); LIRE (pers_ch);ECRIRE( ’le nombre d heures '); LIRE (nb_heur);ECRIRE( ’le taux horaire '); LIRE (taux);SB taux*nb_heur;CAS (pers_ch)
0 : déduction 0.20*SB;1 : déduction 0.18*SB;2 : déduction 0.15*SB;3 : déduction 0.13*SB;4,5 : déduction 0.10*SB;AUTRE déduction 0.08*SB;
FIN CASSN SB - déduction ECRIRE(‘ le salaire net est : ‘ ,SN);
FIN64
Structure alternative généralisée…
Exercice : Écrire l ’algorithme qui lit un caractère et vérifie s ’il est une lettre, un chiffre ou un caractère spécial.
ALGORITHME exemple2_CASVARIABLES
C : CARACTERE;DEBUT
ECRIRE('Entrez un caractère :');LIRE(C) ;CAS (C)‘ a ’ … ‘ z ’ , ‘ A ’ … ‘ Z ’ : ECRIRE(C , ’ est une lettre ’);‘ 0 ’ … ‘ 9 ’ : ECRIRE(C , ’ est un chiffre ’);AURTE : ECRIRE(C , ’ est un caractère spécial ’);FIN CAS
FIN
ALGORITHME exemple2_CASVARIABLES
C : CARACTERE;DEBUT
ECRIRE('Entrez un caractère :');LIRE(C) ;CAS (C)‘ a ’ … ‘ z ’ , ‘ A ’ … ‘ Z ’ : ECRIRE(C , ’ est une lettre ’);‘ 0 ’ … ‘ 9 ’ : ECRIRE(C , ’ est un chiffre ’);AURTE : ECRIRE(C , ’ est un caractère spécial ’);FIN CAS
FIN 65
Structures itératives…
La notion d'itération est l'une des notions fondamentales de l'algorithmique. Elle est utilisée lorsque l'on doit exercer plusieurs fois le même traitement sur un même objet.
Il existe trois structures de répétition :
1. La boucle POUR2. La boucle TANT QUE3. La boucle REPETER
bloc d'instructions
oui
suite du programme
initialisation
condition Vraie ?
non
modification
66
La boucle POUR…
ou
• variable_de_contrôle est la variable de contrôle (compteur)• valeur_min et valeur_max indique respectivement la valeur minimale est la valeur maximale
Pour variable_de_contrôle = valeur_min jusque valeur_max Faire Début
Bloc d ’instructions;Fin
Pour variable_de_contrôle = valeur_min jusque valeur_max Faire Début
Bloc d ’instructions;Fin
67
ALGORITHME exemple1_POURVARIABLES
n : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTECRIRE('Entrez une valeur entière :');LIRE(n);POUR i=1 jusque n FAIREdébut
ECRIRE( i);Fin
FIN
La boucle POUR…
Exemple 1 : Soit n un entier, afficher les valeurs 1, 2, …, n
68
ALGORITHME exemple2_POURVARIABLES
n, fac : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTECRIRE('Entrez une valeur entière :');LIRE(n);fac 1POUR i=1 jusque n FAIREdébut
fac fac*iFin ECRIRE( ’factoriel de ', n,' est : ',fac);
FIN
La boucle POUR …
Exemple 2 : Calculer n! (n!= 1*2*3* … *n)
69
La boucle Tant que
Lorsque la condition a pour valeur VRAI, on exécute le traitement T1 puis on revient tester la condition.Il est donc nécessaire que l'action T1 modifie la condition sinon l'itération ne s'arrêtera pas.Lorsque la condition a pour valeur FAUX, le traitement séquentiel continue. L'itération est terminée
FAUX
VRAI
s
T1
e
Condition
TANT QUE Condition FAIREDEBUT
T1;FIN
TANT QUE Condition FAIREDEBUT
T1;FIN
70
La boucle Tant que
Exemple : Une suite S de nombres non nuls est saisie au clavier. La fin de S est marquée par un nombre nul. Écrire l’algorithme qui affiche les variables (Pos) et (Neg) représentant respectivement le nombre de valeurs positives et le nombre de valeurs négatives
71
La boucle Tant que ALGORITHME exemple_Tant-queVARIABLES
pos, neg ,n : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTpos 0 ; neg 0 ECRIRE('Entrez une valeur entière : (0 pour terminer)');LIRE(n);TANT QUE (n<>0) FAIREdébut /* début de tant que */
SI n<0 ALORS neg neg +1SINON pos pos +1ECRIRE('Entrez une valeur entière : (0
pour terminer)');LIRE(n);
fin /* fin de tant que */… /* afficher les valeurs de Pos et neg */FIN72
La boucle REPETER
REPETERBloc d ’instructions;
JUSQU’A CE QUE (expression soit Vraie)
REPETERBloc d ’instructions;
JUSQU’A CE QUE (expression soit Vraie)
b l o c d '
i n s t r u c t i o n s
c o n d i t i o n v r a i e
O u i
s u i t e d u p r o g r a m m e
N o n
73
Exercices Exercice 1: Calcul de la somme des n premiers entiers positifs
Calculer la somme des n premiers entiers positifs, par additions successives des entiers : Somme = 1+2+…+N. /* La structure Pour */ALGORITHME Somme_v1 VARIABLES
somme ,N : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTSomme 0; ECRIRE('Entrez la valeur de N');LIRE(N);Pour i=1 jusqu ’a N Fairedébut /* début de Pour */
Somme Somme +i;fin /* fin de Pour */ECRIRE(‘ Somme = ’, Somme);
FIN
/* La structure Pour */ALGORITHME Somme_v1 VARIABLES
somme ,N : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTSomme 0; ECRIRE('Entrez la valeur de N');LIRE(N);Pour i=1 jusqu ’a N Fairedébut /* début de Pour */
Somme Somme +i;fin /* fin de Pour */ECRIRE(‘ Somme = ’, Somme);
FIN74
/* La structure Tant que */ALGORITHME Somme_v2 VARIABLES
somme ,N : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTSomme 0 ; ECRIRE('Entrez la valeur de N');LIRE(N);i=1;Tant que (i<=N) Fairedébut /* début de Tant que */
Somme Somme +i;i=i+1;
fin /* fin de Tant que */ECRIRE(‘ Somme = ’, Somme);
FIN
/* La structure Tant que */ALGORITHME Somme_v2 VARIABLES
somme ,N : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTSomme 0 ; ECRIRE('Entrez la valeur de N');LIRE(N);i=1;Tant que (i<=N) Fairedébut /* début de Tant que */
Somme Somme +i;i=i+1;
fin /* fin de Tant que */ECRIRE(‘ Somme = ’, Somme);
FIN
Exercices
75
Exercices /* La structure Répéter */
ALGORITHME Somme_v2 VARIABLES
somme ,N : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTSomme 0 ; ECRIRE('Entrez la valeur de N');LIRE(N);i=1;Répéter
Somme Somme +i;i=i+1;
Jusque ’a ce que (i>N)ECRIRE(‘ Somme = ’, Somme);
FIN
/* La structure Répéter */ALGORITHME Somme_v2 VARIABLES
somme ,N : ENTIER;i : ENTIER; /* variable de contrôle */
DEBUTSomme 0 ; ECRIRE('Entrez la valeur de N');LIRE(N);i=1;Répéter
Somme Somme +i;i=i+1;
Jusque ’a ce que (i>N)ECRIRE(‘ Somme = ’, Somme);
FIN
76
Exercices Exercice 1
Écrire l'algorithme qui calcule le carré d'un entier saisi au clavier.
Exercice 2Écrire l'algorithme qui saisie un prix unitaire, une quantité et qui calcule le prix total.
Exercice 3Écrire l'algorithme qui lit deux nombres et les imprime dans l’ordre croissant de leurs valeurs.
Exercice 4Soient trois nombres x, y et z. Écrire un algorithme qui détermine et imprime le plus grand des trois.
77
A partir d’un nombre lu en données, on détermine un montant net par application d’une remise de :
1.5 % si le montant est compris entre 2000 et 5000 DH 2.5 % si le montant est compris entre 5001 et 10000 DH 3 % si le montant excède 10000 DH
Écrire l'algorithme qui lit en entrée le montant et fournit en sortie la remise net.
Exercices
78