Misez P'tit, Optimisez - N°33 (angles & côtés d'un triangle)

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

Répondre
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3419
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par C.Ret »

Bien vu !

J'ai édité ton programme pour qu'il affiche les 6 données (les trois longueurs de segment et les trois angles ) dans l'ordre des autres programmes.
crethp39triangprg.png
crethp39triangprg.png (8.28 Kio) Vu 2013 fois
A noter que le programme ne fonctionne que si l'application Triangle est sélectionnée dans le menu APPS. Sinon, la fonction SSS() n'est pas reconnue.
Voici ce que donne le calcul pour le triangle suivant :
latri2.png
latri2.png (26.42 Kio) Vu 2013 fois
crethp39triangrun.png
crethp39triangrun.png (7.74 Kio) Vu 2013 fois
Par contre, je suis toujours en train de chercher à dessiner le triangle. Ce ne doit pas être très difficile, mais cela fais quelques mois que je n'ai plus bricolé sur cette machine.
Modifié en dernier par C.Ret le 23 mars 2022 23:24, modifié 1 fois.
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.
Gilles59
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1602
Enregistré le : 27 oct. 2010 20:46

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Gilles59 »

C.Ret a écrit : A noter que le programme ne fonctionne que si l'application Triangle est sélectionnée dans le menu APPS. Sinon, la fonction SSS() n'est pas reconnue.
Effectivement. J'ai lu dans la doc (ou sur un forum) qu'il possible de forcer pour que cela fonctionne partout en précisant le nom de l'APPS dans la fonction, mais je n'ai pas trouvé. Ca doit être un truc du genre Triangle.SSS(..)

Par contre, je suis toujours en train de chercher à dessiner le triangle. Ce ne doit pas être très difficile, mais cela fais quelques mois que je n'ai plus bricolé sur cette machine.
Je pensais juste à lancer l'app en mode interactif avec les données initialisées. Reste à trouver comment ! Et de toute façon le 'dessin' est juste pour illustration et ne s'adapte pas aux données ...

Image
Casio FX-502P /602P / 603P / FX180P+ / FX4000P / TI57 / TI66 / TI74 Basicalc / TI95 Procalc / HP12C / HP15C LE / DM41L / HP 30B / HP39GII / HP 48SX USA / 49G / 49g+ / 50G / 50G NewRPL / HP Prime / Oric 1 / Amstrad CPC 6128+ CM14 et MM12 / Alice 32
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3419
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par C.Ret »

