Bonjour,
J'ai essayer de retranscrire ce pseudo code en pascal.
Ecrire une fonction jourAnnee qui prend une date en paramètre et calcul quel jours de l'année nous sommes (on considère que la date passée en paramètre est valide)
Voici le code en pascal.
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 FONCTION jourAnnee(IN jj, mm, aa : Entier) EST ! j_mois contient le nombre de jours de chaque mois de l'année ! CONST j_mois <- (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); VAR nb_jours : Entier; DEBUT nb_jours <- 0; SI mm > 1 ALORS ! On compte les jours des mois terminés ! POUR i : 1 .. (mm-1) BOUCLE nb_jours <- nb_jours + j_mois[i] FINBOUCLE; ! Si l'année est bissextile et que février est passé, on ajoute le 29 ! SI (aa MOD 4) = 0 ET mm > 2 ALORS nb_jours <- nb_jours + 1 FINSI; FINSI; ! On ajoute le nombre de jours du mois courant ! jourAnnee <- nb_jours + jj; FIN jourAnnee;
Je bloque dans la déclaration de la constante, comment déclarer une liste d'entier ?
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 FUNCTION jourAnnee (jj, mm, aa : integer) : integer; Type j_mois = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); VAR nb_jours : integer; BEGIN nb_jours := 0; IF mm > 1 THEN FOR i : 1 ..(mm-1) DO nb_jours := nb_jours + j_mois[i]; IF (aa MOD 4) = 0 AND mm > 2 THEN nb_jours := nb_jours + 1; jourAnnee := nb_jours + jj; end;
Merci
Partager