Accueil > Technique > Informatique > HP35S > Calcul de la hauteur de la marée à une donnée.
Calcul de la hauteur de la marée à une donnée.
mercredi 30 avril 2014, par
Programme libre de droits. Aucune garantie n’est apportée par l’auteur
sur la correction des résultats, ni sur quoique ce soit.
Ce programme permet d’obtenir la hauteur de la marée à une heure donnée, après avoir entré les heures de début et de fin, et les hauteurs de début et de fin.
2 programmes
L’initialisation des paramètres : heures de début et de fin, hauteurs de début et de fin.
La recherche de la hauteur pour une heure donnée.
Les heures sont rentrées au format 0-24,0-59 (par exemple, 21,30 pour 21:30)
Le cas d’une marée débutant à 21:00 (donc PM) et se terminant le lendemain à 03:00 (donc AM) est géré.
La hauteur marée est signalée par une valeur positive dans le cas d’une marée montante (par exple : 3,45), négative dans le cas d’une marée descendante (par exple : -4,56)
Lancement du programe
Attention, la calculatrice DOIT être en mode degré ! Pour les entrées en mode équation, voir Lisez moi.
Initialisation
XEQ B ENTER
X ? (Nb) ENTER Hauteur du début de la marée
Y ? (Nb) ENTER Hauteur de la fin de la marée
D ? (Nb) ENTER Heure du début de la marée (au format 0-24,0-59)
F ? (Nb) ENTER Heure de fin de la marée (au format 0-24,0-59)
Et c’est fait
Calcul de l’heure
XEQ C ENTER
H ? (Nb) ENTER Heure (obligatoirement) dans l’intervalle début - fin de la marée (au format 0-24,0-59)
Ces programmes modifient les registres de mémoire D, F, H, R, T, X, Y et mettent l’affichage en mode FIX 2.
Formule
On ne va pas réinventer la roue et utiliser la formule donnée sur Wikipedia :
Soit avec nos choix et les registres mémoires utilisés ici :
, variation de hauteur, sera stocké dans
= marnage de la marée =
(NB : positif à marée montante et négatif à marée descendante)
, temps écoulé depuis le début de la marée =
, durée de la marée =
La formule retourne La "variation de hauteur par rapport au point de repère choisi", la hauteur de début de marée, ici. Il nous faudra donc ajouter la hauteur de début de marée au résultat retourné par la formule pour avoir la hauteur réelle de la marée :
hauteur de la marée à l’heure H = X+(Y-X)xSQ(SIN(90x(H-D)/(F-D))). Si X heure début marée est la basse mer, sera positif et ajouté à la hauteur de marée basse. Si X heure début marée est la pleine mer,
sera négatif et soustrait de la hauteur de marée haute.
Pour des raisons de facilité d’encodage, nous éclaterons l’équation en deux parties :
L’argument du sinus :
= 90x(H-D)/(F-D) stocké temporairement dans R
Le résultat final :
= X+(Y-X)xSQ(SIN(R)) qui sera stocké définitivement dans R
Programme
Initialisation
CK | E351 | LN=50 |
B001 | LBL B | Initialisation des paramètres |
B002 | FiIX 2 | - |
B003 | INPUT X | Hauteur début marée |
B004 | INPUT Y | Hauteur fin marée |
B005 | INPUT D | Heure début marée au format 0-24,0-59 |
B006 | HMS-> | Conversion HMS → Dec |
B007 | STO D | - |
B008 | INPUT F | Heure fin marée au format 0-24,0-59 |
B009 | HMS-> | Conversion HMS → Dec |
B010 | STO F | - |
B011 | RCL D | - |
B012 | x<y ? | - |
B013 | GTO B016 | - |
B014 | 24 | On est dans le cas par exemple d’une marée 21,30->3,30am |
B015 | STO+ F | On ajoute alors 24h à F |
B016 | RTN | - |
Calcul
CK | 0EC6 | LN=127 |
C001 | LBL C | Calcul de la hauteur marée pour une heure donnée |
C002 | FIX 2 | - |
C003 | INPUT H | Heure dans l’intervalle D-F au format 0-24,0-59 |
C004 | HMS-> | On convertit en dec |
C005 | RCL D | Rappel heure début |
C006 | x<>y | - |
C007 | x<y ? | Si H < D voir ci-dessus exemple d’une marée 21,30->3,30am |
C008 | H+24 | ![]() |
C009 | STO H | On va éclater l’équation X+(Y-X)xSQ(SIN(90x(H-D)/(F-D))) par facilité |
C010 | 90*(H-D)/(F-D) | Argument du sinus : ![]() |
C011 | STO R | - |
C012 | X+(Y-X)xSQ(SIN(R)) | Résultat final = ![]() |
C013 | STO R | - |
C014 | RCL Y | Hauteur fin marée |
C015 | RCL X | Hauteur début marée |
C016 | x>y ? | Si marée descendante |
C017 | SF 1 | On met l’indicateur 1 à true |
C018 | 1 | 1 |
C019 | FS 1 ? | - |
C020 | +/- | -1 |
C021 | STO T | Prépare affichage de la hauteur marée |
C022 | CF 1 | On remet le flag 1 à false (valeur par défaut) |
C023 | CLSTK | - |
C024 | RCL H | H entré au départ, sera affiché dans reg Y |
C025 | ->HMS | On remet H au format HMS, pour l’affichage |
C026 | STO H | (En vue aussi d’une même saisie ultérieure) |
C027 | RCL R | Hauteur marée sera affichée dans reg X |
C028 | RCL T | - |
C029 | x | Si marée montante on affiche +hauteur, sinon -hauteur |
C030 | RTN | - |