Pour ma part, j'étais parti dans le dessin avec les ordre graphique (LINE, etc...). Mais il faut aussi transmettre les paramètres d'affichage (type repère, fenêtre d'affichage, etc...)
Faute de temps je n'ai pas abouti.
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
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6186
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Marge »

Bravo Gilles pour ces efforts pour faire participer cette machine trop souvent délaissée ! ou, pour paraphraser : "Good catch Gilles ! Bien joué."

Quant à moi, j'avais dit que j'avancerais, mais bon, pas mal de travail d'été - par exemple brûler un nid de guêpes, c'est de saison -, et puis j'ai encore été banni du fofo de vendredi soir à samedi soir, je n'étais donc plus très motivé. J'ai quand même ressorti ma 25, aux touches un peu dures et du coup j'ai préféré regarder ma 33 dont le clavier est beaucoup plus praticable... et je me suis demandé si par les régressions linéaires, ce genre de calcul ne serait pas faisable. Juste une idée comme ça, hein, n'allez pas vous lancer dans une nouvelle course car alors, le bilan... :) :roll: :wink: :D
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
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3641
Enregistré le : 06 sept. 2011 14:57
Localisation : Normandie

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Hobiecat »

Quel palmarès ! Bravo !
Avatar du membre
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2933
Enregistré le : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par zpalm »

Marge a écrit :Faites-moi part des erreurs éventuelles, et que les étourdis n'oublient pas de m'indiquer le nombre d'octets pour les programmes qui sont encore hors-concours, merci ![/url]
Excellente initiative!

J'ai trouvé une erreur: pour être cohérent, la taille doit tenir compte à la fois du programme et des registres mémoire utilisateur utilisés.
Marge a écrit :Résumé AU 03/02/2013


HP-41, 83 octets, par zpalm
Ce programme utilise 125 octets au total : 83 + 6*7
Avatar du membre
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3641
Enregistré le : 06 sept. 2011 14:57
Localisation : Normandie

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Hobiecat »

Ça se discute pour les registres : autant les pas de programme sont "bloqués", autant les registres utilisés par un programmes restent disponibles pour les autres ( sauf si on y stocke des constantes utiles au programme). Le décompte ou non des registres est donc négociable ! :wink:
Avatar du membre
zpalm
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2933
Enregistré le : 03 mai 2008 15:33
Localisation : Grenoble

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par zpalm »

Hobiecat a écrit :Ça se discute pour les registres : autant les pas de programme sont "bloqués", autant les registres utilisés par un programmes restent disponibles pour les autres ( sauf si on y stocke des constantes utiles au programme). Le décompte ou non des registres est donc négociable ! :wink:
L'important c'est de tout compter de la même façon pour pouvoir comparer ...
Avatar du membre
Hobiecat
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3641
Enregistré le : 06 sept. 2011 14:57
Localisation : Normandie

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Hobiecat »

zpalm a écrit :L'important c'est de tout compter de la même façon pour pouvoir comparer ...
Sur ce point, pas de discussion ! :wink: Et même les registres, il est vrai que cela permet de voir l'usage de la mémoire à l'instant t, ce qui a aussi un intérêt !
Avatar du membre
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6186
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par Marge »

Oui, je corrige.
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
babaorhum
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 454
Enregistré le : 13 janv. 2013 19:44
Localisation : Marseille-est

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par babaorhum »

Super Marge !

très beau MPO - du suspens, de l'originalité, de l'entraide ... très sympa !

Je ne résiste pas (pour faire suite un post de C.ret...) - j'ajoute une version HP-75C hors concours bien sûr, mais qui n'a pas été proposé pour cette belle machine

Code : Tout sélectionner

10 INPUT x1,Y1 @ INPUT X2,Y2 @ INPUT X3,Y3
20 DEF FNA(X,Y,Z,T)=SQR((X-Z)^2+(Y-T)^2)
30 DEF FNB(H,H,I)=ACOS((H^2+I^2-G^2)/2/H/I)
40 A=FNA(X1,Y1,X2,Y2) @ B=FNA(X2,Y2,X3,Y3) @ C= FNA(X1,Y1,X3,Y3)
50 D=FNB(B,A,C) @ E=FNB(C,B,A) @ F=FNB(A,B,C)
60 DISP USING 70 ; A,B,C @ STOP @ DISP USING 100 ; D,E,F
70 IMAGE ddd.dd,2x,ddd.dd,2x,ddd.dd
(491 octets ...)

A la prochaine !
BaBaoRhum
HP J728,200LX,1000CX,75C,71B,48GX,42s,41CX,32E,32Sii,28S,22s,21,16C,11C
Sharp PC- E500,1600,1500,1350,1261,1245
Casio FX-502P,602p,850P,3900P,4000P
TI-74,92,95 ; Canon X-07 ; TANDY EC-4026 ; Wp34S
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3419
Enregistré le : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par C.Ret »

Il est bien ce programme piur HP-75C.

Et loin , d'&près mes crittères d'être hors concours. Il montre bien que le BASIC du ce pocket est l'un des plus puissant; on peut y utiliser des fonction DEF FN sophisitiquées et une mise en forme des résultats qui ressemble fortemrtn à du FORTRAN.

C'est très intéressante et donne une bonne illustration des capacité de ce pocket exceptionnel.


Marge a écrit :[...] et que les étourdis n'oublient pas de m'indiquer le nombre d'octets pour les programmes qui sont encore hors-concours, merci !
Zut, je fais à moi tout seul les 2/3 des étourdis !

Bon, pour la HP-28S, le nombre d'octets est de 186 octets.

J'ai beaucoup de mal à calculer le nombre d'octets sur mon HP-28S, il va falloir que je révise l'utilisation de la commande MEM qui inclue nombres d'octets des programmes, objet, de la pile et des sauvegarde (LAST et UNDO). Pas facile pour moi de déterminer facilement le nombnre d'octet.


Pour le SHARP PC-1211 : là c'est bien une étourderie, il suffit de taper MEM pour avoir le nombre d'octets du programme sans aucune hésitations.

Le programme fait 215 octets et utilise 15 registres (soit 120 octets – mais je suis de l’avis de zpalm de ne pas les compter car il s’agit de 15 registres parmi les 26 registres immuables).


En tout cas, excellente idée de faire un résumé des publications dans le premier message !
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
dprtl
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 463
Enregistré le : 27 janv. 2013 00:26
Localisation : Strasbourg
Contact :

Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian

Message par dprtl »

Voici ma version en langage C pour Casio Z-1, basée sur les formules de babaorhum, et sur le code Basic optimisé par C.Ret :

Code : Tout sélectionner

double xy[3][2],a[3];
double cote(i){
 char j;
 j=(i+1)%3;
 return(sqrt(pow(xy[i][0]-xy[j][0],2)+pow(xy[i][1]-xy[j][1],2)));
}
double angl(i){
 return(acos((pow(a[i],2)+pow(a[(i+2)%3],2)-pow(a[(i+1)%3],2))
 /(2*a[i]*a[(i+2)%3])));
}
main(){
 char i,c1,c2;
 for (i=0;i<3;i++) {
  printf("Point %c? ",i+65);
  scanf("%lf %lf",&xy[i][0],&xy[i][1]);
 }
 for (i=0;i<3;i++) { 
   a[i]=cote(i); 
 }
 for (i=0;i<3;i++) {
   c1=i+65;c2=(i+1)%3+65; 
   printf("%c%c=%lf ^%c=%lf\n",c1,c2,a[i],c1,angl(i));
   getch();
 }
}
Rien d'exceptionnel : ce source en C, présenté de manière un peu lisible (espaces), pèse 512 octets (interprété) + les variables.

Exemple d'utilisation (avec le mode DEG coché à l'avance) :

Point A? 4 6
Point B? 7 3
Point C? 1 1
AB=4.242641 ^A=75.963757
BC=6.324555 ^B=63.434949
CA=5.830952 ^C=40.601295
Répondre

Retourner vers « Tous les Pockets »