Algorithmique Série
5.2.5. Exercices
Exercice 1/ Le prix unitaire d’un produit est 450 Dh ; mais lorsque l’on achète au moins 50 unités,
le prix est de 400 Dh.
Ecrire un algorithme qui affiche le montant à payer suivant la quantité saisie.
Exercice 2/ Ecrire un algorithme pour calculer le montant à payer pour des
photocopies dans les conditions suivantes :
Le tarif est dégressif : Les 10 premières photocopies coûtent 40 centimes l'unité, les
20 suivantes 30 centimes l'unité, les suivantes 25 centimes l'unité.
Exercice 3/ On souhaite écrire un algorithme affichant la valeur du plus grand de 4
nombres entiers saisis. On n’étudie pas toutes les combinaisons mais on compare
les maxima de deux couples.
Exemple : Soient N1, N2, N3, N4 les 4 nombres saisis : On compare les deux
nombres N1 et N2 pour dégager leur maximum ; soit MaxN1_N2. On procède de la
même façon pour N3 et N4 ce qui donne MaxN3_N4. On compare alors ces deux
maxima pour déduire le maximum des quatre nombres.
4/ On reprend l’exercice N° 6 du chapitre 4. Après le calcul de la note finale discuter
cette note et afficher une décision dépendant de cette note comme suit : l’étudiant
est admis si sa note finale est supérieure à 12, il est ajourné si cette note est entre
8 et 12, et est exclu si elle est inférieure à 8.
5/Un marchant expédie une quantité Qte d’un produit de prix unitaire PrixUnit. Les
frais de port sont de 3.50 % du montant total de la commande. Si ce montant
dépasse 1200 Dh, le port est gratuit.
Ecrire un algorithme qui pour les valeurs entrées de Qte et PrixUnit, affiche le
montant à payer.
Exercice 6
Comparer les notes obtenues par deux élèves (Ahmed et Ali) en deux matières et
afficher :
L'élève qui a eu la meilleure moyenne (les deux matières ont le même
coefficient)
La moyenne idéale en prenant pour chacune des matières la note la plus
élevée des deux.
Exercice 7
Ecrire un algorithme qui lit les 3 côtés d'un triangle puis détermine son type.
Supposons que A représente le côté le plus long B et C les deux autres cotés ;
alors :
A >= B + C : ce n'est pas un triangle
A² = B² + C² : c'est un triangle rectangle
A² < B² + C² : c'est un triangle aigu
A² > B² + C² : c'est un triangle obtus
Exercice 8
Ecrire un algorithme qui lit la description d’un article, son prix actuel et son prix
antérieur. L’algorithme calcule et affiche la différence arithmétique de ces deux prix
et le pourcentage de variation. Le programme signale toute variation excessive.
Une variation est jugée excessive lorsque le pourcentage de variation excède 30%
en valeur absolue.
Formules de calcul
Différence arithmétique = Prix actuel – Prix antérieur
Pourcentage de variation = Différence arithmétique / prix antérieur * 100
Exercice 9
Pour un étudiant d’une promotion, on dispose de :
Son nom et prénom
Sa note du premier partiel Par1
Sa note du 2ème partiel Par2
Sa note de l’examen final ExamFin
Etablir un algorithme qui détermine si cet étudiant est reçu ou ajourné, sachant qu’il
est déclaré reçu si sa note retenue est supérieure à 10. La note retenue est le
maximum de la moyenne générale des notes Par1, Par2 et ExamFin et de la note
ExamFin.
Note Retenue = Maximum [(Par1 + Par2 + ExamFin) / 3, ExamFin]
Exercice 10
Ecrire un algorithme, qui étant donnée une somme d'argent, permet de préciser le
nombre de billets (de 200 Dhs, de 100 Dhs, de 50 Dhs, et de 20 Dhs), ainsi que le
nombre de pièces (10 Dhs, 5 Dhs, 2 Dhs, 1 Dh et 0.5 Dh).
Exercice 13
On désire calculer le montant de la facture d’électricité d’un abonné sachant
que l’abonné :
Paye des frais fixes d’abonnement s’élevant à 27 dh (même s’il n’a rien
consommé)
Paye sa consommation selon un tarif à tranches :
60 centimes par KWH pour les 100 premiers KWH
85 centimes par KWH pour les 150 KWH suivants
99 centimes par KWH pour la fraction de la consommation qui
excède 250 KWH.
On lit pour cet abonné les résultats du relevé du compteur :
Variable numérique Anc_Ind : ancien index
Variable numérique Nouv_Ind : nouvel index
On désire obtenir la somme à payer dans une variable numérique Mont_Payer.
Exercice 14
Une manufacture de matériel électrique emballe les ampoules qui lui sont
commandées par les détaillants dans des emballages :
De type G, qui contiennent 200 ampoules
De type M, qui contiennent 50 ampoules
De type P, qui contiennent 10 ampoules
Les quantités commandées doivent être un multiple de 10.
Ecrire un algorithme qui effectue les opérations suivantes :
Lire une quantité commandée
Vérifier qu'elle est bien multiple de 10
Si elle l'est, déterminer le nombre d'emballage G, M et P nécessaires
et les afficher.
Pour cela on cherche à utiliser le plus possible d'emballage de grande contenance
(G, puis M, puis P) et bien entendu, les emballages doivent être remplis à 100%.
Exercice 15
Une compagnie aérienne asperge les récoltes pour contrôler certains fléaux. Ses
tarifs dépendent du produit utilisé et de la superficie couverte, et sont fixés comme
suit :
- Catégorie 1 : traitement des mauvaises herbes, 10 Dh l’hectare.
- Catégorie 2 : traitement des criquets, 20 Dh l’hectare.
- Catégorie 3 : traitement des vers, 30 Dh l’hectare.
- Catégorie 4 : traitement combiné, 50 Dh l’hectare.
Pour un traitement de plus de 1000 hectares, le fermier reçoit une remise de 5% du
montant total. De plus, si le montant de la facture excède 15 000 Dh, on réduit cet
excédant de 10%.
Chaque fermier intéressé fournit les informations suivantes :
- Nom de la ferme
- Catégorie du traitement (1 à 4)
- Nom d’hectares traités
Proposer un algorithme qui édite la facture d’un fermier.
Exercice 16
Pour lutter contre les accidents de travail trop fréquents, une société anonyme désire
appliquer le système suivant :
Les ouvriers percevront une prime annuelle au 31 décembre, calculée sur la base du
1/12ième du salaire brut de décembre par mois d’activité.
Les ouvriers qui seront embauchés avant le premier mars recevront une prime égale
à la totalité du salaire brut de décembre.
La prime ainsi obtenue sera doublée si l’ouvrier n’a eu aucun jour d’arret de travail
suite à un accident de travail. Ella sera majorée de 50 % si l’ouvrier a eu de 1 à 3
jours d’arrêt de travail, et de 25 % s’il a eu de 4 à 10 jours d’arrêt de travail. Il n’y a
pas de majoration pour plus de 10 jours d’arrêt de travail.
1 – Ecrire un algorithme qui permette de saisir les données suivantes :
Nom de l’ouvrier et son matricule
Salaire brut de décembre
Nombre de mois d’activité
Nombre de jours d’arrêt de travail
2 – Afficher les informations précédentes pour un ouvrier donné en précisant
s’il a eu un accident de travail ou non et le montant de sa prime annuelle en dh.
Exercice 17
Ecrire un algorithme qui calcule la paie brute pour l'employé d'une société
commerciale. La société produit trois produits : A, B et C. Les superviseurs gagnent
une commission de 7 % des ventes et les représentants gagnent 5 %. Les bonus de
1000 dh sont payés aux superviseurs dont la commission excède 3000 dh et aux
représentants dont la commission excède 2000 dh.
L'entrée de données consiste en un caractère : S pour le superviseur ou R pour le
représentant, suivi par trois entiers qui représentent le nombre des unités de chacun
des produits vendus. Puisque les prix de produit peuvent varier dans quelque temps,
une section de définition des constantes sera utilisée pour indiquer les prix actuels :
Prix_PA = 139,50
Prix_PB = 179,50
Prix_PC = 299,50
Exercice 19
On souhaite imprimer le résultat d’une demande de réservation de places d’avion
sachant que les règles sont les suivantes :
Si on a une demande en première classe et qu’une première classe est
disponible, on fait la réservation en première classe, sinon la demande est mise
en attente de première classe.
Si on a une demande en classe économique et qu’une place est disponible, on
fait la réservation en classe économique, sinon la demande est mise en attente
de classe économique.
Si on a une demande indifférente (demande en première et classe économique),
on fait à priori la réservation en première classe si elle est disponible ; s’il n’y a
ni première ni classe économique disponible, la demande est mise en attente
en première et classe économique.
Analyser ce problème et proposer un algorithme.
Exercice 20
Une compagnie d'assurance automobile propose à ses clients quatre familles de
tarifs identifiables par une couleur, du moins au plus onéreux : tarifs bleu, vert,
orange et rouge. Le tarif dépend de la situation du conducteur :
un conducteur de moins de 25 ans et titulaire du permis depuis moins de
deux ans, se voit attribuer le tarif rouge, si toutefois il n'a jamais été
responsable d'accident. Sinon, la compagnie refuse de l'assurer.
un conducteur de moins de 25 ans et titulaire du permis depuis plus de
deux ans, ou de plus de 25 ans mais titulaire du permis depuis moins de
deux ans a le droit au tarif orange s'il n'a jamais provoqué d'accident, au
tarif rouge pour un accident, sinon il est refusé.
un conducteur de plus de 25 ans titulaire du permis depuis plus de deux
ans bénéficie du tarif vert s'il n'est à l'origine d'aucun accident et du tarif
orange pour un accident, du tarif rouge pour deux accidents, et refusé
au-delà
De plus, pour encourager la fidélité des clients acceptés, la compagnie
propose un contrat de la couleur immédiatement la plus avantageuse s'il
est entré dans la maison depuis plus d'un an.
Ecrire l'algorithme permettant de saisir les données nécessaires et de traiter ce
problème.