Exercice 1
Calcul du prix TTC
Écrire un programme qui lit :
- le prix HT d'un article
- le nombre d'articles
- le taux de TVA (en décimal, par exemple 0.20 pour 20%)
et qui fournit le prix total TTC correspondant.
Rappel : Prix TTC = Prix HT × (1 + TVA) × Nombre d'articles
prix HT = 100 nombre d'articles = 3 taux TVA = 0.20 (20%)
le prix TTC est : 360
Besoin d'un indice ?
- Le taux TVA doit être saisi sous forme décimale (ex: 0.20 pour 20%)
- Le prix TTC total = prix HT × (1 + TVA) × nombre d'articles
- Utilisez des variables pour stocker chaque valeur saisie
- Code :
prixht = input("saisir le prix ht : ") nbart = input("saisir le nombre d'articles : ") tva = input("saisir le taux TVA (ex: 0.20 pour 20%) : ") ttc = prixht * (1 + tva) * nbart disp("le prix TTC est : ", ttc) - Explication :
input()permet de saisir les valeurs au clavier- Le calcul TTC multiplie le prix HT par (1+tva) pour obtenir le prix unitaire TTC, puis par le nombre d'articles
disp()affiche le résultat
Exercice 2
Résolution d'une équation du second degré
Écrire un programme qui permet de résoudre dans ℝ l'équation du second degré :
ax² + bx + c = 0
avec a ≠ 0.
Le programme doit traiter tous les cas selon la valeur du discriminant Δ = b² - 4ac.
a = 1 b = -3 c = 2
l'équation admet deux solutions : 1 et 2
a = 1 b = -2 c = 1
l'équation admet une solution unique : 1
a = 1 b = 1 c = 1
pas de solution dans R
Besoin d'un indice ?
- Calculez d'abord le discriminant Δ = b² - 4ac
- Utilisez des conditions pour traiter les 3 cas (Δ < 0, Δ = 0, Δ > 0)
- Pour Δ > 0, les solutions sont : x₁ = (-b - √Δ)/(2a) et x₂ = (-b + √Δ)/(2a)
- Pour Δ = 0, la solution est : x = -b/(2a)
- Code :
a = input("saisir le coefficient a : ") b = input("saisir le coefficient b : ") c = input("saisir le coefficient c : ") delta = (b^2) - 4*a*c if delta < 0 then disp("pas de solution dans R") elseif delta == 0 then s = -b / (2*a) disp("l'équation admet une solution unique : ", s) else s1 = (-b - sqrt(delta)) / (2*a) s2 = (-b + sqrt(delta)) / (2*a) disp("l'équation admet deux solutions : ", s1, " et ", s2) end - Note : J'ai corrigé la formule dans votre code original qui utilisait
(b^2)au lieu de-bdans le calcul des racines.
Exercice 3
Signe d'un produit sans calcul
Écrire un programme qui demande deux nombres à l'utilisateur et l'informe ensuite si leur produit est négatif ou positif.
Attention : On ne doit pas calculer le produit des deux nombres.
Indice : Le signe du produit dépend uniquement du signe des deux facteurs.
nombre 1 = 5 nombre 2 = 3
le produit est positif
nombre 1 = -4 nombre 2 = 7
le produit est négatif
nombre 1 = -2 nombre 2 = -8
le produit est positif
Besoin d'un indice ?
- Un nombre peut être positif (>0), négatif (<0) ou nul (=0)
- Le produit est positif si les deux nombres sont positifs OU les deux sont négatifs
- Le produit est négatif si les signes sont différents
- Attention au cas où un des nombres est nul
- Code :
a = input("saisir le nombre 1 : ") b = input("saisir le nombre 2 : ") if (a < 0 & b < 0) | (a > 0 & b > 0) then disp("le produit est positif") elseif (a == 0 | b == 0) then disp("le produit est nul") else disp("le produit est négatif") end - Explication :
a < 0 & b < 0: les deux sont négatifsa > 0 & b > 0: les deux sont positifs- Si l'une de ces conditions est vraie, le produit est positif
- Si un des nombres est nul, le produit est nul
- Sinon, les signes sont différents → produit négatif
Exercice 4
Heure + 1 minute
Écrivez un programme qui lira au clavier l'heure et les minutes, et il affichera l'heure qu'il sera une minute plus tard.
Exemple : Si l'utilisateur tape 21 puis 32, le programme doit répondre : "Dans une minute, il sera 21 heure(s) 33".
NB : On suppose que l'utilisateur entre une heure valide (0-23 pour les heures, 0-59 pour les minutes). Pas besoin donc de la vérifier.
heure = 14 minutes = 25
Dans une minute, il sera 14 heure(s) 26
heure = 8 minutes = 59
Dans une minute, il sera 9 heure(s) 0
heure = 23 minutes = 59
Dans une minute, il sera 0 heure(s) 0
Besoin d'un indice ?
- Si minutes < 59, on ajoute simplement 1 aux minutes
- Si minutes = 59, alors les minutes deviennent 0 et on ajoute 1 à l'heure
- Si heure = 23 et minutes = 59, alors heure devient 0 et minutes 0
- Code :
heure = input("saisir l'heure : ") minute = input("saisir les minutes : ") if minute < 59 then minute = minute + 1 else if heure == 23 then heure = 0 minute = 0 else heure = heure + 1 minute = 0 end end disp("Dans une minute, il sera " + string(heure) + " heure(s) " + string(minute)) - Explication :
- Cas 1 : minutes < 59 → on incrémente simplement les minutes
- Cas 2 : minutes = 59 et heure < 23 → heure+1, minutes=0
- Cas 3 : minutes = 59 et heure = 23 → heure=0, minutes=0 (minuit)
Exercice 5
Conversion numéro de jour en nom du jour
Écrire un programme qui, à partir d'un nombre compris entre 1 et 7, affiche le jour correspondant :
- 1 → Lundi
- 2 → Mardi
- 3 → Mercredi
- 4 → Jeudi
- 5 → Vendredi
- 6 → Samedi
- 7 → Dimanche
Si le nombre n'est pas compris entre 1 et 7, afficher "jour invalide".
jour = 3
mercredi
jour = 8
jour invalide
Besoin d'un indice ?
- Utilisez la structure
select casede Scilab - Prévoyez un cas
elsepour les valeurs invalides
- Code :
jour = input("saisir le numéro du jour (1-7) : ") select jour case 1 then disp("lundi") case 2 then disp("mardi") case 3 then disp("mercredi") case 4 then disp("jeudi") case 5 then disp("vendredi") case 6 then disp("samedi") case 7 then disp("dimanche") else disp("jour invalide") end - Explication :
selectpermet de tester plusieurs valeurs possibles- Chaque
casecorrespond à une valeur spécifique elsetraite tous les cas non prévus
Exercice 6
Conversion note en mention
Écrire un programme qui, à partir d'une note sur 20, affiche la mention correspondante :
- note < 10 → "non admis(e)"
- 10 ≤ note < 12 → "passable"
- 12 ≤ note < 14 → "assez bien"
- 14 ≤ note < 16 → "bien"
- note ≥ 16 → "très bien"
note = 8.5
non admis(e)
note = 11
passable
note = 13.5
assez bien
note = 15
bien
note = 18
très bien
Besoin d'un indice ?
- Utilisez des conditions
if...elseif...elseimbriquées - Vérifiez d'abord si la note est < 10
- Ensuite, testez les intervalles successifs
- Attention à l'ordre des conditions
- Code :
note = input("saisir la note (sur 20) : ") if note < 10 then disp("non admis(e)") elseif note < 12 then disp("passable") elseif note < 14 then disp("assez bien") elseif note < 16 then disp("bien") else disp("très bien") end - Explication :
- Les conditions sont testées dans l'ordre croissant
- Une fois qu'une condition est vraie, on exécute le bloc correspondant et on sort
- Le
elsefinal capture tous les cas non traités (note ≥ 16)
Discussion (0)
Soyez le premier à laisser un commentaire !
Laisser un commentaire
Votre commentaire sera visible après modération.