UMBB, Faculté des Sciences,
Département d’informatique
MI ING, Premiére année, Semestre 1
Matitre : ASDS1
Travaux Dirigés 1
Notions de base et Structures de contréle alternatives
Notes de cours :
+ La structure d'un algorithme est :
‘Algorithme < nom de l'algorithme > ;
< Partie déclaration >
Debut
< Partie action >
Fin,
+ La casse n'est pas importante.
+ Les types de base sont : entier, reel, caractere et bool.
Les opérations arithmétiques pour les réels et les entiers sont : +,-,*/. Appliquée entre deux entiers / donne un
réel. Appliquées entre un reel et un entier elles donnent un réel.
Pour simplifier, on supposera en algorithmique quil n y a pas de bore pour les entiers et les réels.
Un identificateur est une chaine alphanumérique pouvant utiliser _ mais commengant par un alphabétique.
Pout évaluation d'expressions, on supposera l'ordre de priorités décroissant suivant
1. NON, - unaire ;
2. Opérateurs multiplicatifs : *, /, BT ;
3. additifs : +, - binaire, OU ;
4, relationnels a
Les conflits sont évalués de gauche a droite.
Les actions de base sont : lire, — (ou ==) , ecrire ;
+ Onne peut affecter un réel a un entier, mais on peut les eomparer ;
+ Onne peut réaliser daffectation entre un caractére et un entier (dans les 2 sens) et on ne peut les comparer.
+ On peut comparer deux caractéres et le résultat dépend de leurs codes ASCIL
+ Unmessage est mis entre cotes simples comme suit : cerire(‘ceci est un message’)
+ Les opérateurs boolgens ne sont applicables que sur des booléens ; ie. si A est un entier, Non A est incorrecte
+ On suppose que faux < vrai
+ Pour Ninstruction si..alors...f8i ; le délimiteur de bloc fi doit etre mis qu'il y ait une ou plusieurs instructions
dans le bloc. Par conséquent, la mise d'un 'y’ avant sinon n'est pas interdite
Exercice 1: Exercice
Que va afficher chacun des algorithmes suivants ?
Jstifer.
“Algorithme exemple 1;
var A,B, somme: entir ;
Début
Lire(A,B) ;
somme — A‘B;
Ecrire(somme) ;
Fin,
Algorithme exemple 2;
var A, B, somme: entier
Debut
Ecrire(‘Donner A et B))
somme + A=B
Ecrire(somme) ;
Fin,
Exercice 2:
Parmi les identificateurs suivants quels sont ceux qui
sont valides et ceux qui ne le sont pas
Mat UneValeurEntiere —Val-Abs
MI546 B3F2_G2Oper Premiere
cing Debut debut
Quel est le type du résullat de division d'un réel
dont la partie décimale est nulle par l'entier un ?
Justifier.
Exercice 4:
Ecrire un algorithme qui demande un nombre a
Yutilisateur, puis calcule et affiche son carré celui-
Exercice 5:
Ecrire un algorithme qui calcule la somme, la
difference et le produit de deux nombres
Exercice 6:
Les algorithmes suivants contiennentils des
erreurs? Dans l'affirmatif, déterminer toutes les
erreurs pour chaque algorithme.
1. Algorithme Test ;
Var A,B, C :entier ;
Debut
Ae22;
CAB;
C-AB;
Dea;
3Eorire (A,B,D) ;
Fin
2. Algorithme Test2 ;
Const cing = 5;
lettre ='e";
Var E_ :entier:
YL :t6el;
C1, C2 :earactére 5
Debut
Lire(E,C1,C2)
Y-523+E;
ZB:
e-cl:
Cl-E
Cl -eHC2;
Berire(Y, Z, cing);
Fin,
3. Algorithme Test3
Const cing = 5;
Var X,Y\Z sentir
Debut
Lire) 5
Xe2
¥-x;
7 ecingt 5
ZX;
cing ~ Xty+5;
Eerire(Y, Z, cing) ;
Fin
Exercice 7:
Ecrire un algorithme qui permute le contenu de
deux variables de méme type en utilisant une
variable intermédiaire,
Exercice 8 :
Construire un algorithme permettant de lire 3
nombres a, b et ¢ pour effectuer la permutation
circulaire de ces nombres. Exemple si a=5, b=2,
en sortie nous aurons a=6, b=5, =2.
Exercice 9:
Eerire un algorthme qui calcule puis affiche pour une
valeur donnée de x la valeur du polynéme 7x"+5x2+15,
Exercice 10:
Ferire un algorithme qui determine la valeur absolue
dun nombre réel donne
Exercice 11:
Eerire un algorithme qui termine le minimum de deus
nombres enters
Exereice 12:
Eerie un algorthme qui détermine le minimum de trois
nombres enles
Exercices supplémentaires
Exercice 13 :
a. Etant donné Valgorithme suivant
Algorithme exemple] ;
var A,B,C ,D :entier
Debut
Lire(A.B) ;
Bel;
c-2;
D-3:
Lire(C):
CH AND;
Eerire(A,B,C.D) ;
Fin
+ Quelles seraient les valeurs finales de A,B,C et
D, siles données d'entrée sont 10, 20 et 30?
+ Que peut-on conclure ?
b. Si on exécute la suite dactions suivantes, quelle
serait la valeur affichce a la fin
Algorithme exemple2 ;
var k:entier;
Debut
Berire(K) ;
Fin,
Exercice 14:
Evaluer les expressions suivantes en justifiant
L727
2 a<'al
23
Exercice 15:
En utilisant les regles de priorité entre opérateurs,
mettre les _parenthéses dans les expressions
suivantes de telle sorte a indiquer ordre
devaluation des différentes _opérations puis
évaluez les expressions:
a. Expressions arithmétiques :
+ ASBICHD,
+ ASBACHD),
+A) B+1/5/B-CHD I
AN :A=1,B-2,C-2D-3,
b, Expressions booléennes
+ AQuBEtNon€.
+ Non A OuB ETC.
+ Non(CEtA OuB),
AFtNon C Et Non B Ou A.
A@BEB>C,
AN: A=Faux.B=Vrai¥
Exercice 16:
Pour chacune des alternatives suivantes, déterminer
affectation qui sera exécutée dans les deux cas,
suivants:
LxeLety-2
Qxodetyal
a Six<2 Alors Awl;
Sinon A =O}
Psi;
b, Sik <2) Bt <3) Alors AI;
Sinon A =O}
Fsi
eSi(x<2)Ou(y>3) Alors A =ISinon AO;
sis
d. SiNon (x <0) Alors Aw;
Sinon A -0;
Fsis
Exercice 17:
Pour attier la clientéle, le gérant d'un magasin multi-service
applique, pour la photocopie de documents, une tatification
proportionnelle au nombre de copies réalisées comme suit
0 < nombre de copies < 50 Prix unitaire 4 DA.
51 = nombre de copies <100 Prix unitaire 3 DA
101
Vous aimerez peut-être aussi