bonjour ;
je viens de commencer le developpement avec pascal (pascal 7.0)
EN fait je voudrai une programmation sous pascal qui me permet de donner 10 dates (jour ; mois, annee) et dafficher la plus petite
bonjour ;
je viens de commencer le developpement avec pascal (pascal 7.0)
EN fait je voudrai une programmation sous pascal qui me permet de donner 10 dates (jour ; mois, annee) et dafficher la plus petite
Il suffit de les "convertir" en nombre : année * (30*12) + mois * 30 + jour
Tu fais des calculs avec ça ensuite
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal
Bonjour,
Pour tirer les 10 dates, il faudra faire appel aux fonctions Randomize et Random.
Il faut prendre garde aux intervalles pour les valeurs jour, mois et année. Ainsi, année doit être compris entre deux bornes que tu choisiras, puis mois entre 1 et 12, et enfin jour en fonction du mois. Là intervient le problème des années bissextiles.
Une année est bissextile quand elle est divisible par 4, mais pas par 100 (par exemple, 2004 est bissextile, car 2004 / 4 = 501 et 2004 / 100 n'est pas entier, mais pas 2000, car 2000 / 4 = 500 et 2000 / 100 = 20). La répartition des jours par mois est alors :
Ensuite, il faut trier les dates. On peut essayer de faire des multiplications, ou bien encoder les dates avec PackTime.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Année non bissextile : 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 Année bissextile : 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
Mais on peut aussi tout bêtement commencer par trier les années, puis les mois et enfin les jours.
@++
PS: Inutile de te préciser qu'on ne fera pas ce programme à ta place
Erm... désolé de te contredire Hdd34 mais 2000 était une année bissextile (logique d'ailleurs vu que les années bissextiles tombent tous les 4 ans et que 2004 en est une, comme tu l'as dit).
Ceci dit, comme je ne suis pas très fort question calendrier, j'ai fait une recherche avant et je suis tombé sur ça :
http://perso.wanadoo.fr/b.villemin/bissexti.html
Il y est définit la règle suivante à la fin de la page :
* Les années multiples de 4 seront bissextiles
* Les années multiples de 100 ne seront pas bissextiles
* Les années multiples de 400 seront bissextiles
Donc dans un programme il y aura 3 vérifications à faire (1 seule ou bien 2 en vérité mais bon...)
Wep, désolé, je suis allé un peu vite. En fait, le bon exemple à prendre, c'est 1900 et pas 2000. Et donc 1900 n'est pas bissextile.
Au temps pour moi
@++
Un bon algorithme vaut mieux qu'une explication imprécise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 si annee mod 100 = 0 alors si annee mod 400 = 0 alors bissextile sinon pas bissextile finsi sinon si annee mod 4 = 0 alors bissextile sinon pas bissextile finsi finsi
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager