0% ont trouvé ce document utile (0 vote)
183 vues7 pages

Algorithmes et Structures de Données

Ce document contient la correction de plusieurs exercices sur les structures conditionnelles en algorithmique. Il présente des algorithmes pour tester si un nombre est positif/pair, incrémenter une heure, calculer des surfaces en fonction d'une forme géométrique choisie, calculer des commissions et valider des dates.

Transféré par

Feres Rhayem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
183 vues7 pages

Algorithmes et Structures de Données

Ce document contient la correction de plusieurs exercices sur les structures conditionnelles en algorithmique. Il présente des algorithmes pour tester si un nombre est positif/pair, incrémenter une heure, calculer des surfaces en fonction d'une forme géométrique choisie, calculer des commissions et valider des dates.

Transféré par

Feres Rhayem
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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