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 :

Programme qui affiche le jour à partir d'une date


Sujet :

Turbo Pascal

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Programme qui affiche le jour à partir d'une date
    Salut,j'ai un exercice à résoudre en Pascal, vous pouvez m'aider ?
    Faire un programme qui affiche le jour à partir d'une date précise; par exemple : on lui donne 04/07/1985 et il affiche jeudi.
    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Non on peut pas t'aider.

    -> http://club.developpez.com/regles

    Pose une question précise et nous y répondrons
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut salam

  4. #4
    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,et bienvenu ce formidable forum,
    ah oui..............
    tout code quel qu'il soit est basé sur un algorithme ,
    1-faire un algo
    2-optimiser cet algo
    3-passer a pascal.........
    4.............
    ...

    Nul ne fera ton exo a ta place (il preciser que j'aime dire cette phrase quand la situation l'exige)

    Citation Envoyé par wormful_sickfoot
    Pose une question précise et nous y répondrons

    Citation Envoyé par fatifati
    etonnéé?
    @bonne nuit
    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

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    FUNCTION FACTJOUR(J,M,A:INTEGER):longint;
    (*transforme une date en un nombre*)
    VAR FACT:REAL;
          BEGIN
    IF M IN[1,2] THEN
    BEGIN
    FACT:=(1.0*365*A)+1*J;
     FACT:=FACT+(1.0*(31*(M-1)));
     FACT:=FACT+(1.0*INT(((A-1)/4)));
    FACT:=FACT-(1.0*INT(3/4*INT(((A-1)/100)+1)));
       END
    ELSE
       BEGIN
    FACT:=(1.0*365*A)+J;
    FACT:=FACT+(1*(31*(M-1)));
    FACT:=FACT+(1.0*INT((A/4)));
    FACT:=FACT-INT(3/4*INT((A/100)+1));
    FACT:=FACT-INT(((0.4*M)+2.3));
       END;
    FACTJOUR:=round(FACT);
       END;
     
     
    function jourclair(j,m,a:integer):jou;
    (*donne en clair le nom du jour d'une date*)
    var u:integer;
    begin
    u:=factjour(j,m,a) mod 7;
    case u of
     
    0 :  jourclair:='samedi';
    1 :  jourclair:='dimanche';
    2 :  jourclair:='lundi';
    3 :  jourclair:='mardi';
    4 :  jourclair:='mercredi';
    5 :  jourclair:='jeudi';
    6 :  jourclair:='vendredi';
     
    end;
    end;
    Elle est pas belle la vie ?

  6. #6
    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
    Halo,
    Citation Envoyé par random
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    FUNCTION FACTJOUR(J,M,A:INTEGER):longint;
    (*transforme une date en un nombre*)
    VAR FACT:REAL;
          BEGIN
    IF M IN[1,2] THEN
    BEGIN
    FACT:=(1.0*365*A)+1*J;
     FACT:=FACT+(1.0*(31*(M-1)));
     FACT:=FACT+(1.0*INT(((A-1)/4)));
    FACT:=FACT-(1.0*INT(3/4*INT(((A-1)/100)+1)));
       END
    ELSE
       BEGIN
    FACT:=(1.0*365*A)+J;
    FACT:=FACT+(1*(31*(M-1)));
    FACT:=FACT+(1.0*INT((A/4)));
    FACT:=FACT-INT(3/4*INT((A/100)+1));
    FACT:=FACT-INT(((0.4*M)+2.3));
       END;
    FACTJOUR:=round(FACT);
       END;
     
     
    function jourclair(j,m,a:integer):jou;
    (*donne en clair le nom du jour d'une date*)
    var u:integer;
    begin
    u:=factjour(j,m,a) mod 7;
    case u of
     
    0 :  jourclair:='samedi';
    1 :  jourclair:='dimanche';
    2 :  jourclair:='lundi';
    3 :  jourclair:='mardi';
    4 :  jourclair:='mercredi';
    5 :  jourclair:='jeudi';
    6 :  jourclair:='vendredi';
     
    end;
    end;
    Moi qui insiste toujours pour que le code soit écrit avec une indentation régulière et cohérente.

    De plus,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function jourclair(j,m,a:integer):jou;
    renvoie un type jou qui n'est pas défini. Disons string

    Debut édition
    Pourquoi ne pas faire l'équivalent pour le nom des mois ?
    Fin édition

    Un peu plus spécialisé : il vaudrait autant transformer la date en valeur de jour julien, qui est universel, et permet de gérer les dates en tenant compte de la modification de l'ancien calendrier en calendrier grégorien (décalage brutal de 10 jours + modification de la détermination des années bissextiles)
    Si les cons volaient, il ferait nuit à midi.

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    ok pour le type jour cette fonction est tirée d'un tpu perso où il est défini mais
    effectivement il s'agit d'un string (merci d'avoir suivi)

    pourquoi ne pas faire la même chose pour les mois : parceque la question posée était comment afficher le jour ? mais tu pourras toujours t'amuser à compléter.
    Ceci étant cela ne pose nulle difficulté.

    Pourquoi ne pas utiliser le julien ? parceque son emploi varie avec les pays utilisation du julien francais est différente du julien anglais ou tchèque
    mon algo est indépendant des pays

    quant à l'indentation ce n'est qu'une convention destiné à faciliter la lecture
    ce code ne comprenant pas de if ou boucles imbriqués se lit de façon linéaire

    mais
    ....... rien
    ..............ne
    ..................t'inderdit
    ..............de
    ...... rajouter
    des canines molaires si cela satisfait on sens esthétique

    ô qu'elle est pretty my printer
    Elle est pas belle la vie ?

  8. #8
    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
    Citation Envoyé par random
    quant à l'indentation ce n'est qu'une convention destiné à faciliter la lecture
    ce code ne comprenant pas de if ou boucles imbriqués se lit de façon linéaire
    Certes, mais
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    FUNCTION FACTJOUR(J,M,A:INTEGER):longint;
    (*transforme une date en un nombre*)
    VAR FACT:REAL;
    BEGIN
      IF M IN[1,2] THEN
      BEGIN
        FACT:=(1.0*365*A)+1*J;
        FACT:=FACT+(1.0*(31*(M-1)));
        FACT:=FACT+(1.0*INT(((A-1)/4)));
        FACT:=FACT-(1.0*INT(3/4*INT(((A-1)/100)+1)));
      END
      ELSE
      BEGIN
        FACT:=(1.0*365*A)+J;
        FACT:=FACT+(1*(31*(M-1)));
        FACT:=FACT+(1.0*INT((A/4)));
        FACT:=FACT-INT(3/4*INT((A/100)+1));
        FACT:=FACT-INT(((0.4*M)+2.3));
      END;
      FACTJOUR:=round(FACT);
    END;
     
     
    function jourclair(j,m,a:integer):string;
    (*donne en clair le nom du jour d'une date*)
    var u:integer;
    begin
    u:=factjour(j,m,a) mod 7;
      case u of 
        0 :  jourclair:='samedi';
        1 :  jourclair:='dimanche';
        2 :  jourclair:='lundi';
        3 :  jourclair:='mardi';
        4 :  jourclair:='mercredi';
        5 :  jourclair:='jeudi';
        6 :  jourclair:='vendredi';
      end;
    end;
    reste tout de même plus clair à lire.

    Bien sûr, on peut se passer d'indentation, ce qui d'ailleurs vaut mieux plutôt qu'en faire une aléatoire comme tu l'as fait
    Si les cons volaient, il ferait nuit à midi.

  9. #9
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut urgent
    salut tt le monde chui interessé par le code , qui pourré m'expliké un peu la signification ou l'équivalent en java ou en vb de 'var' 'round' ':' svppp j'en ai besoin mnt !!

  10. #10
    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,
    juste une petite chose le mot urgent n'existe pas dans le vocabulaire de ce forum mais je veux bien t'aider
    var veut dire qu'on va declarer des variables
    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    program ex;
    var  i:integer;
    {declaration des variable }
    begin
        {corps du programme }
    end.
    si tu veux la traduition en java alor ça veut dire que tu connais java et donc tu sais que pas besion de dire qu'on va declarer en java ,ceci dit var n'existe pas en java ,et pour round c'est Math.round()
    en vb..........................................
    @+
    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

  11. #11
    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
    si tu veux que je t'aide commences d'abord par ecrire du français
    t'a pas compris quoi var ou round
    tu ne peux pas faire de declaration en pascal sans le mot clévar t'a qu'a faire une recherche sur google sur varsi t'es si pressé que ça
    Citation Envoyé par morenita1
    affiche alératoirement ???????(rondomise)
    si tu reformule corectement ta question je pourrais t'aider
    @++
    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

  12. #12
    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
    Citation Envoyé par krachik
    pas besion de dire qu'on va declarer en java
    Ah bon ???

    Au contraire, en Java on est obligé de déclarer et de typer toutes les variables !

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int i; // déclaration typée (comme en pascal)
     
    i = 0; // utilisation
     
    // ou bien 
    String s = "test"; // déclaration typée + utilisation dans le même temps

  13. #13
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut slt
    g compris la signification de var merci et round aussi merci et juste une question à quoi sert un forum si on peut pas discuter d'une façon adulte ss commentaire ???
    a+

  14. #14
    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
    Citation Envoyé par Loceka
    Ah bon ???
    Alors on s'est pas compris ce que je voulais dire c'est que en java il n'y a pas de mot clé à ecrire avant de faire une declaration quelconque(encore plus claire il n'existe pas d'equivalent de var en java on passe directement aux declarations)
    j'espere que la c'est clair
    Citation Envoyé par morenita1
    uste une question à quoi sert un forum si on peut pas discuter d'une façon adulte ss commentaire ???
    c'est que j'ai constaté que tout a l'heure t'avais l'air pressé que tu ecrivais style sms c'est pour ça je t'ai dit d'ecrire du français excuses moi si tu l'a mal pris sinon tu peux aller les regles du forum avant
    @+
    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

  15. #15
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 3
    Points
    3
    Par défaut slt
    svp , je trouve qlq difficultés à comprendre le programme vu que je connais rien du pascal , qui pourrez m'expliké ligne par ligne

  16. #16
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    le programme se compose de deux fonctions

    la première construit un nombre à partir des éléments d'une date (jour,mois,an)
    ces nombres sont des entiers consécutifs et permettent de construire des fonctions plus élaborées (différence de date, ou ajout d'un nombre de jours)
    ils doivent être manipulés avec précaution pour les dates antérieures au 20
    décembre 1582 (en France)


    une semaine se composant généralement de sept jours
    il suffit de calculer le modulo (reste de la division entière) de ce nombre
    par 7 pour savoir quel jour on se situe

    java comporte des fonctions de date qui devraient t'éviter d'avoir à recourir à ce genre de fonction
    tu disposes de 3 classes
    java.util.GregorianCalendar
    java.util.Calendar
    java.util.Date
    Elle est pas belle la vie ?

  17. #17
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    Plus simple alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DayOfTheWeek(StrToDateTime('10/05/2007'));



    Edit : Ah non, ça ne marche que pour Delphi. Dommage...

  18. #18
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    la plupart des langages ont de telles fonctions en standard ou des bibliothèques
    ça marche donc sans Delphi
    Elle est pas belle la vie ?

  19. #19
    Membre éprouvé
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Points : 988
    Points
    988
    Par défaut
    'M'étonnerais que ça marche sous TP7...

  20. #20
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    si cela avait existé en tp je n'aurais pas écrit de fonction à l'époque
    Elle est pas belle la vie ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/05/2017, 01h30
  2. Réponses: 8
    Dernier message: 20/06/2012, 15h54
  3. Obtenir le jour à partir d'une date
    Par Benoit_T dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2010, 09h07
  4. connaitre le nom du jour à partir d'une date
    Par com486 dans le forum Firebird
    Réponses: 4
    Dernier message: 18/05/2009, 11h27
  5. [MySQL] afficher des données à partir d'une date selectionnée
    Par rane dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 21/11/2007, 15h21

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