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

Avatar du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

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

Message par Schraf »

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 du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

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

Message par Schraf »

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 du membre
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

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

Message par Danny »

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 du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

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

Message par Schraf »

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;
Appli Syracuse
Appli Syracuse
syr1.jpg (101.66 Kio) Vu 3974 fois
Demande du nombre
Demande du nombre
syr2.jpg (38.42 Kio) Vu 3974 fois
U1(1) ne s'affiche pas :-(
U1(1) ne s'affiche pas :-(
syr3.jpg (81.87 Kio) Vu 3974 fois
Si vous avez une idée...
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 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 »

Schraf a écrit : 21 janv. 2022 09: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) Vu 3942 fois
Syracuse Sequence App Definition LIN LOG graph.png
Syracuse Sequence App Definition LIN LOG graph.png (42.26 Kio) Vu 3937 fois
Modifié en dernier par C.Ret le 22 janv. 2022 14:56, modifié 2 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.
Avatar du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

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

Message par Schraf »

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
Avatar du membre
tyann
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 845
Enregistré le : 06 oct. 2012 14:37

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

Message par tyann »

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, E500, El 5120, 9200, 9600
Canon X-07
Avatar du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

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

Message par Schraf »

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;
Formulaire départ
Formulaire départ
Depart.png (15.67 Kio) Vu 3873 fois
Tableau des valeurs
Tableau des valeurs
Num.png (26.74 Kio) Vu 3873 fois
Visuel final
Visuel final
Syr27.png (14.12 Kio) Vu 3873 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 du membre
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

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

Message par Schraf »

@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...
Jeu de cartes
Jeu de cartes
Golfe.png (13.73 Kio) Vu 3863 fois
Avatar du membre
tyann
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 845
Enregistré le : 06 oct. 2012 14:37

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

Message par tyann »

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, E500, El 5120, 9200, 9600
Canon X-07
Avatar du membre
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 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 »

Schraf a écrit : 22 janv. 2022 20: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 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
C.Ret
Fonctionne à 9600 bauds
Fonctionne à 9600 bauds
Messages : 3404
Enregistré le : 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 »

Schraf a écrit : 22 janv. 2022 20: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 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
Schraf
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 499
Enregistré le : 05 mars 2020 20:45
Contact :

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

Message par Schraf »

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 : 157
Enregistré le : 09 oct. 2021 15:15

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

Message par Andromede »

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
Canon X-07
Sharp E500, EL-9000, PC 1500
Texas Instruments TI-57 II, TI-62 Galaxy, TI-66 Programmable, TI-74 Basicalc, TI-74S, TI-95 Procalc
" 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 du membre
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

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

Message par Danny »

C.Ret a écrit : 23 janv. 2022 21: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

Retourner vers « Tous les Pockets »