Créer une application personnalisée sur HP-Prime ?

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 de l’utilisateur
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 330
Inscription : 05 mars 2020 21:45
Contact :

Créer une application personnalisée sur HP-Prime ?

Message par Schraf » 19 janv. 2022 18:02

Bonjour !

Est-ce que parmi vous certain.e.s ont essayé de créer une application personnalisée complète sur la HP Prime ?

J'ai regardé les 2 vidéos HP Prime - Création d'une application personnalisée qui donnent une première idée mais je voudrais des écrans Symb, Plot et Num sur mesure.

Pour fixer les idées, si l'application, basée sur Suite, s'appelle Syracuse, sur l'écran Symb il ne faudrait que la valeur de départ n, avec un petit message par exemple. En validant on pourrait obtenir sur ce même écran le maximum atteint et le temps de vol. Et appuyant sur Plot le tracé en histogramme (sur l'intervalle 0 à tps de vol et hauteur entre 0 et maxi) ou en logarithme. Et Num pour avoir le tableau des valeurs.

J'avais fait ça sur une HP-38G mais sur la Prime, je n'arrive pas à trouver de références avec les commandes que je pourrais utiliser.

Si vous avez quelques pistes (docs, vidéos, exemples...), je suis preneur ! Merciii

Avatar de l’utilisateur
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 330
Inscription : 05 mars 2020 21:45
Contact :

Re: Créer une application personnalisée sur HP-Prime ?

Message par Schraf » 20 janv. 2022 19:59

Je me réponds à moi-même : Regarde page 617 du manuel User_Guide_FRA_2018_01_12_1.pdf il y a un exemple ! :evil:

Avatar de l’utilisateur
Danny
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 969
Inscription : 28 déc. 2013 17:34

Re: Créer une application personnalisée sur HP-Prime ?

Message par Danny » 20 janv. 2022 20:43

Merci pour le rappel ! :)

J'avais commencé à explorer le sujet après avoir acquis ma Prime, mais sans persévérer ensuite... c'est dans ma todo list de trucs sur lesquels me remettre plus tard :geek:
Apple, Atari, Canon, Casio, Электро́ника, HP, Psion, Sharp, Tandy... même TI.

Avatar de l’utilisateur
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 330
Inscription : 05 mars 2020 21:45
Contact :

Re: Créer une application personnalisée sur HP-Prime ?

Message par Schraf » 21 janv. 2022 10:44

J'ai un peu avancé sur le sujet, mais il y a qq chose d'étrange que je n'arrive pas à comprendre :

L'application Syracuse est basée sur l'appli Suite

J'ai défini maxVol (pour calculer le max et le temps de vol), et nbDepart qui demande le nombre de départ et affiche le max + tps de vol. J'ai ajouté dans nbDepart un appel à la vue n°0 (startview(0)) qui correspond à l'appui sur la touche Symb de la machine (donc à la partie définition d'une suite). Le problème c'est que si j'écris U1(1):=X ou U1(N):="IF U1(N-1) MOD 2 == 0 THEN U1(N-1)/2 ELSE 3*U1(N-1)+1 END";, le champ correspondant est bien rempli mais si j'écris les 2 lignes, il ne prend en compte que la dernière ligne... Comment définir U1(1) ET U1(N) ??

2 autres pistes qui ne fonctionnent pas (code mis dans nbDepart après le INPUT) :

U1:=RECURSE(U,IF U(N-1) MOD 2 == 0 THEN U(N-1)/2 ELSE 3*U(N-1)+1,X);

ou

Syracuse.U1:={"IF U1(N-1) MOD 2 == 0 THEN U1(N-1)/2 ELSE 3*U1(N-1)+1",X,1,0};

Code : Tout sélectionner

EXPORT Syracuse()
BEGIN
END;

maxVol()
BEGIN
V:=0;
M:=U1(1);
N:=U1(1);
WHILE N > 1 DO
 IF irem(N,2) == 0 THEN N:=iquo(N,2) ELSE N:=3*N+1 END;
 IF N > M THEN M:=N END;
 V:=V + 1; 
