Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Ici, on fait dans le petit, le LCD qui déchire sa race, on y cause même calculatrices quand on est en manque !

Modérateur : Politburo

Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6172
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par Marge »

Marge avant la feuille noircie…

Image



Marge après 4 feuilles noircies !

A4D5BA31-5CC7-4B4D-B226-416C5C6FF362.jpeg
A4D5BA31-5CC7-4B4D-B226-416C5C6FF362.jpeg (59.91 Kio) Vu 127 fois
Modifié en dernier par Marge le 02 févr. 2024 17:55, modifié 2 fois.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
FLISZT
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 655
Enregistré le : 09 mars 2022 19:14

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par FLISZT »

Marge a écrit : 22 mars 2023 02:07 Marge après 4 feuilles noircies !

Image
Modifié en dernier par FLISZT le 22 mars 2023 17:05, modifié 1 fois.
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
FLISZT
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 655
Enregistré le : 09 mars 2022 19:14

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par FLISZT »

Petit hors-sujet, quoiqu'avec ces discussions sur (avec) ChatGPT…

Ça fait quelques années que j'étais tombé "là-dessus" et je pense que ça peut intéresser un certain nombre de Siliciens qu'ils soient pocketeux ou pas :

https://www.hpcc.org/datafile/V21N1/neural1.html
https://www.hpcc.org/datafile/V21N2/neural2.html
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6172
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par Marge »

Voici mon code pour HP-29C, sans grand intérêt puisque l’essentiel de mon raisonnement est celui de Z.Ret qui, lui, est arrivé à temps :

Code : Tout sélectionner

LBL 9
x^2
4
-
x<0
SQR
2
+
RTN
J’ai tout de même une question : qui est Olivette Barthelaine ? La femme du chef de gare ? Sa maîtresse ? Une mathématicienne injustement ignorée ? Une scientifique de la NASA ? Une anagramme futée ?
Modifié en dernier par Marge le 22 mars 2023 12:17, modifié 1 fois.
3 hommes, 3 demis, un 3a... Magnéto, Serge !

Quelques-uns de mes petits programmes pour machines Hewlett-Packard :
15C : Knight's Tour ;
29C : (k-)Permutations, Combinations, Linear Regression and Pseudo-random number ;
34C : Hanoi Towers - Automatic & Manual resolutions ;
67
__: A L I E N .

« Boris », c'était juste Maurice enrhumé.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par C.Ret »

Ah! Voilà, ça c'est du code.

C'est mon préféré: On effectue volontairement l'extraction de la racine carrée pour mettre en erreur et par cela indiquer qu'il n'y a pas de résultat. Là où les autres (zpalm et Scharf) effectuent coute que coute l'extraction de la racine carrée puis passe la marche - arrière pour retrouver le résultat.
Au moins le code de marge va de l'avant, et uniquement de l'avant.

Très très bien.
Comme quoi passer sous un train débloque l'enlisement dans la semoule !

Mantenant, j'ai un peu honte de publier le mien. Je vais pédaler encore un peu pour voir si je peux rattraper le coût. Du coup.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
antoine
Fonctionne à 75 bauds
Fonctionne à 75 bauds
Messages : 14
Enregistré le : 04 août 2022 10:18

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par antoine »

Bonjour,
Antoine, ce qu'affiche ta calculatrice est très intéressant, il va falloir que tu nous expliques en détail comment tu obtiens ce résultat.
Une fois, la formule dans la machine, elle peut calculer les valeurs du tableau ?
La fx-P401 n'est que très peu programmable. On peut tout au plus lui faire évaluer des expressions avec les variables A-F, X, Y, et M, plusieurs expressions en les séparant par ":"
Pour calculer le résultat je lui fais calculer X²-2 qui affiche le résultat. Mais la fonction de l'énoncé n'étant pas définie entre -2 et 2, je lui rajoute 0*racine(X²-4) qui vaut zéro sur l'intervalle où la fonction est définie, et qui génère une erreur mathématique "Ma ERROR" lorsque X est entre -2 et 2.
La machine calcule donc toutes les valeurs du tableau, en une seule expression.
Il est rare de voir un MPO qu'on peut résoudre avec cette machine dépourvue de labels, de sauts, de tests, etc.

