IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Validation d'un algo; avec Si et Seloncas


Sujet :

Algorithmes et structures de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Validation d'un algo; avec Si et Seloncas
    Bonjour;

    est ce que cet algo vous parait coherent ?

    Lexique :
    ten ( entier, saisi) : Teneur alcool
    qan (entier, saisi): Quantité en cl
    x ( réel, calculé ) : taux en gramme calculé
    qan/ten/10

    Début

    Afficher ('' Saisir la quantité d'alcool en cl '')
    Saisir ( qan )
    Afficher ('' Saisir le degré d'alcool '')
    Saisir ( ten)

    x ← qan / ten /10


    Si x < 0,5
    Alors Afficher (''Aucune Sanction'')
    FinSi

    Si x > = 0,5 ET x < 0,8
    Alors SelonCas x faire
    0,5 Afficher ('' Retrait du permis de 6 mois et 200 euros d'amende'')
    0,6 Afficher ('' Retrait du permis de 6 mois et 400 euros d'amende'')
    0,7 Afficher ('' Retrait du permis de 6 mois et 600 euros d'amende'')
    FinSelonCas
    FinSi

    Si x > = 0,8 ET x < =1,0
    Alors SelonCas x faire
    0,8 Afficher ('' Retrait du permis de 24 mois et 1200 euros d'amende'')
    // 1200 car on a ajouté 300 euros à partir de 0,5 à chaque décigramme
    0,9 Afficher ('' Retrait du permis de 24 mois et 1500 euros d'amende '' )
    1 Afficher ('' Retrait du permis de 24 mois et 1800 euros d'amende '' )
    FinSelonCas
    Finsi

    Si x> 1
    Alors Afficher ( '' Retrait du permis et 5000 euros d'amende '' )
    Finsi

    Fin

  2. #2
    Rédacteur

    Avatar de khayyam90
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2004
    Messages
    10 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2004
    Messages : 10 369
    Points : 40 164
    Points
    40 164
    Par défaut
    Bien le bonjour,

    Sans l'énoncé ni le but de cet algo, difficile de dire s'il est juste. Cependant en regardant ce qu'il fait, on peut penser qu'il donne la sanction pour chaque taux d'alcool.

    x est un réel, résultat d'une division.Il y a fort à parier qu'aucun des selonCas ne marchera, l'égalité parfaite à 0.6 (par exemple) ne sera jamais bonne.
    Mis à part ce point, il reste encore plus simple à faire : une simple suite de Si [0.5, 0.6], Si [0.6, 0.7] ... suffit.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par khayyam90 Voir le message
    Bien le bonjour,

    Sans l'énoncé ni le but de cet algo, difficile de dire s'il est juste. Cependant en regardant ce qu'il fait, on peut penser qu'il donne la sanction pour chaque taux d'alcool.

    x est un réel, résultat d'une division.Il y a fort à parier qu'aucun des selonCas ne marchera, l'égalité parfaite à 0.6 (par exemple) ne sera jamais bonne.
    Mis à part ce point, il reste encore plus simple à faire : une simple suite de Si [0.5, 0.6], Si [0.6, 0.7] ... suffit.

    Merci d'avoir pris le temps de la verifier.

    Je mettrai l'enoncé si ca peut clarifier,

    Je comprends ce que tu dis, en effet si le resultat par exemple si une personne a bu 100 cl d'alcool à 45°
    on obtient x = 100/45/10 = 0.222222

    Question theorique, ( je suis nouveau dans l'algo ) Dans le cas je garde "SelonCas",
    il y a t il un moyen d'obliger x a gardé que la decimale
    c'est a dire avoir effectivement des resultats genre 0.1

    Sinon oui l'utilisation de SI avec des intervalles seraient bonnes
    mais je n'avais jamais utilisé d'intervalle dans un algo donc je ne savais pas si ca pouvait etre traduit

    J'ecrirai l'enoncé plus tard je viens de me reveiller lol

    merci encore

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Si une personne a entre 0.5 et 0.8 = retrait de permis de 6 mois + 200 euros d'amende par decigramme au dessus de 0.5 ( 0.5 inclus)

    Si entre 0.8 et 1g = retrait de permis de 24 mois et 300 euros d'amende par decigramme au dessus de 0.5g ( 0.8g inclus)

    si au de la de 1g = suppression de permis et amende 5000

    Ecrire un algo qui calcule l'amende et le temps de retrait
    données saisies : la teneur en alcool et quantité

    Voila

    Mon probleme deja c'est de savoir les intervalles; si par exemple
    0.5 et 0.8, je comprends que 0.5 est compris mais 0.8 ?
    Pareil pour 0.8 et 1g

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Geo,
    Citation Envoyé par code.nemesis Voir le message
    Question theorique, ( je suis nouveau dans l'algo ) Dans le cas je garde "SelonCas",
    il y a t il un moyen d'obliger x a gardé que la decimale
    c'est a dire avoir effectivement des resultats genre 0.1
    Ce n'est pas le problème de l'algorithme.

    Éventuellement mettre un petit commentaire pour préciser la précision désirée pour les affichages.

    Citation Envoyé par code.nemesis Voir le message
    Sinon oui l'utilisation de SI avec des intervalles seraient bonnes
    mais je n'avais jamais utilisé d'intervalle dans un algo donc je ne savais pas si ca pouvait etre traduit
    Là encore, ce n'est pas le problème de l'algorithme. L'implémentation sera plus ou moins directe selon le langage utilisé pour l'implémentation, c'est tout.

    Un algorithme n'a pas à se préoccuper de ce genre de détails, son job est de décrire la suite de calculs conduisant au résultat, sans considération de la réalisation finale dans un langage quelconque.
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos solutions et remarques

    J'ai finalement opté pour les SI
    et j'ai rectifié la formule pour donner le taux ( c'etait teneur x quantité en cl / 1000 )
    Le choix des Si regle aussi le probleme des intervalles

    merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Xml/Xsd]valider son fichier Xml avec un schéma xsd
    Par ePoX dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2006, 22h30
  2. Validation de formulaire recherche avec fonction javascript
    Par Cdic dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 19/01/2006, 10h52
  3. Valider un fichier XML avec un Schema
    Par Groove dans le forum Valider
    Réponses: 4
    Dernier message: 09/11/2005, 08h15
  4. Valider fichier XML : problème avec la DTD
    Par SkIllz2k dans le forum Valider
    Réponses: 2
    Dernier message: 26/04/2005, 17h15
  5. [SAX] ]Validation d'un Document avec une DTD
    Par laguiff dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 18/02/2004, 09h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo