FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Button_picture
par pascal10000 Aujourd'hui à 11:41

» Pourquoi le compilateur stagne
par Minibug Aujourd'hui à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Aujourd'hui à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Aujourd'hui à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Aujourd'hui à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Hier à 17:27

» Mah-Jong européen new-look
par Minibug Mar 12 Déc 2017 - 22:31

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Recherche du jour de la semaine d'après l'algo de Mike Keith

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Recherche du jour de la semaine d'après l'algo de Mike Keith   Ven 21 Fév 2014 - 16:38

Bonjour,
tous est dans le titre "Recherche du jour de la semaine d'après l'algo de Mike Keith",

J'ai juste besoin que vous vérifiez si je n'ai pas commis d'erreur en retranscrivant algorithme de Mike Keith en SUB pour Panoramic, Car je ne suis pas un matheu.

Vous trouverez l’algorithme en commentaire dans le code.
Code:
dim js$,jj$,mm$,aaaa$
jj$=21:mm$=02:aaaa$=2014: ' entrez ici la date au format jj/mm/aaaa
Retourne_Jour_Semaine(jj$,mm$,aaaa$)
' résultat dans le bandeau de form 0
caption 0,js$
END

Sub Retourne_Jour_Semaine(jour$,moi$,an$)
' d'après l'algorytme de Mike Keith
dim_local aaaa%,mm%,jj%,az,ma,rm,jjs,rp
jj%=val(jour$):mm%=val(moi$):aaaa%=val(an$)
if mm%>=3
  az=aaaa%:ma=2
else
  az=aaaa%-1:ma=0
end_if
rp=((int(23*mm%))/9)+jj%+4+aaaa%+(int(az/4))-(int(az/100))+(int(az/400))-ma
rm=mod(rp,7):jjs=int(rm)
if jjs=0 then js$="Dimanche"
if jjs=1 then js$="Lundi"
if jjs=2 then js$="Mardi"
if jjs=3 then js$="Mercredi"
if jjs=4 then js$="Jeudi"
if jjs=5 then js$="Vendredi"
if jjs=6 then js$="Samedi"
End_Sub

' WIKIPEDIA dit:

' Jour de semaine D = { [(23m)/9] + d + 4 + y + [z/4] - [z/100] + [z/400] - 2 (si m >= 3) } mod 7

' Comme Mike Keith est un Mathématicien Américain, D = Day pour Jour ; M = Month pour Mois et Y = Year pour Année
' Pour l'explication de la Division par 100 et par 400, c'est pour savoir si l'année est Bissextile  :
' Si Y n'est pas divisible par 4, l'année n'est pas Bissextile.
' Si Y est divisible par 4, l'année est Bissextile sauf si A est divisible par 100 et pas par 400.
' D = Jour de semaine (D = 0 à 6; 0=Dimanche, 1=Lundi, 2=mardi, 3=mercredi 4=jeudi, 5=vendredi, 6 = Samedi)
' [x] signifie le nombre entier résultant de la division, le reste étant ignoré
' m = Mois (m = 1 à 12; 1 = Janvier, 2 = Février, 3 = Mars, ... , 12 = Décembre) m >= 3 signifie m supérieur ou égal à 3
' d = Jour (d = 1 à 31)
' y = année
' z = y - 1 si m < 3
' z = y si m >= 3
' Modulo 7 ou mod 7 = reste de la division par 7

' Exemples :
' 1er cas : m < 3
' Le 18 janvier 1953 tombait quel jour de la semaine ?
' d = 18, m = 1, y = 1953 et z = y-1 = 1952; d'où :
' D = { [(23x1)/9] + 18 + 4 + 1953 + [1952/4] - [1952/100] + [1952/400] } mod 7
' D = (2 + 18 + 4 + 1953 + 488 - 19 + 4) mod 7
' D = 2450 mod 7 = 0 car 2450 = 7 x 350 + 0
' 18 janvier 1953 = un Dimanche

' 2eme cas : m > 3
' Le 2 août 1953 tombait quel jour de la semaine ?
' d = 2, m = 8, y = 1953 et z = y = 1953; d'où :
' D = { [(23x8)/9] + 2 + 4 + 1953 + [1953/4] - [1953/100] + [1953/400] - 2 } mod 7
' D = (20 + 2 + 4 + 1953 + 488 - 19 + 4 - 2) mod 7
' D = 2450 mod 7 = 0 car 2450 = 7 x 350 + 0
' 2 août 1953 = un Dimanche

' 3eme cas : m = 3
' Le 13 mars 1998 tombait quel jour de la semaine ?
' d = 13, m = 3, y = 1998 et z = y = 1998; d'où :
' D = { [(23x3)/9] + 13 + 4 + 1998 + [1998/4] - [1998/100] + [1998/400] - 2 } mod 7
' D = (7 + 13 + 4 + 1998 + 499 - 19 + 4 - 2) mod 7
' D = 2504 mod 7 = 5 car 2504 = 7 x 357 + 5
' 13 mars 1998 = un Vendredi 13 !

Merci de votre participation.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 21 Fév 2014 - 17:03

@ Jean Claude,

Cela à l' air de fonctionner correctement.
J' ai essayé avec plusieurs dates et tout va bien.

 Wink 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Recherche du jour de la semaine d'après l'algo de Mike Keith   Ven 21 Fév 2014 - 17:10

salut
J'ai testé pour ma date de naissance ça fonctionne
C'est bien un dimanche
Par contre   pour l’année 0027 je doute du jour
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Recherche du jour de la semaine d'après l'algo de Mike Keith   Ven 21 Fév 2014 - 17:21

Merci pour vos réponses,
je pense aussi que c'est bon, et toutes les vérif que j'ai faites le sont également.

Le sujet à déjà été traité notamment par Georges et Tengaal, mais c'était avant les sub(s).
Bon et bien je vais l'intégrer dans mon code en cours.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Ven 21 Fév 2014 - 17:23

@ Sergeauze,

0027, c' était avant ou après JC ?...

 lol! 
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Recherche du jour de la semaine d'après l'algo de Mike Keith   Ven 21 Fév 2014 - 17:29

J'ai aussi teste le 31 fevrier apres JC (2015)
L'algo ne tient pas compte des cas particuliers, ni des différents  calendriers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Recherche du jour de la semaine d'après l'algo de Mike Keith   Ven 21 Fév 2014 - 17:41

@sergeause,
Bonne remarque.
Je n'ai pas codé les gardes-fous car c'est fait avant l'utilisation de la Sub. (dans mon code en cours).
Il faut effectivement que le programmeur empêche ce bourrin d'utilisateur de faire n'importe quoi.  Very Happy 

@Ygeronimi,
Je suis intéressé par toutes les dates, car s'il y a un avant-JC, il n'y pas encore (Dieu merci !) d'après-JC.

   lol!


Dernière édition par Jean Claude le Ven 21 Fév 2014 - 23:27, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Recherche du jour de la semaine d'après l'algo de Mike Keith   Ven 21 Fév 2014 - 23:26

@Sergeause,

Pas la peine de tourner bourrique pour si peu, t'es pas classé dans ces bourrins d'utilisateurs
 lol! 
A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Recherche du jour de la semaine d'après l'algo de Mike Keith   

Revenir en haut Aller en bas
 
Recherche du jour de la semaine d'après l'algo de Mike Keith
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Recherche du jour de la semaine d'après l'algo de Mike Keith
» recherche a faire mise a jour du Garmin 660 FM avec la carte Islande
» Tutoriel mettre à jour manuellement Malwarebytes' Anti-malware
» Mise à jour manuelle de windows XP
» recherche d'une police de caractère

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: