Svp aide probléme en pascal
Med awax
-
Med awax -
Med awax -
Bonjour,
le programme consiste à chercher le jour de la se maine d'une date donée , sachant par exemple que le 01/12/1997 convient à un lundi , g fait le code et ç amarche pour les dates supérieure à 1997 mais pour les dates inférieures ça marche pas donc sachanr que mon raisonnement consiste à déterminer le nbre des jours entre 01/12/1997 et la date donnére puis le jour est celui de (nbr_jours mod 7);
svp je suis urgent , merci d'avance
le programme consiste à chercher le jour de la se maine d'une date donée , sachant par exemple que le 01/12/1997 convient à un lundi , g fait le code et ç amarche pour les dates supérieure à 1997 mais pour les dates inférieures ça marche pas donc sachanr que mon raisonnement consiste à déterminer le nbre des jours entre 01/12/1997 et la date donnére puis le jour est celui de (nbr_jours mod 7);
svp je suis urgent , merci d'avance
program dates; uses wincrt; type tab=array [0..20] of integer; tab_j=array [0..10]of string; var tj:tab_j; tm:tab; nbj,i,jours,mois, anne,j,nb,k:integer; begin tj[0]:='lundi' ; tj[1]:='mardi' ;tj[2]:='mercredi' ;tj[3]:='jeudi' ;tj[4]:='vendredi' ;tj[5]:='samedi' ;tj[6]:='dimanche'; tm[0]:= 31; tm[1]:= 28;tm[2]:= 31;tm[3]:=30 ;tm[4]:= 31;tm[5]:=30 ;tm[6]:= 31;tm[7]:=31 ;tm[8]:=30 ;tm[9]:= 31;tm[10]:=30 ; tm[11]:=31 ; writeln('donner la date'); readln(jours,mois,anne); nbj:=0; for i:=mois to 12 do nbj:=nbj+tm[i-1]; nbj:=nbj-jours+1; if (anne mod 4 =0 )then nb:=366-nbj else nb:=365 -nbj; nbj:=0; if (anne > 1997 ) then begin for i:=1998 to (anne-1) do begin if (i mod 4) = 0 then nbj:=nbj+366 else nbj:=nbj+365; end; nbj:=nbj+31+nb; end else if (anne <1997) then begin for i:=anne to 1997 do begin if (i mod 4) = 0 then begin nbj:=nbj+366; end else nbj:=nbj+365; end; nbj:=nbj-30-nb; writeln(nbj); end else nbj:=31-(365-nb); j:=nbj mod 7; writeln('la date convient à un ', tj[j]); end.
A voir également:
- Svp aide probléme en pascal
- Turbo pascal - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev pascal - Télécharger - Édition & Programmation
- Le protocole assure que la communication entre l'ordinateur de pascal et le serveur de visiodoct est car les informations seront avant d'être envoyées. - Forum Pascal
- Probleme en pascal - Forum Pascal
1 réponse
En fait ton problème semble lié à ta date de référence...
Si tu n'arrives pas à gérer ton cas if (anne < 1997), tu peux changer de date de référence, par exemple prendre le lundi 20 décembre 1582, date du début d'application du calendrier Grégorien en France (aller plus loin dans le passé nécessiterai de prendre en charge le calendrier Julien).
Ainsi ton cas if (anne < 1583) pourrait se résumer en un message d'erreur "Pas de prise en charge du calendrier Julien".
Une autre date de référence qui peut être prise est le jeudi 1er janvier 1970 (l'heure "zéro" des ordinateurs actuels).
Si tu n'arrives pas à gérer ton cas if (anne < 1997), tu peux changer de date de référence, par exemple prendre le lundi 20 décembre 1582, date du début d'application du calendrier Grégorien en France (aller plus loin dans le passé nécessiterai de prendre en charge le calendrier Julien).
Ainsi ton cas if (anne < 1583) pourrait se résumer en un message d'erreur "Pas de prise en charge du calendrier Julien".
Une autre date de référence qui peut être prise est le jeudi 1er janvier 1970 (l'heure "zéro" des ordinateurs actuels).
01/12/1997 lol ,, mais merci en tt cas :)