TD Informatique AES S3 Corrigé séance 7

publicité
TD Informatique AES S3
Corrigé séance 7
Exercice 1 : Objectif : comprendre comment fonctionne un programme structurer en "faisant
tourner" l'algorithme.
Question posée : quelles valeurs de A, B, C, D et E s'afficheront à la fin de l'exécution du
programme ?
VAR
A,B,C,D,E,I : entiers
Début
A2
B10;C5
DA*B;EB/A
BB-2;AA*2
AB+D+E
BC+2*B
Si A>B alors
Si B>C alors
DB-D
sinon
DB+D
finsi
sinon
D2*D+E
finsi
Pour I1 à C faire
AA-D
finpour
Tant que I<=10 faire
EE+2
II+1
Fintant
Ecrire A,B,C,D,E
Fin
Réponse : A=28 ; B=21 ; C=5 ; D=1 ; E=17
Exercice 2 : Faire un algorithme permettant de calculer le montant à payer d'une facture,
sachant qu'il est possible d'acheter trois produits P1, P2 et P3 dont les prix respectifs sont 3,5
euros, 4.75 euros et 3 euros. Pour simplifier, on saisira systématiquement la quantité achetée
de chaque produit, sachant que si un produit n'est pas commandé, on indiquera 0. On accorde
une remise de 5% si le montant hors taxe de la commande est supérieur à 150 euros et une
remise de 10% s'il dépasse 750 euros. D'autre part, on ajoute 8 euros de frais de transport si le
montant hors taxe (hors remise) est inférieur à 225 euros. Le taux de TVA utilisé est de 19,6%
Correction :
VAR
Q1,Q2,Q3 : entiers
MHT, REMISE,TTC : réels
Début
Ecrire "Quelle est la quantité achetée du produit 1 ?"
Lire Q1
Ecrire "Quelle est la quantité achetée du produit 2 ?"
Lire Q2
Ecrire "Quelle est la quantité achetée du produit 3 ?"
Lire Q3
MHTQ1*3.5+Q2*4.75+Q3*3
Si MHT>750 alors
REMISEMHT*0.1
Sinon
Si MHT>150 alors
REMISE0.05*MHT
Sinon
REMISE0
Finsi
Finsi
Si MHT<225 alors
MHTMHT+8
Finsi
MHTMHT-REMISE
TTCMHT*1.196
Ecrire "Montant à payer :",TTC,"euros"
Fin
Traduire l'algorithme réalisé en une procédure Sub appelée VBA :
Sub facture()
Dim Q1 As Integer
Dim Q2 As Integer
Dim Q3 As Integer
Dim MHT As Double
Dim TTC As Double
Dim Remise As Double
Q1 = InputBox("Quelle est la quantité de produit 1 achetée ?")
Q2 = InputBox("Quelle est la quantité de produit 2 achetée ?")
Q1 = InputBox("Quelle est la quantité de produit 3 achetée ?")
MHT = Q1 * 3.5 + Q2 * 4.75 + Q3 * 3
If MHT > 750 Then Remise = MHT * 0.1 Else
If MHT > 150 Then Remise = 0.05 * MHT Else
Remise = 0
If MHT < 225 Then MHT = MHT + 8
MHT = MHT - Remise
TTC = MHT * 1.196
MsgBox ("Montant à payer : " & TTC & " euros")
End Sub
Téléchargement