END;
END;

nbDepart()
BEGIN
INPUT(X,"Conjecture de Syracuse","N=","Entrez le nombre du départ");
startview(0);
// Je n'arrive pas à définir à la fois U1(1) et U1(N)
U1(1):=X;
U1(N):="IF U1(N-1) MOD 2 == 0 THEN U1(N-1)/2 ELSE 3*U1(N-1)+1 END";
maxVol();
msgbox("Max="+M);
msgbox("Vol="+V);
END;

START()
BEGIN
nbDepart()
END;

Symb()
BEGIN
nbDepart()
END;

Plot()
BEGIN
Xmin:=1;
Xmax:=V;
Nmin:=1;
Nmax:=V;
Ymin:=0;
Ymax:=M;
startview(1,1);
END;
syr1.jpg
Appli Syracuse
syr1.jpg (101.66 Kio) Consulté 1823 fois
syr2.jpg
Demande du nombre
syr2.jpg (38.42 Kio) Consulté 1823 fois
syr3.jpg
U1(1) ne s'affiche pas :-(
syr3.jpg (81.87 Kio) Consulté 1823 fois
Si vous avez une idée...

Avatar de l’utilisateur
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2779
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Créer une application personnalisée sur HP-Prime ?

Message par C.Ret » 22 janv. 2022 15:35

Schraf a écrit :
21 janv. 2022 10:44
Le problème c'est que si j'écris U1(1):=X ou U1(N):="IF U1(N-1) MOD 2 == 0 THEN U1(N-1)/2 ELSE 3*U1(N-1)+1 END";, le champ correspondant est bien rempli mais si j'écris les 2 lignes, il ne prend en compte que la dernière ligne... Comment définir U1(1) ET U1(N) ??

Si vous avez une idée...
Pour l'application séquence, U1 a un comportement particulier.
En écriture , U1 est une liste contenant { Def , a , b , n , k } et en lecture les U1(i) sont les termes successifs de la séquence.
Avec Def : définition de récurrence, généralement U1(N+k)= f ( U1(...) )
a : premier terme de la séquence U1(n)
b : second terme de la séquence U1(n+1) ou à défaut une chaine vide ""
n : 0 ou 1 selon l'indice du premier terme de la séquence
k : 0 ou k selon l'indice du terme récurrent.

Dans ton code, le plus simple et d'initialiser U1 en une seule fois ou alors à l'aide des opération sur les listes. Utiliser U1(1) n'est pas possible car cela revient à remplacer toute la liste par un seul élément. C'est une sorte de bug.

Pour Syracuse, je n'est eut aucun mal en modifiant ton code par :
U1:={ PIECEWISE( U1(N-1) MOD 2 , 3*U1(N-1)+1 , U1(N-1)/2 ) , X , "" , 0 , 0 };
Syracuse Sequence App Definition.png
Syracuse Sequence App Definition.png (39.76 Kio) Consulté 1791 fois
Syracuse Sequence App Definition LIN LOG graph.png
Syracuse Sequence App Definition LIN LOG graph.png (42.26 Kio) Consulté 1786 fois
Dernière édition par C.Ret le 22 janv. 2022 15:56, édité 2 fois.
SHARP PC-1211+CE-121+CE-122 | Commodore 128D+Printer P-803+SD2iec | TI-57 LCD | HP-28S+HP82240A | TI-74 BASICalc | HP-41C+2mem+stat+IR | HP-15C | SHARP PC-1360+64Ko+CE-126 | HP Prime | TI-92 II | CASIO fx-602p+FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader | TI-58c+Master Library module | Sommaire des M.P.O. | Ma...dov'il sapone !.

"All science is either physics or stamp collecting. That which is not measurable is not science." - E. R.

Avatar de l’utilisateur
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 330
Inscription : 05 mars 2020 21:45
Contact :

Re: Créer une application personnalisée sur HP-Prime ?

Message par Schraf » 22 janv. 2022 15:47

Merci C.Ret ! Je venais de voir il y a moins d'une heure que U1:={"IFTE(U1(N-1) MOD 2 == 0,U1(N-1)/2,3*U1(N-1)+1)",X}; fonctionnait (donc en utilisant une liste).

Je vais reprendre tout depuis le début en partant cette fois de l'application Stats 1Var plutôt que Suite et en suivant l'exemple que l'on trouve page 8 de Programming in HP PPL. Ca permettra de créer des listes D1 et D2 plus facilement (je pense) et l'inconvénient des suites c'est qu'il n'y a pas de raison de s'arrêter une fois que l'on arrive à 4-2-1.

J'ai vraiment l'impression que l'on peut faire des choses sympas sur cette machine (qui sera hélas la dernière de chez HP si j'ai bien tout compris).

Bon wk

tyann
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 769
Inscription : 06 oct. 2012 14:37

Re: Créer une application personnalisée sur HP-Prime ?

Message par tyann » 22 janv. 2022 18:34

Bonsoir

Oui la Hp Prime permet de faire de belles choses, de par ses performances et
aussi de par son langage très complet qui donne accès à beaucoup de ressources
de la machine.
Tim et Cyrille ont beaucoup écouté les demandes des utilisateurs et nous ont vraiment gâté niveau programmation.
Côté Applications personnalisée, je citerai entre autres la possibilité de personnaliser l'icône celle- ci,
de créer une application à partir d'un modèle vierge, de faire un menu avec différentes options appelable
par la touche 'View' ou de faire des fonctions qui pourront être appelées depuis n'importe quel programme
ou même depuis une autre application (depuis les dernières mises à jour on peut obtenir la liste des applications
présentes depuis un programme).
Ti(s) 60, 62 Galaxy, 66, 67 Galaxy, 68, 74 Basical 80, 81, 82, 83+, 83 CE, 84+SE, 85, 86, 89, 89 titanium, 92, 95 Procalc, v200, nSpire cx
Hp(s) 35s, 41CX, 28S, 48g, 50g, 39gII, Prime G1 et G2,
Casio(s) fx 602P, 702P, 4000P, 4500P, 6000G, 6900G, 7700G, 8500g, PB-700, CG-20, Graph 95 sd
Psion(s)II LZ64, siena, s3a, s3mx, s5mx.
Sharp(s) pc-1350, 1403, 1500A, El 5120, 9200, 9600

Canon X-07

Avatar de l’utilisateur
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 330
Inscription : 05 mars 2020 21:45
Contact :

Re: Créer une application personnalisée sur HP-Prime ?

Message par Schraf » 22 janv. 2022 21:16

Merci @tyann pour ces précisions, j'avais repérer le coup du View personnalisable (comme sur HP 38G)

Je suis passé par l'application Stats 1Var et avec le code :

Code : Tout sélectionner

Plot();
Symb();
START()
BEGIN
Symb();
END;

Symb()
BEGIN
INPUT(N,"Conjecture de Syracuse","N=","Entrez le nombre du départ",27,27);
D2:={N};
WHILE N > 1 DO
 N:=IFTE(even(N),N/2, 3*N+1); 
 D2:=append(D2,N);
END;
V:=SIZE(D2);
D1:=MAKELIST(X,X,0,V-1,1);
M:=MAX(D2);
D3:=M*LOG(D2)/LOG(M);
STARTVIEW(2,1);
END;

