Bloquage sur mon exercice d'algo

Fermé
bjdcduicfdsu - Modifié le 12 avril 2017 à 23:26
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 13 avril 2017 à 01:53
Bonjour,

J'ai un exercice d'algo don't je me suis stopper sur un point. Pouvez-vous m'aider svp?!!!
alors mon exercice est le suivant:

Ecrire un algorithme qui demande l’heure d’entrée (heure et min) au parking d’un grand magasin et l’heure de sortie. Le programme affiche par la suite le tarif à payer selon la durée de stationnement :
- Le stationnement est gratuit pour le premier quart d’heure.
- 3000 L.L. pour les 2 premières heures de stationnement, et 1000 L.L. pour chaque heure supplémentaire.
- Le tarif maximal est de 7000 L.L. quel que soit la durée de stationnement.
On suppose que l’utilisateur donne l’heure entre 0 et 23 et les minutes entre 0 et 59. On suppose aussi que le stationnement s’effectue en une seule journée.

J'ai commence par ecrire:
Variable h1,m1,h2,m2 en Numerique
Debut
    Ecrire "Donner l'heure avec les minutes d'entree"
    Lire h1,m1
    Ecrire "donner l'heure avec les minutes de sortie"
    Lire h2,m2.
    h3 <-- h2-h1
    Si (m2-m1<0) Alors
       h3 <-- h3-1
       m3 <-- 60- (m1-m2)
    Sinon
       m3 <-- m2-m1
    FinSi
    Si (h3 ==0 ET m3 <=15) Alors
        Ecrire "Stationnement gratuite"
    SiNonSi


je me suis bloqué. comment je pqux continuer?
Merci a tous.

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
13 avril 2017 à 01:53
Bonjour,

Je n'ai jamais suivi de cours d'algo...

mais là comme ça je dirai
1 - transformer les Heures-Minutes en MINUTES
2 - Faire la soustraction
3 - Faire les différents cas en fonction du résultat de la soustraction

un truc du genre :


hm1 = h1*60 + m1
hm2 = h2*60 + m2
diff = hm2 - hm1

si diff <=15
tarif = 0
sinon
si diff <= 120
tarif = diff/60 * 3000
sinon
tarif = 2*3000 + (diff-120)/60 * 1000
finsi
finsi

si tarif >= 7000
tarif = 7000
finsi





1