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.
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.
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
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)
Envoyé par wormful_sickfoot
etonnéé?Envoyé par fatifati
@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
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 ?
Halo,
Moi qui insiste toujours pour que le code soit écrit avec une indentation régulière et cohérente.Envoyé par random
De plus,
renvoie un type jou qui n'est pas défini. Disons string
Code : Sélectionner tout - Visualiser dans une fenêtre à part function jourclair(j,m,a:integer):jou;
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.
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 ?
Certes, maisEnvoyé par random
reste tout de même plus clair à lire.
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;
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.
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 !!
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: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()
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.
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
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
si tu reformule corectement ta question je pourrais t'aiderEnvoyé par morenita1
@++
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
Ah bon ???Envoyé par krachik
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
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+
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)Envoyé par Loceka
j'espere que la c'est clair
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 avantEnvoyé par morenita1
@+
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
svp , je trouve qlq difficultés à comprendre le programme vu que je connais rien du pascal , qui pourrez m'expliké ligne par ligne
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 ?
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...
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 ?
si cela avait existé en tp je n'aurais pas écrit de fonction à l'époque
Elle est pas belle la vie ?
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