Plot()
BEGIN
H1:={'D1','D2',1,0,#FF0000:24h};
H2:={'D1','D3',4,0,#000000};
0▶Hmin▶Xmin▶Ymin;
V▶Hmax▶Xmax;
Ymax:=M;
1▶GridLines▶GridDots▶Axes;
CHECK(1);
CHECK(2);
STARTVIEW(1,1);
msgbox("Max="+Ymax+"\nVol="+(V-1));
END;
Depart.png
Formulaire départ
Depart.png (15.67 Kio) Consulté 1722 fois
Num.png
Tableau des valeurs
Num.png (26.74 Kio) Consulté 1722 fois
Syr27.png
Visuel final
Syr27.png (14.12 Kio) Consulté 1722 fois
Ca donne ça : mini vidéo de 25 secondes

2 questions :

- Comment C.Ret fais-tu pour taper le symbole ► dans "HP Connectivity Kit" ? (Ce que tu as fait ici par exemple)
- Comment exporter une application vers un fichier, par exemple pour le partager avec vous ?

Avatar de l’utilisateur
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 330
Inscription : 05 mars 2020 21:45
Contact :

Re: Créer une application personnalisée sur HP-Prime ?

Message par Schraf » 23 janv. 2022 17:48

@Tyann : Je viens de trouver cette page de Mickaël Nicotera avec pleins d'exemples d'applications/jeux et tout en bas il y a un jeu de cartes nommé "Réussite" avec comme nom Tyann... Il y a un lien ? :?:

En tous cas il y a de quoi faire pour analyser des programmes...
Golfe.png
Jeu de cartes
Golfe.png (13.73 Kio) Consulté 1712 fois

tyann
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 769
Inscription : 06 oct. 2012 14:37

Re: Créer une application personnalisée sur HP-Prime ?

Message par tyann » 23 janv. 2022 18:34

Bonsoir

Oui c'est moi qui ai fait ça, c'est le jeu Golfe.
:D
Ti(s) 60, 62 Galaxy, 66, 67 Galaxy, 68, 74 Basical 80, 81, 82, 83+, 83 CE, 84+SE, 85, 86, 89, 89 titanium, 92, 95 Procalc, v200, nSpire cx
Hp(s) 35s, 41CX, 28S, 48g, 50g, 39gII, Prime G1 et G2,
Casio(s) fx 602P, 702P, 4000P, 4500P, 6000G, 6900G, 7700G, 8500g, PB-700, CG-20, Graph 95 sd
Psion(s)II LZ64, siena, s3a, s3mx, s5mx.
Sharp(s) pc-1350, 1403, 1500A, El 5120, 9200, 9600

Canon X-07

Avatar de l’utilisateur
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2779
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Créer une application personnalisée sur HP-Prime ?

Message par C.Ret » 23 janv. 2022 21:45

Schraf a écrit :
22 janv. 2022 21:16
- Comment C.Ret fais-tu pour taper le symbole ▶ dans "HP Connectivity Kit" ? (Ce que tu as fait ici par exemple)
C'est le caractère Unicode 25B6-9654. Il n'est pas disponible dans le CHARMAP standard de Windows. Sans une configuration spécifique de développement (ou un CHARMAP de :pirat: ), le plus simple est de le créer sur l'HP Prime directement [Shift][STO▶]. Puis de le copier à partir du ConnectivityKit directement et de le sauvegarder dans son CopyBoardTemplate perso. Sur ma station de travail, je faits un copié-collé dans le ShortCut Manager et s'il le faut je lui attribue une des touches disponible de Orbweiller. C'est l'avantage de travailler sur un émulateur.

A défaut de toute cette cavalerie lourde, j'utilise le NotePad, j'y colle les caractères bizarres et quelques expressions. Comme cela, pas besoin de logiciel externes et un petit copié-collé permet de l'avoir.
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
D'ailleurs tu peux copier les petits triangles depuis ce message, ce sont tous des 25B6 -9654.
▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶▶
SHARP PC-1211+CE-121+CE-122 | Commodore 128D+Printer P-803+SD2iec | TI-57 LCD | HP-28S+HP82240A | TI-74 BASICalc | HP-41C+2mem+stat+IR | HP-15C | SHARP PC-1360+64Ko+CE-126 | HP Prime | TI-92 II | CASIO fx-602p+FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader | TI-58c+Master Library module | Sommaire des M.P.O. | Ma...dov'il sapone !.

"All science is either physics or stamp collecting. That which is not measurable is not science." - E. R.

Avatar de l’utilisateur
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 2779
Inscription : 31 mai 2008 23:43
Localisation : N 49°22 E 6°10

Re: Créer une application personnalisée sur HP-Prime ?

Message par C.Ret » 23 janv. 2022 22:00

Schraf a écrit :
22 janv. 2022 21:16
- Comment exporter une application vers un fichier, par exemple pour le partager avec vous ?
Tu attrapes avec ta souri ton programme ou ton application personnalisée dans la colonne de gauche du Connectivity Kit
(Celle appelée Calculators) et tu déposes le truc sur le bureau ou dans un répertoire que tu as préalablement ouvert avec l'explorateur de fichiers.
Il apparait alors respectivement un fichier Syracuse.hpprgm ou un dossier &Syracuse.hpappdir que tu peux partager.

Il nous suffira de le déposer de la même manière dans la colonne de gauche du notre Connectivity Kit, a sa place ou sur une des calculatrices connectées (virtuelles ou réelles) pour qu'il y soit ajouté. Il suffit alors de presser sur la touche "Sauvegarde" pour qu'il ou qu'elle soit immédiatement installée dans notre HP Prime.

Un jeu d'enfants !
En fait, c'est exactement fait pour cela que ce soit simple et direct. C'est un Kit de connexion après tout ! Non ?

Alternativement, tu peux aussi venir avec ton HP Prime et son cable USB, nous branchons nos HP Prime et par un Drag & Drop dans le Connectivity Kit, tu peux transférer tes programmes et Application Perso.

Si personne n'as d'ordinateur compatible, j'ai aussi mon cable de transfert. On peux alors accoupler nos deux machines et échanger directement. Si si ça marche très bien, je me suis déjà accouplé de cette façon avec gégé lors d'un mini-pockéticaire !
SHARP PC-1211+CE-121+CE-122 | Commodore 128D+Printer P-803+SD2iec | TI-57 LCD | HP-28S+HP82240A | TI-74 BASICalc | HP-41C+2mem+stat+IR | HP-15C | SHARP PC-1360+64Ko+CE-126 | HP Prime | TI-92 II | CASIO fx-602p+FA-1 | HP-71B 64K+JPC-ROM+HPIL+card reader | TI-58c+Master Library module | Sommaire des M.P.O. | Ma...dov'il sapone !.

"All science is either physics or stamp collecting. That which is not measurable is not science." - E. R.

Avatar de l’utilisateur
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 330
Inscription : 05 mars 2020 21:45
Contact :

Re: Créer une application personnalisée sur HP-Prime ?

Message par Schraf » 23 janv. 2022 23:23

Ah OK, je fais bien les glisser-déposer vers ma vraie calculatrice avec HP connectivity (ou clic droit envoyer à la classe) mais je n'avais pas pensé à glisser vers le bureau...

Et pour les copier-coller des symboles spéciaux, je pensais qu'il y avait soit des raccourcis soit un clavier virtuel directement ds HP connectivity. Sinon je transferts vers l'émulateur, je fais les modifs et je reviens dans HP connectivity mais bon...

Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 151
Inscription : 09 oct. 2021 15:15

Re: Créer une application personnalisée sur HP-Prime ?

Message par Andromede » 24 janv. 2022 09:56

Bonjour,
Je veux vraiment participer à ce fil de discussion mais malheureusement je ne dispose pas actuellement d'un HP Prime :(
Je dois en acquérir un rapidement et je reviendrais en force :lol:
Casio FX-850P, FX-880P, FX-7000G, FX-7000GA, FX-3900P
Sharp E500, EL-9000
Texas Instruments TI-62 Galaxy
" Les machines un jour pourront résoudre tous les problèmes, mais jamais aucune d'entre elles ne pourra en poser un !" Albert Einstein

Avatar de l’utilisateur
Danny
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 969
Inscription : 28 déc. 2013 17:34

Re: Créer une application personnalisée sur HP-Prime ?

Message par Danny » 24 janv. 2022 10:20

C.Ret a écrit :
23 janv. 2022 22:00
je me suis déjà accouplé de cette façon avec gégé lors d'un mini-pockéticaire !
Vous avez des photos ? 8O :mrgreen:
Apple, Atari, Canon, Casio, Электро́ника, HP, Psion, Sharp, Tandy... même TI.

Répondre

Revenir vers « Tous les Pockets »