Antoine
FLISZT
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 655
Enregistré le : 09 mars 2022 19:14

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par FLISZT »

Codes sans surprise…

1) Pour toute calculatrice RPL :

Code : Tout sélectionner

<<
2 ^
DUP
4 <
{ DROP 
"!"			@ Aïe ! Ow! Au! 啊喲 !
}
{ 2 − }
IFTE
>>
2) Pour hp-49g / 49g+/ 48gII et 50g exclusivement (programme très original… :mrgreen: ) :

Code : Tout sélectionner

<<
2 ^
DUP
4 <
{ 
"!"			@ Comme précédemment…   ;-)
NIP }
{ 2 − }
IFTE
>>
Les deux programmes pèsent 48,5 octets.

NB : Un simple << { } { } IFTE >> pèse 22,5 octets.
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Avatar du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par Schraf »

@C.Ret :
Ah! Voilà, ça c'est du code.
Ca démotive bien ceux qui essaient de participer et d'animer ces MPO !

Le MPO 116 est en ligne, je promets d'être moins virulent en lisant vos propositions.
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par C.Ret »

Schraf a écrit : 22 mars 2023 17:58 @C.Ret :
Ah! Voilà, ça c'est du code.
Ca démotive bien ceux qui essaient de participer et d'animer ces MPO !
C'est vrai cela, je m'emporte parfois un peu. Je ne voulais pas décourager ou dénigrer les productions des autres participants. J'ai juste laissé éclaté un peu trop mon émotion . . .
Schraf a écrit : 22 mars 2023 17:58Le MPO 116 est en ligne, je promets d'être moins virulent en lisant vos propositions.
Je viens d'essayer, bonne idée un MPO non mathématiques, ça nous change des fonctions, relations, substitutions, variables et autres domaine de définition.

J'invite chacun a essayer les deux MPO !

Sinon, concernant la HP-15C, je viens de retrouver la mienne qui s'était cachée sous les piles de docs que j'entasse sur mon bureau:
Pour rester dans la course, j'ai dû retirer Label et instruction de fin de programme.

Code : Tout sélectionner

001-   43 16    g ABS
002-       2       2
003-43,30, 7    g x>y? 
004-43, 4, 9    g SF 9
005-      14      y^x
006-       2       2
007-      30       -


Utilisation :
Saisir le code. Faire f CLR PRGM ou g RTN pour remettre le pointeur au début du code.

Entrer la valeur de l'abscisse x puis presser sur R/S. La valeur de la fonction f(x) s'affiche. Si l'affichage clignote, c'est que f n'est pas définie à cette positon. Appuyer sur [ <- ] pour arrêter le clignotement.

Entrer une autre abscisse x et presse sur R/S pour calculer la valeur de la fonction f(x) en un autre point.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
FLISZT
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 655
Enregistré le : 09 mars 2022 19:14

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par FLISZT »

Schraf a écrit : 22 mars 2023 17:58 @C.Ret :
Ah! Voilà, ça c'est du code.
Ca démotive bien ceux qui essaient de participer et d'animer ces MPO !

Le MPO 116 est en ligne, je promets d'être moins virulent en lisant vos propositions.
Perso, j'aime bien ton programme RPL (DOLIST). :wink:
L'équivalent de ce programme sur NumWorks (en Python d'une manière général), ça donnerait quoi ?
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Avatar du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par Schraf »

@FLISZT En Python ça pourrait donner ça :

Code : Tout sélectionner

def MPO115(x): if abs(x) >= 2: return x**2 - 2

