0% ont trouvé ce document utile (0 vote)
515 vues4 pages

Correction TD Algorithmique Et Programmation

Transféré par

afsatoukane8
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)
515 vues4 pages

Correction TD Algorithmique Et Programmation

Transféré par

afsatoukane8
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

CPGE Mohammed V : MPSI/PCSI Correction :

Pr. Youssef Ouassit


A B C
Algorithmique et Programmation A2 2 ? ?
« Instructions de base d’un algorithme » BA+1 2 3 ?
CB div 3 2 3 1
Exercice 1: CC+1 2 3 2
Quelles seront les valeurs des variables a, b et c après exécution des AA mod 2 0 3 2
instructions suivantes : BB mod 10 0 3 2
a 1 ;
b 5 ; Exercice 3:
ca–b; Ecrire les instructions à utiliser pour permuter les valeurs de deux
a2; variables a et b.
ca+b;
Correction :
Correction : ca
a=2 ab
b=5 bc
c=7
Exercice 4:
Exercice 2: Algorithme test
Quel seront les valeurs des variables A, B et C après l’exécution des Variables val, double : réel
instructions d’affectation suivantes : Début
val  4 ;
A B C double  Val * 2 ;
A2 Ecrire("Le double de " , val , " est " , double) ;
BA+1 Fin
CB div 3 Quel résultat produit l’algorithme suivant ?
CC+1
AA mod 2 Correction :
BB mod 10 Le résulat affiché sera :
Le double de 3 est 8
1
Exercice 5: Exemple d’exécution :
Ecrire un algorithme qui demande un nombre à l’utilisateur, puis qui Donner le dividende : 35
calcule et affiche le carré de ce nombre. Donner le diviseur : 10
Exemple d’exécution (Résultat affiché à l’écran de l’ordinateur) : Le quotient est : 3
Donner un nombre : 5 Le reste est : 5
Le carré de 5 est 25
Correction :
Correction : Algorithme division
Algorithme carré Variable a,b,q,r : Entier
Variable a,c : Entier Début
Début Ecrire("Donner le dividende: ")
Ecrire("Donner un nombre : ") Lire(a)
Lire(a) Ecrire("Donner le diviseur: ")
c  a^2 Lire(b)
Ecrire("Le carré de ", a, " est ", c) q  a div b
Fin r  a mod b
Ecrire("Le quotient est ", q)
Exercice 6: Ecrire("Le reste est ", r)
Écrire un algorithme qui permet d’effectuer une permutation circulaire Fin
des valeurs entières de trois variables x, y, z (la valeur de y dans x, la
valeur de z dans y et la valeur de x dans z). Exercice 8:
Ecrire un algorithme qui lit un entier s (supposé positif) représentant
Correction : un nombre de secondes, et qui affiche ce nombre dans le format
cx suivant : x H y M z S, tel que x est le nombre d’heures, y le nombre de
xy minutes et z le nombre de seconds restants.
yz Exemple :
zc Pour s=4000
On aura le résultat suivant : 1 H 6 M 40 S
Exercice 7:
Ecrire un algorithme qui lit deux entiers sur clavier et affiche le Correction :
quotient et le reste de la division euclidienne du premier entier sur le Algorithme horaire
deuxième. Variable s, h, m, : Entier

2
Début 3. z  (x > 2 et y=1) < 5
Ecrire("Donner le nombre de second: ") 4. z  (x + y) > 2 et y=1
Lire(s)
h  s div 3600 Correction :
s  s mod 3600 [Link]
m  s div 60 [Link]
s  s mod 60 3. Incorrecte (Comparaison de deux types incompatibles, mais
Ecrire(h," H ", m ," M ", s, " S") certains langages font correspondre à la valeur Vrai le nombre 1 et
Fin Faux le nombre 0 dans ce cas-là l’expression sera correcte)
4. Correcte
Exercice 9:
Les types manipulés en algorithmique sont : Entier, Réel, Caractères et Exercice 11:
Booléen (les types qui peuvent être représentés en binaire). Écrire un algorithme qui à partir de 3 notes d’un étudiant et 3
Donner le type et la valeur des expressions suivantes : coefficients calcule et affiche la moyenne.
• 2+3*4 Indication : Définir d’abord les données d’entrées et de sorties du
• 2.0 + 3 * 4 problème, leur type et par la suite le traitement à faire.
• vrai et (faux ou vrai)
• (2 < 3) et (4 > 5) Correction :
Algorithme moyenne
Correction : Variable n1, n2, n3, c1, c2, c3, moy : Réel
• 2+3*4 => Entier Début
• 2.0 + 3 * 4 => Réel Ecrire("Donner la première note : ")
Lire(n1)
• vrai et (faux ou vrai) => Booléen
Ecrire("Donner la deuxième note : ")
• (2 < 3) et (4 > 5) => Booléen
Lire(n2)
Ecrire("Donner la troisième note : ")
Exercice 10: Lire(n3)
Parmi les instructions suivantes, lesquelles sont correctement écrites moy  (n1*c1 + n2*c2 + n3*c3)/(c1+c2+c3)
(justifier votre réponse en indiquant le type possible de chaque Ecrire("La moyenne est ", moy)
variable). Fin
1. z  (x > 2) et (y < 5)
2. z  (x > 2) et y=1

3
Exercice 12 : n  n mod 2
Écrire un algorithme qui à partir d’une somme d’argent donnée, donne en
le nombre minimal de billets de 50Dh, 20Dh, les pièces de 10 DH, Ecrire(a, " billets de 50 Dh")
2Dh et de 1Dh qui la compose. Ecrire(b, " billets de 20 Dh")
Exemple : Ecrire(c, " pièces de 10 Dh")
Pour la somme 489 Dh on affichera : Ecrire(d, " pièces de 2 Dh")
9 billets de 50 Dh Ecrire(e, " pièces de 1 Dh")
1 billet de 20 Dh
1 pièce de 10 Dh Fin
4 pièces de 2 Dh
1 pièce de 1 Dh

Indication : On suppose que le montant est la différence entre le prix à


payer par un client dans un magasin et le montant qu’il donne au
caissier.
Pour avoir un minimum de billets et de pièces à rendre, il faut
maximiser le nombre de billets de grandes valeurs et minimiser celui
de pièces de petites valeurs.

Correction :
Algorithme argents
Variable n, a, b, c, d, s : Entier
Début
Ecrire("Donner la somme : ")
Lire(n)
a  n div 50
n  n mod 50
b  n div 20
n  n mod 20
c  n div 10
n  n mod 10
d  n div 2

Vous aimerez peut-être aussi