Vous êtes sur la page 1sur 7

Algorithmique et structure de données I 1LBC -- 2020/2021

Correction TD2
Structures conditionnelles

Exercice 1:

Ecrire un algorithme qui teste si un nombre est positif ou négatif

Algorithme signe
Var
a :entier
début
ecrire(‘’donner un entier’’)
lire(a)
si ( (a>0) alors
ecrire (‘’le nombre est positif’’)
si non
ecrire (‘’le nombre est négatif’’)
fin si
fin

Exercice 2:

Ecrire un algorithme qui teste si un nombre est pair ou impair

Algorithme signe
Var
a :entier
début
ecrire(‘’donner un entier’’)
lire(a)
si (a mod 2=0) alors
ecrire (‘’le nombre est paire’’)
sinon
ecrire (‘’le nombre est impaire’’)
fin si
fin

1
Enseignante :Mme Omezzine Asma
Algorithmique et structure de données I 1LBC -- 2020/2021

Exercice 3:

Ecrire un algorithme qui permet d’ajouter une seconde à une heure donnée, l’heure se
composera de trois variables :H pour les heures, M pour les minutes et S pour les secondes

Algorithme heure
Var
H,M,S :entier
début
ecrire(‘’quel est l’heure ?’’)
lire (H,M,S)

si (S<59) alors
SS+1
sinon si(M<59) alors
s0
MM+1
sinon si(H<=23) alors
S0
M0
H H+1
Sinon
S0
M0
H 0
Fin si
Fin si
Fin si
Ecrire (‘’ aprés une seconde l’heure sera ‘’ , H , ’’ :’’ ,M, ’’ :’’ ,S)
fin

2
Enseignante :Mme Omezzine Asma
Algorithmique et structure de données I 1LBC -- 2020/2021

Exercice 4 :

Ecrire un algorithme qui lit du clavier une lettre parmi ‘R’ , ‘S’ ,’T’ , ‘C’ , et affiche la
surface de la figure indiquée en lisant les dimensions qui corresponde au clavier tel que :

‘R’ : pour rectangle, ‘S’ :pour carrée, ‘T’ :pour triangle, ‘C’ : pour cercle

Algorithme surface
Var
Choix :caractère
Lar,long,h,,b,r :reél

Début

Ecrire(‘’*************MENU***********’’)
Ecrire(‘’tapez R : pour calculer la surface d’un rectangle’’)
Ecrire(‘’tapez S : pour calculer la surface d’un carrée’’)
Ecrire(‘’tapez T : pour calculer la surface d’un triangle’’)
Ecrire(‘’tapez C : pour calculer la surface d’une cercle’’)

lire(choix)

selon (choix) faire


‘R’ : ecrire(‘’donner les dimension du rectangle’’)
Lire(lar ,long)
Slar*long

‘S’ : ecrire(‘’donner l du carrée’’)


Lire(long)
Slong*long

‘T’ : ecrire(‘’donner les dimension du triangle’’


Lire(h,b)
S(b*h)/2

‘C’ : ecrire(‘’donner le rayon de la cercle’’


Lire(r)
Sr*r*3.14
Sinon :ecrire(‘’cette forme n’existe pas’’)
S0
Fin selon
Ecrire (‘’la surface de cette forme est’’,s)

fin
3
Enseignante :Mme Omezzine Asma
Algorithmique et structure de données I 1LBC -- 2020/2021

Exercice 5:

La commission d’un employé sur les ventes totale est :


Si ventes<50DT ;il n’y a pas de commission
Si 50<=ventes<=500DT ; la commission est égale à 10% des ventes
Si ventes>500DT ;la commission est égale à 50DT+8% des ventes au-dessus de 500DT
Ecrire un algorithme permettant de calculer et afficher la commission sur les ventes

Algorithme commission
Var
vt ,c :réel

début

écrire (‘’quel est la somme de votre vente ? ’’)


lire(vt)

Si (vt<50) alors
Ecrire(‘’pas de commission’’)
c0
Sinon si(vt<=500) alors
c vt*0.1
sinon
c50+(vt-500)*0.08
fin si
fin si

ecrire (‘’votre vente est =’’ ,vt, ’’alors votre commission sera’’, c)

fin

Exercice 6:

Ecrire un algorithme qui permet de saisir le jour, le mois et l’année d’une date (Mois :numéro
du mois) et de déterminer si elle est correcte ou non et ou est l’erreur

4
Enseignante :Mme Omezzine Asma
Algorithmique et structure de données I 1LBC -- 2020/2021

Algorithme date
Var
m,j,a :entier

début

ecrire(‘’donner le jour, le moi et l’année de votre date’’)


lire(j ,m, a)

si (a>=1000) alors

selon(m) faire

1,3,5,7,8,10,12 : si((j>=1) ET (j<=31)) alors


Ecrire(‘’date valide’’)
Sinon
Ecrire(‘’date invalide :jour invalide’’)
Fin si

4,6,9,11 : si((j>=1) ET (j<=30)) alors


Ecrire(‘’date valide’’)
Sinon
Ecrire(‘’date invalide :jour invalide’’)
Fin si
---------/*tester si l’année est bissextil */----------
2 : si(((a mod 4=0) ET (a mod 100 <>0)) OU (a mod 400=0) ) alors

Si((j>=1) ET(j<=29)) alors


Ecrire(‘’date valide’’)
Sinon
Ecrire(‘’date invalide :jour invalide’’)
Fin si
Si non -----/*si l’année est non bissextile*/---------------------
Si((j>=1) ET (j<=28)) alors
Ecrire(‘’date valide’’)
Sinon
Ecrire(‘’date invalide :jour invalide’’)
Fin si
Fin si

Si non : ecrire(‘’date invalide :mois invalide’’)

Fin selon
Si non
Ecrire(‘’ ’date invalide :année invalide’’)
Fin si

5
Enseignante :Mme Omezzine Asma
Algorithmique et structure de données I 1LBC -- 2020/2021

fin

Exercice7

Algorithme palindrome

Var
N ,Nu,Nd,Nc:entier

Début

Ecrire (‘’donner un nombre de 4 chiffre’’)


Lire(n)
Si( n>=1000) ET (n<=9999) alors

Nun mod 10
Nd(n div 10) mod 10
Nc(n div 100) mod 10
Nmn div 1000

Si((Nu = Nm) ET (Nd=Nc)) alors


Ecrire(‘’c’est une palindrome’’)

Sinon
Ecrire(‘’n’est pas palindrome’’)
Fin si
Sinon
Ecrire(‘’votre entier n’est pas composé de 4 chiffre’’)

Fin si
fin

solution 2

/*comparer n avec son inverse*/


Algorithme palindrome

Var
N ,Nu,Nd,Nc:entier

Début

Ecrire (‘’donner un nombre de 4 chiffre’’)


Lire(n)

6
Enseignante :Mme Omezzine Asma
Algorithmique et structure de données I 1LBC -- 2020/2021

Si( n>=1000) ET (n<=9999) alors

Nun mod 10
Nd(n div 10) mod 10
Nc(n div 100) mod 10
Nmn div 1000

NinvNu*1000+ Nd*100+Nc*10+Nm

Si (Ninv = n) alors
Ecrire(n, ‘’est symétrique à son inverse alors il est palindrome’’)
Sinon
Ecrire(‘’n, ‘’n’est pas palindrome’’)

Fin si

Sinon
Ecrire(‘’erreur : votre entier n’set pas composé de 4 chiffre’’)

Fin si

7
Enseignante :Mme Omezzine Asma

Vous aimerez peut-être aussi