Vous êtes sur la page 1sur 6

Filière SMI, S2

Série TD n°1 Algorithmique I

Exercice 1
Quelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?

Variables A, B, C en Entier
Début
A ← - 6
B ← 2
C ← A + B
A ← 0
C ← B – A
Fin
A=0 ; B= 2 ; C= 2

Exercice 2
Lesquels des identificateurs suivants sont acceptés ?
• Var-65 X • MOYENNE A_ X • 3eme_indice X • Pour X
• Var.1 X • Si_A √ • __N*_ X • Sinon X
• _1_ √ • à X • Nombre,n X • lim_supérieure X

Exercice 3
Quel est le résultat booléen de chaque teste : a←6 b ← -5 c ← 0.8
● (b > 0) ou (c > 1) ? Faux ● non ((b > a) et (c > b)) ?vrai

● (b > 9) ou (c > 1) ? Faux ● ((b > a) et (c > b)) ou (a < 0) ?faux

● (b > a) et (c > b) ? Faux ● (c et -59) ou (b ou a) ? Vrai

● (b > a) et (c < 0) ? Faux ● Non ( ( a+6) et b)faux

● non (c < a) ? Faux ● Non (c et -59 et a*b) ?faux

Exercice 4
Quelles seront les valeurs des variables Var_e, Var_r et Var_c après exécution de chaque instruction ?

Var_e : entier Var_r : réel Var_c : caractère


● Code ASCII de ‘d’ est 100

● Code ASCII de ‘7’ est 55


Var_e ← 7 7 Var_r ← 7 7.0000 Var_c ← 7 code
ascii de 7
Var_e ← 7.650 7 Var_r ← 7.650 7.6500 Var_c ← 7.650
code ascii de 7
Var_e ← ‘d’ 100 Var_r ← ‘d’ Var_c ← ‘d’ ‘d’
100.0000
Var_e ← ‘7’ 55 Var_r ← ‘7’ 55.0000 Var_c ← ‘7’ ‘7’

Exercice 5
Écrire un algorithme permettant d’échanger les valeurs de deux variables A et B.

Algorithme Echange
Variables A, B, C : Entier
Début
A ← 6
B ← 2
Ecrire (A, B)
C ← A
A ← B
B ← C
Ecrire (A, B)
Fin

Exercice 6
Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le carré de ce nombre.

Algorithme Carré
Variables N en Entier
Début
Ecrire (‘’ Veuillez insérer votre nombre’’)
Lire (N)
Ecrire (‘’Le carré de’’, N, ‘’est :’’, N*N)
Fin

Exercice 7
Ecrire un algorithme qui demande un nombre à l’utilisateur, et l’informe ensuite si ce nombre est
positif ou négatif (on laisse de côté le cas où le nombre vaut zéro).
Algorithme Pos_Nég
Variables N : Entier
Début
Ecrire (‘’ Veuillez insérer votre nombre’’)
Lire (N)
Si (N<0)
Ecrire (N, ‘’est un nombre positif’’)
Sinon
Ecrire (N, ‘’est un nombre négatif’’)
FinSi
Fin

Exercice 8
Ecrire un algorithme qui demande deux nombres à l’utilisateur et l’informe ensuite si le produit est négatif ou
positif (on inclut le traitement du cas où le produit peut être nul). Attention toutefois, on ne doit pas calculer le
produit !
Algorithme Produit
Variables A, B : Entier
Début
Ecrire (‘’ Veuillez insérer vos nombres’’)
Lire (A, B)
Si (A=0 ou B=0)
Ecrire (‘’le produit est nul’’)
FinSi
Si ((A>0 et B>0) ou (A<0 et B<0) )
Ecrire (‘’le produit est positif’’)
Sinon
Ecrire (‘’le produit est négatif’’)
FinSi
Fin

Exercice 9
Ecrire un algorithme qui permet de résoudre l’équation ax+b =0

Algorithme RésolutionEquation;
Var a, b: réel;
Début
Ecrire ("Donnez la valeur de a");
Lire (a);
Ecrire ("Donnez la valeur de b");
Lire(b);
si a=0 Alors
si b=0 alors
Ecrire (‘ Tous réel est solution’);
sinon
Ecrire (‘Pas de solution’);
finsi
sinon
Ecrire (‘Solution unique x=’, -b/a);
finsi
Fin

Exercice 10
Ecrire un algorithme qui permet de résoudre l’équation ax2+bx +c =0.
Algorithme RésolutionEquation;
Var A, B, C, delta : réel;
Début
Ecrire ("Donnez la valeur de a");
Lire (A);
Ecrire ("Donnez la valeur de b");
Lire(B);
Ecrire ("Donnez la valeur de c");
Lire (C);
si A=0 Alors
Ecrire (‘Equation de 1er ordre’);
si B=0 Alors
si C=0 alors
Ecrire (‘ Tous réel est solution’);
sinon
Ecrire (‘Pas de solution’);
finsi
sinon
Ecrire (‘Solution unique x=’, -C/B);
finsi
sinon
delta ← B*B-4*A*C;
si delta <0 alors
Ecrire (‘Pas de solution’);
sinon
si delta =0 alors
Ecrire (‘ Solution double : x1=x2=’,-B/2*A);
sinon
Ecrire (‘Deux solutions x1=’, (-B-( sqrt
(delta)))/2*A, ‘ ; x2=’,(-B+( sqrt (delta)))/2*A);
finsi
finsi
finsi
Fin

Exercice 11
Ecrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa catégorie :

 "Poussin" de 6 à 7 ans
 "Pupille" de 8 à 9 ans
 "Minime" de 10 à 11 ans
 "Cadet" après 12 ans

Algorithme Catégorie
Variables Age : Entier
Début
Ecrire ("Entrez l’âge de l’enfant : ")
Lire (age)
Si (age >= 12) Alors
Ecrire ("Catégorie Cadet ")
Sinon
Si (age >= 10) Alors
Ecrire ("Catégorie Minime ")
Sinon
Si (age >= 8) Alors
Ecrire ("Catégorie Pupille ")
Sinon
Si (age >= 6) Alors
Ecrire ("Catégorie Poussin ")
Finsi
Finsi
Finsi
Finsi
Fin

Exercice 12
Un magasin de reprographie facture 0,10 DH les dix premières photocopies, 0,09 DH les vingt suivantes et 0,08
DH au-delà. Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées et qui
affiche la facture correspondante.

Algorithme facture
Variables n, p : réels
Début
Ecrire ("Donner le nombre de photocopies : ")
Lire (n)
Si (n <= 10) Alors
p ← n * 0,1
Sinon
Si (n <= 30) Alors
p ← 10 * 0,1 + (n – 10) * 0,09
Sinon
p ← 10 * 0,1 + 20 * 0,09 + (n – 30) * 0,08
FinSi
FinSi
Ecrire ("Le prix total est: ", p)
Fin
Exercice 13
Des habitants 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 genre, et se prononcera donc ensuite sur le fait que
l’habitant est imposable.

Algorithme Impôts
Variables genre : Caractère
age : entier
C1, C2 : booléen
Début
Ecrire ("Entrez le genre (M/F) : ")
Lire (genre)
Ecrire ("Entrez l’âge: ")
Lire (age)
C1 ← genre = "M" ET age > 20
C2 ← genre = "F" ET (age > 18 ET age < 35)
Si C1 ou C2 Alors
Ecrire ("Imposable")
Sinon
Ecrire ("Non Imposable ")
FinSi
Fin

Vous aimerez peut-être aussi