Votre question

Algorithme année bissextile

Tags :
  • Modulo
  • Programmation
Dernière réponse : dans Programmation
11 Novembre 2005 18:04:58

Salut tout le monde!

Sur http://www.chez.com/algor/,
j'ai trouvé l'algorithme qui permet de déterminer si une année est bissextile ou non. Mais je ne comprend pas tout.

entier A
écrire "Introduisez l'année:"
lire A
si NOT (A mod 4=0) alors écrire "L'année ", A, "n'est pas bissextile."
sinon si NOT (A mod 100=0) alors écrire "L'année ", A, "est bissextile."
sinon si NOT (A mod 400=0) alors écrire "L'année ", A, "n'est pas bissextile."
sinon écrire "L'année ", A, "est bissextile."
fsi
fsi
fsi

Que signifie (A mod 100=0) ?? (A mod 400=0)?? (A mod 4=0)??

Merci d'avance

Autres pages sur : algorithme annee bissextile

11 Novembre 2005 23:23:41

peut etre "modulo" (reste d'une division euclidienne)
Contenus similaires
Pas de réponse à votre question ? Demandez !
12 Novembre 2005 12:36:11

Oui c'est bien ça! merci bien!
12 Novembre 2005 13:40:52

Juste par curiosité, pourquoi tu fais de l'algo si tu sais pas ca ?
Jveux dire, les gensses qui font de l'algo, c'est parce qu'ils sont en prépa/école, et en général modulo ils connaissent quoi :p 
12 Novembre 2005 16:38:50

peut-être qu'il fait ça par plaisir, et y'a pas d'age pour la curiosité :p 
12 Février 2007 11:00:17

Règle : Une année est bissextile (elle possède un 29 février) si son millésime est divisible par 4 (ex: 1904 1980 1996), mais pas par 100 (ex: 1900), à moins qu'il soit divisible par 400 (ex: 2000), sauf s'il est divisible par 4000 (ex: 4000 8000 12000 ).

C'est ce qui justifie que le calendrier distribué par notre charmante postière ne comportait pas de 29 février 1995 (non divisibilité par 4), mais fournissait (sans supplément de prix) un 29 février 1996 (divisibilité par 4).

Si vous avez la chance de pouvoir interroger votre arrière-grand-mère (et si la mémoire lui revient!), elle pourra vous affirmer qu'il n'y eut pas de 29 février 1900 (on pouvait vérifier, certes, la divisibilité par 4 … mais aussi par 100 … ce qui gâchait tout!).

Regardez le calendrier 2000 que vient de distribuer notre postière préférée! Il existe un 29 février 2000 (on vérifie aisément la divisibilité par 4, malheureusement aussi par 100, mais heureusement par 400, ce qui implique son caractère bissextile).

Comme 1900, les années 2100 2200 2300 (divisibilité par 4 et par 100) ne seront pas bissextiles. Mais, l'année 2400 (divisibilité par 4, par 100, et aussi par 400) possédera un 29 février.

L'an 4000 (d'un intérêt très limité, sauf, peut-être, pour les plus optimistes d'entre nous!) ne sera pas bissextile (divisibilité par 4, malheureusement par 100, heureusement par 400, mais malheureusement aussi par 4000).

a c 145 L Programmation
12 Février 2007 13:57:46

adrianna84 a dit :
Règle : Une année est bissextile (elle possède un 29 février) si son millésime est divisible par 4 (ex: 1904 1980 1996), mais pas par 100 (ex: 1900), à moins qu'il soit divisible par 400 (ex: 2000), sauf s'il est divisible par 4000 (ex: 4000 8000 12000 ).


Merci pour cette explication, je connaissait les 2 premières règles mais pas les autres.
C'est fort utile à savoir car les fonctions de date sont très souvent limitées au 1er janvier 1970 (unixtime) ou au 1er janvier 1900 (windows time), et elles ne vont pas très loin (2100 et quelques).
Donc, il est quasi impossible de vérifier l'existence d'un 29 février 4018 ou 1674 par les méthodes de date.
26 Février 2007 16:43:04

mod = fonction en algo qui retourne le reste de la division ex : mod (8/2) : le resultat sera 0.

modulo = ce n'est pas de l'algo, je connais la fonction modulo en w-langage (win-dev) qui retourne le reste de la division
a b L Programmation
26 Février 2007 19:25:18

Moi, j'aurais plutôt tendance à dire le contraire:
- mod : ne veut rien dire, utilisé comme raccourci pour parler du modulo
- modulo : arithmétique signifiant le reste de la division euclidienne
;) 
26 Février 2007 22:57:15

CRicky a dit :
Moi, j'aurais plutôt tendance à dire le contraire:
- mod : ne veut rien dire, utilisé comme raccourci pour parler du modulo
- modulo : arithmétique signifiant le reste de la division euclidienne
;) 



Ben je citais mes cours d'algo de 1ere année de BTS,
mais y'a peut-être plusieurs appellations. Mais modulo c'est ça en w-langage et
peut-être dans d'autres langages, on retrouve bien les mêmes appellations de variables à peu de choses près
(string, integer) en C et en VB....
a b L Programmation
26 Février 2007 23:22:30

Le langage n'est pas un problème.
Il ne me semble pas qu'il existe une norme pour l'algo, à part pour l'UML ;) 
Ceci dit, c'est vrai que mod est très utilisé, même en arithmétique, mais le mod s'appelle le modulo ;) 
26 Février 2007 23:23:25

Salut j'avait fait une mini application en C pour l'école qui permetait de faire calculer la "bisextilitée" d'une année ^^

<a href="http://www.nvstat.com/~alen/zip/annee.zip">ici</a>
J'espère que tu ne seras pas décus ^^

Heuresement que le code n'était pas noté car sinon :S ^^
a c 145 L Programmation
27 Février 2007 11:46:39

moi je calcule paque avec un script php:
<? echo date("d/m/Y", easter_date()); ?>
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS