Blog de Robert Sebille


Vers mon curriculum vitae - Conception

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 Robert

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 :

Calcul de la hauteur de la marée à une heure donnée
Le problème à résoudre

\Delta H=ma\times sin^2\left({90\times \Delta t\over Du} \right)
Soit avec nos choix et les registres mémoires utilisés ici :
- \Delta H, variation de hauteur, sera stocké dans R
- ma = marnage de la marée = Y-X (NB : positif à marée montante et négatif à marée descendante)
- \Delta t, temps écoulé depuis le début de la marée = H-D
- Du, durée de la marée = F-D

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, \Delta H sera positif et ajouté à la hauteur de marée basse. Si X heure début marée est la pleine mer, \Delta H 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 : 90\times \Delta t\over Du = 90x(H-D)/(F-D) stocké temporairement dans R
- Le résultat final : X + ma\times sin^2(R) = 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 H + 24. On ajoute 24h à H
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 : 90\times \Delta t\over Du
C011 STO R -
C012 X+(Y-X)xSQ(SIN(R)) Résultat final = X + ma\times sin^2(R)
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 -
Calcul de la hauteur de la marée à une donnée
Programme au format .ods

Un message, un commentaire ?

modération a priori

Ce forum est modéré a priori : votre contribution n’apparaîtra qu’après avoir été validée par un administrateur du site.

Qui êtes-vous ?

Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.