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

Pascal Discussion :

Conversion de secondes en heures


Sujet :

Pascal

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 11
    Points : 17
    Points
    17
    Par défaut Conversion de secondes en heures
    Enoncé:
    Écrire un programme Pascal qui lit une durée T en secondes et la traduit en heures, minutes et secondes puis affiche le résultat.

    Exemple : T = 5000 s ===> 1 : h 23 : mn 20 : s


    Réponse :
    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
    Program ConversionHeure;
    uses wincrt; 
    var H, S, M : integer
     
    Begin 
    Repeat 
    write ('donner le nombre de scondes :');
    readln (sec);
    until (sec > 0)
     
    H := sec DIV 3600
    HR := sec MOD 3600
    M := HR DIV 60
    S := HR MOD 60
     
    write ('le résultat est :', H h, M mn, S s)
     
    end.
    =======> je voulais juste savoir si c'est correct ou pas?????? merci!!!!!!
    j'ai pas utilisé des constantes, j'ai juste utilisé les variables.

  2. #2
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour
    pour commencer tu pourrais mettre les balises code et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    write ('le résultat est :', H h, M mn, S s)
    si tu veux un bon affichage tu dois penser à refaire ça mais c'est juste pour l'esthetique(en meme temps ça risque pas de compiler)
    Sinon dans le fond tu as l'algo qui faut pour que ça marche maintenant en pascal ton code ne compilera meme pas une seconde car il manque des ; un peu partout,des variables non déclarées
    Evites de mettre les majuscules n'importe comment dans le code sinon ça fait pas beau(Pascal ne respecte pas la casse)
    Et pour finir tu peux aussi transformer ce code en une fonction qui pour but de convertir des secondes en h m s,
    @+
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

  3. #3
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    Et déclare toutes tes variables

    Sinon dans l'idée c'est ça.

  4. #4
    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
    Fui,

    Plusieurs remarques, qui reprennent les réponses précédentes.

    - Tu nous demandes si c'est correct. Tu sais bien que non, puisque ton programme ne peut pas compiler tel qu'il est.
    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
    Program ConversionHeure;
    uses wincrt; 
    var H, S, M : integer
     
    Begin 
    Repeat 
    write ('donner le nombre de scondes :');
    readln (sec);
    until (sec > 0)
     
    H := sec DIV 3600
    HR := sec MOD 3600
    M := HR DIV 60
    S := HR MOD 60
     
    write ('le résultat est :', H h, M mn, S s)
     
    end.
    - En Pascal, il faut obligatoirement éclarer toutes les variables.

    Et j'y ajoute :

    - les valeurs constantes, comme 3600 et 60, devraient être déclarées comme constantes. C'est une bonne habitude à prendre.

    - prends l'habitude de présenter ton code correctement (indentation, commentaires...). Tu verras rapidement que c'est utile.

    Sinon, l'algorithme est bon.
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut ConvHMS
    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
    Program ConversionHeure;
    uses wincrt; 
    var
      H, S, M, sec : integer;
     
    Begin 
      Repeat 
        writeln ('Donner le nombre de scondes :');
        readln (sec);
      until (sec > 0);
     
    H := sec DIV 3600 ;
    M := sec MOD 3600 DIV 60 ;
    S := sec MOD 3600 MOD 60 ;
     
    write ('le résultat est : ',H,'h:',M,'mn:',S,'s')
     
    end.

  6. #6
    Membre éprouvé
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Points : 1 294
    Points
    1 294
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Program ConversionHeure;
     
    uses wincrt; 
     
    procedure SecondsToHMS(const aSec: LongWord; var vH, vM, vS: word);
    begin
      vS := aSec mod 60;
      vM := (aSec div 60) mod 60;
      vH := aSec div 3600;
    end;
     
    var
      H, S, M: word;
      Sec : LongWord; 
    Begin 
      Sec := 0;
      Repeat 
        write('Donnez le nombre de secondes : ');
        readln(sec);
      until sec > 0;
     
      SecondsToHMS(Sec, H, M, S);
     
      writeln('Le résultat est : ',H,' heures ',M,' minutes et ',S,' secondes');
     
    end.


    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
     
    procedure MilliSecondsToHMSZ(const aMilliSec: LongWord; var vH, vM, vS, vZ: word);
    begin
      vZ := aMilliSec mod 1000;
      vS := (aMilliSec div 1000) mod 60;
      vM := (aMilliSec div 60000) mod 60;
      vH := aMilliSec div 3600000;
    end;
     
    procedure SecondsToHMS(const aSec: LongWord; var vH, vM, vS: word);
    begin
      vS := aSec mod 60;
      vM := (aSec div 60) mod 60;
      vH := aSec div 3600;
    end;
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

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

Discussions similaires

  1. Conversion de x secondes, en heures-minutes-secondes!
    Par metalquebec dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 09/09/2009, 18h29
  2. Réponses: 2
    Dernier message: 03/07/2008, 10h40
  3. Réponses: 1
    Dernier message: 09/06/2008, 14h34
  4. Conversion secondes en heure-minute
    Par clo85 dans le forum MATLAB
    Réponses: 5
    Dernier message: 10/07/2007, 08h13
  5. [Fonction SQL Serveur] convertir des secondes en heure
    Par falcon dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 17/11/2004, 17h22

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