>> [MPO115(x) for x in [ -875.3, -14.23, -17, -11, -6, -4, -0.02, 0, 1, 2, 6, 12.3, 452.38, 7451.2357 ]]
[766148.09, 200.4929, 287, 119, 34, 14, None, None, None, 2, 34, 149.29, 204645.6644, 55520911.456954494]
FLISZT
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 655
Enregistré le : 09 mars 2022 19:14

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par FLISZT »

C'est plus simple (compact) que je ne l'aurais cru !

Merci :D
Bruno
Sanyo CZ-0124 ? TI-57 ? HP-15C ? Canon X-07 + XP-140 Monitor Card ? HP-41CX ? HP-28S ? HP-50G ? HP-50G
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3405
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par C.Ret »

antoine a écrit : 22 mars 2023 12:40Il est rare de voir un MPO qu'on peut résoudre avec cette machine dépourvue de labels, de sauts, de tests, etc.
Oui, c'est en voyant moultes vidéos et tutos sur comment l'équation f(x+1/x)=x²+1/x², qui me paraissait insoluble, se simplifie en une expression aussi simple de f(x)=x²-2 que l'idée m'est venue d'en faire un MPO. Je me disais, voilà qui peut être réalisé avec toutes sortes de calculatrices et pockets. Même les plus anciennes, les plus rustiques, etc...

En lisant les capacités de la CASIO f-p401, je me rends compte que mon SHARP EL-5150 est un monstre de perfectionnement. Car effectivement, la même astuce utilisant la racine carrée peut être utilisée. Le calcul d'une valeur dans l'interval ] -2 ; 2 [ conduira aussi à un affichage d'erreur.

MPO116:
M:f(X)=X²-2+0√(X²-4)

X=6_ [COMP] affiche ANS1= 34.
X=1_ [COMP] affiche M:ERROR 2

On peut aussi faire plus propre et plus évalué, mais effectivement, cela prend plus d'octets.
SHARP PC-1211 PC-1360 EL-5150 PC-E500 | Commodore C=128D | Texas Instruments Ti-57LCD Ti-74BASICalc Ti-92II Ti-58c Ti-95PROCalc Ti-30XPROMathPrint | Hewlett-Packard HP-28S HP-41C HP-15C HP-Prime HP-71B | CASIO fx-602p | NUMWORKS | Graphoplex Rietz Neperlog | PockEmul | Sommaire des M.P.O. | Ma...dov'il sapone.
Avatar du membre
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2919
Enregistré le : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par zpalm »

Sur la Sharp EL-5100, la première de la série AER sortie en 1979, et en suivant l’idée de Schraf:

Image

Image

Image
Trypilec
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 91
Enregistré le : 23 déc. 2023 09:09

Re: Misez p'tit, Optimisez - N°115 : Evaluation de la fonction d'Olivette Barthelaine

Message par Trypilec »

C.Ret a écrit : 21 mars 2023 21:51 Pour tous, nous pouvons observer ce qui se passe lorsque l'on élève x+1/x au carré :
(x+1/x)² =
On a plus l'habitude de faire (a+b)² et l'on sait que (a+b)²=a²+2ab+b², donc pour le coup on a a=x et b=1/x :
(x+1/x)² = x² + 2*x*1/x + (1/x)²
(x+1/x)² = x² + 2*x/x + 1/x²
(x+1/x)² = x² + 2 + 1/x²

Tiens, coup de bol, x²+1/x² apparait ici ! C'est un sacré coup de chance.
On en déduit que :
x²+1/x² = (x+1/x)² - 2
x²+1/x² = ( y )² - 2

Donc, on a une définition analytique directe de la fonction f solution de l'équation f(x+1/x)=x²+1/x² lorsque y=x+1/x : f(y)=y²-2
Ce sont des polynômes symétriques.
Expression
Image
est symétrique si
Image.
Polynômes
Image
et
Image
sont des polynômes symétriques élémentaires.
Ci-dessous un tableau des identités
Image.
"N'importe quel programme peut être raccourci d'une pas": — un vieux dicton des programmeurs.
Répondre

Retourner vers « Tous les Pockets »