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

Turbo Pascal Discussion :

Calculer le net à payer par rapport au nombre de copies [Turbo Pascal]


Sujet :

Turbo Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Points : 23
    Points
    23
    Par défaut Calculer le net à payer par rapport au nombre de copies
    Un magasin de reprographie facture ses clients suivant les règle ses de sous
    - 0,95 dhs/copie si le nombre de copie est < 500 ;
    - 0,70 dhs/copie si 500<=Nombre copies<1500 ;
    - 0 ,45 dhs/copie si 1500<=Nombre copies<3000 ;
    - 0,25 dhs/copie si Nombre copies >=3000
    Etablir un programme qui demande le nombre de copie et qui affiche le net à payer.
    NB (500x0,95)+(1000x0,70)+(1500x0,45)+((nb-3000)x0,25)
    Je reviens pour la correction
    Je me casse la tête d'abord environ 30min.

  2. #2
    Membre confirmé
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Points : 589
    Points
    589
    Par défaut Re
    Bonsoir,
    Citation Envoyé par agan2012
    Un magasin de reprographie facture ses clients suivant les règle ses de sous
    - 0,95 dhs/copie si le nombre de copie est < 500 ;
    - 0,70 dhs/copie si 500<=Nombre copies<1500 ;
    - 0 ,45 dhs/copie si 1500<=Nombre copies<3000 ;
    - 0,25 dhs/copie si Nombre copies >=3000
    Etablir un programme qui demande le nombre de copie et qui affiche le net à payer.
    NB (500x0,95)+(1000x0,70)+(1500x0,45)+((nb-3000)x0,25)
    je reviens pour la correction
    je me casse la tête d'abore environ 30min.
    et...
    Commence par nous montrer ce que t'a fais?
    Cordialement,
    et vint le 20siècle et l'homme se mit à réflechir comme la machine auteur: diden138
    Langage: Pascal,OCaml,Delphi,c/c++.
    Langages web:Xhtml,Css,Php/Mysql,Javascript,Actionscript 2.0
    Plate forme:Windows XP Pro SP2./Red Hat 9.0/SUSE 10.2
    Config :Intel P4 3.2GHZ,2MO cach,512 RAM.
    Outils:Tp7,objective caml,Delphi 6 perso, C++builder 6,Visual C++ Express edition sous win,code-block sous linux(Ubuntu) .

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Points : 23
    Points
    23
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    uses crt;
    var ndc:integer;
        nap:real;
    begin
        write('Le nombre de copie est: '); readln(ndc);
        if ndc<300 then
          nap:=ndc*0.96 
        else
          if ndc<1500 then
            nap:=500*0.95+1500-ndc*0.70 
          else
            if  ndc<1500 then
              nap:=500*0.95+1000-ndc*0.70+1500*0.45
        if ndc>=3000 then
          nap:=500*0.95+1000-ndc*0.70+1500*0.45+nb-3000*0.25
        write(Le net à payer en dhs:');readln(nap);
    end.
    Voilà mais il y a des erreurs.

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    Bonjour, (c'est gratuit et ça fait toujours plaisir)
    Citation Envoyé par agan2012
    Je reviens pour la correction
    Je me casse la tête d'abord environ 30min.
    Voilà mais il y a des erreurs.
    La coloration syntaxique du forum devrait t'indiquer tout de suite qu'il y a des erreurs de syntaxe... Ton compilateur t'aidera à corriger tes erreurs; utilise également la FAQ :
    http://pascal.developpez.com/faq/?pa...de-compilation

    Un truc qui saute au yeux : tu as mis deux fois le test
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  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
    Hia,

    Il manque entre autres des ; pour terminer les lignes.

    Et petit leitmotiv : papier, crayon, exécuter le programme à la main, en suivant le code ligne à ligne (en suivant le code, pas ce que tu penses qu'il fait ).
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Points : 23
    Points
    23
    Par défaut
    salut tout le monde
    voila l'exercice et résolut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    uses crt;
    var ndc:integer;
        nap:real;
     
       begin
       clrscr;
        write('donner le nombre de copie: '); readln(ndc);
        if ndc<500 then
        nap:=0.95*ndc else
        if ndc<1500 then
        nap:=500*0.95+ndc-500*0.70 else
        if  ndc<3000 then
        nap:=500*0.95+1000*0.70+ndc-1500*0.45 else
        nap:=500*0.95+1000*0.70+1500*0.45+ndc-3000*0.25;
        write('Le net … payer en dhsest:',nap:5:2);
        readln;
        end.

  7. #7
    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
    Meo,

    Avec une petite présentation un peu plus claire, et quelques commentaires et sauts de lignes pour aérer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    program hh;
     
    uses crt;
     
    var 
      ndc : Integer;
      nap : Real;
     
    begin
      { lecture nombre copies }
      clrscr;
      Write('donner le nombre de copie: '); 
      Readln(ndc);
     
      { traitement }
      if ndc < 500 then
        nap := 0.95 * ndc 
      else if ndc < 1500 then
        nap := 500 * 0.95 + ndc - 500 * 0.70 
      else if ndc < 3000 then
        nap := 500 * 0.95 + 1000 * 0.70 + ndc - 1500 * 0.45 
      else
        nap := 500 * 0.95 + 1000 * 0.70 + 1500 * 0.45 + ndc - 3000 * 0.25;
      Write('Le net … payer en dhsest:', nap: 5: 2);
     
      { attendre fin }
      Readln;
    end.
    D'autre part, les lignes de calcul comme celle-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        nap := 500 * 0.95 + 1000 * 0.70 + 1500 * 0.45 + ndc - 3000 * 0.25;
    sont plus claires à lire avec des parenthèses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        nap := (500 * 0.95) + (1000 * 0.70) + (1500 * 0.45) + ndc - (3000 * 0.25);
    car la structure des opérations apparaît immédiatement.
    Si les cons volaient, il ferait nuit à midi.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/06/2009, 08h47
  2. Calcul d'un champ par rapport à un autre champ
    Par nomamy dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 12/07/2008, 22h52
  3. [Conception] Performances par rapport à un nombre élevé de requêtes INSERT
    Par phicarre dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 29/01/2008, 12h03
  4. Calcul de l'age par rapport à 2 dates
    Par PAUL87 dans le forum VBA Access
    Réponses: 10
    Dernier message: 29/11/2007, 22h30
  5. Réponses: 1
    Dernier message: 29/09/2007, 17h47

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