Misez P'tit, Optimisez - N°33 (angles & côtés d'un triangle)
Modérateur : Politburo
- C.Ret
- 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
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.
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 :
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.
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.
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 :
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.
Re: Misez P'tit, Optimisez - N°33 (angles & côtés d'un trian
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(..)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.
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 ...
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.
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
- C.Ret
- 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
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.
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.
- Marge
- 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
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...
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...
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é. ♥ ♠
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é. ♥ ♠
- Marge
- 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
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é. ♥ ♠
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é. ♥ ♠
- Hobiecat
- 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
Quel palmarès ! Bravo !
- zpalm
- 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
Excellente initiative!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]
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.
Ce programme utilise 125 octets au total : 83 + 6*7
- Hobiecat
- 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
Ç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 !
- zpalm
- 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
L'important c'est de tout compter de la même façon pour pouvoir comparer ...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 !
- Hobiecat
- 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
Sur ce point, pas de discussion ! 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 !zpalm a écrit :L'important c'est de tout compter de la même façon pour pouvoir comparer ...
- Marge
- 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
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é. ♥ ♠
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é. ♥ ♠
- babaorhum
- 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
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
(491 octets ...)
A la prochaine !
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
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
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
- C.Ret
- 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
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.
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 !
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.
Zut, je fais à moi tout seul les 2/3 des étourdis !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 !
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.
- dprtl
- 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
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 :
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
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();
}
}
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
- Marge
- 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
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é. ♥ ♠
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é. ♥ ♠