Casio fx 850p

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
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Bonjour,
J'ai considéré vos différentes suggestions pour codifier le programme comme suit :

Code : Tout sélectionner

10 A$="12345678" : N=0
20 B$=""
30 CLS: PRINT "Entrez votre mot de passe :";
40 FOR I=1 TO 8
50 LOCATE I-1,1 : B$=B$+INPUT$(1) : PRINT "*" ;
60 NEXT I
70 IF B$ = A$ THEN CLS : PRINT "HELLO WORLD!":END
80 N=N+1
90 IF N=3 THEN CLS : BEEP0 : PRINT "Accès au programme refusé!" : END
100 CLS : BEEP0 : PRINT "Incorrect! Veuillez réessayer!"
110 GOTO 20
Je n'ai pas utilisé la commande INKEY$. A la place, j'ai fait appel à la commande INPUT$(1). Quelle est la commande qui permet de calculer l'espace occupé par ce programme en mémoire centrale?
Peut-on optimiser ce code ?
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
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6172
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Casio fx 850p

Message par Marge »

Salut,

Pour la première question, en BASIC d'une manière générale tu dois connaître la taille totale de la mémoire vive disponible pour ensuite exécuter une soustraction avec la fonction MEM (qui, elle, te donnera l'espace libre disponible).
C'est en tout cas ce que je faisais sur mes SHARP.
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é.
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Mais le Casio FX-850P ne prend pas en charge la commande MEM :( :?:
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
Marge
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 6172
Enregistré le : 01 oct. 2008 14:39
Localisation : En bas, tout au fond à gauche.

Re: Casio fx 850p

Message par Marge »

Andromede a écrit : 22 oct. 2021 15:47 Mais le Casio FX-850P ne prend pas en charge la commande MEM :( :?:
Tu es sûr ? Il faut demander au spécialiste dudu Casio alors.
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
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

Re: Casio fx 850p

Message par Danny »

Sinon tu fais MODE 1 pour avoir la mémoire libre.
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
Avatar du membre
badaze
Fonctionne à 14400 bauds
Fonctionne à 14400 bauds
Messages : 8384
Enregistré le : 12 févr. 2007 18:36
Localisation : Pas très loin de Lyon
Contact :

Re: Casio fx 850p

Message par badaze »

Il doit bien y avoir un FRE(x) qui donne la taille de la mémoire utilisée.
Tout est bon dans le pocket.
Moi j'aime tout.... Casio, HP, Sharp, TI et les autres sauf que les TI semblent ne pas m'aimer :(
http://www.emmella.fr
Mes Casio - HP - Sharp - TI
Homme invisible.
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: Casio fx 850p

Message par C.Ret »

Danny a écrit : 22 oct. 2021 17:52Sinon tu fais MODE 1 pour avoir la mémoire libre.
Le seul pocket BASIC de marque CASIO que j'ai utilisé (très peu, car échangé avec mon SHARP PC-1211 avec un camarade de classe en 2nde pendant un W.E.) était un fx-702p. Le meilleur moyen de connaitre le nombre d'octets restant était effectivement de lire le petit compteur qui s'affichait à droite de l'écran alphanumérique en mode 1; le mode qui permettait de choisir la zone de programme.

Maintenant, sur un CASIO fx-850p je ne sais pas, mais ça doit toujours être pareil, la mémoire est divisée en zone de programme ? Non ?


Je reste persuadé que le INKEY$ est mieux que le INPUT$(1) qui doit nécessité une pression sur EXE ? Non ?
Modifié en dernier par C.Ret le 26 oct. 2021 17:43, 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.
Avatar du membre
meridian
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 1151
Enregistré le : 29 oct. 2014 05:08
Localisation : Seine-Saint-Denis

Re: Casio fx 850p

Message par meridian »

J'ai testé le INKEY$ sur le CASIO et franchement je ne comprends pas comment il fonctionne.
Je pensais qu'il scannait les touches à la volée, ce qu'il fait pour EXE, l'ASC de la variable affiche bien 13, mais pour les autres non, si j'appuie sur une lettre il m'affiche la lettre qu'il considère comme une variable.
Du coup j'ai tapé le même programme sur mon PC-G850S et là, le résultat est celui attendu, j'ai bien le code ASCII de la touche qui s'affiche.

Les voies du CASIO me sont pour l'instant assez impénétrables...
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

C'est la raison pour laquelle je lui préfère la commande INPUT$(1). Mais, nous avons précédemment donné une solution pour utiliser la commande INKEY$. Le principe étant de ne pas prendre en considération le code ASCII 13 qui est capté par cette commande et ce grâce à une condition IF et une boucle GOTO.
En ce qui concerne le calcul de l'espace mémoire Programme, vous aviez raison. En effet, Casio a implémenté la commande FRE(1). Il suffit donc de taper PRINT FRE(1)

A+
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
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: Casio fx 850p

Message par C.Ret »

Andromede a écrit : 23 oct. 2021 00:05 Il suffit donc de taper PRINT FRE(1)
:cry: :cry: Y a plus le petit compteur de pas restant à la droite de l'écran qui donne l'occupation des zones de programme P0-P9 comme sur les fx-502/602/702p ?
C'est null on dirait du SHARP !
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
Danny
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1248
Enregistré le : 28 déc. 2013 16:34

Re: Casio fx 850p

Message par Danny »

Si, y a aussi :geek:
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Si :!: En MODE 1, effectivement l'espace mémoire PROGRAMME restant est affiché à droite. :D
En ce qui concerne l'utilisation de la commande INKEY$, celle-ci consomme plus d'espace mémoire que INPUT$(1) 8O car il faut la combiner avec une condition IF et une boucle GOTO; des PAS supplémentaires dans le programme ce qui n'est le cas pour INPUT$(1). De plus, cette dernière ne nécessite pas l'appui sur la touche EXE comme l'a supposé notre ami C.Ret
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
meridian
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 1151
Enregistré le : 29 oct. 2014 05:08
Localisation : Seine-Saint-Denis

Re: Casio fx 850p

Message par meridian »

En fait INKEY$ ne devrait pas attendre l'appui sur EXE, mais devrait lire les touches à la volée. L'implémentation de INKEY$ sur ce CASIO est assez étrange.
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: Casio fx 850p

Message par C.Ret »

meridian a écrit : 23 oct. 2021 20:34En fait INKEY$ ne devrait pas attendre l'appui sur EXE, mais devrait lire les touches à la volée.
Ah! Bien, dans ce cas, le INPUT$(n) est parfaitement justifié car évite toute la quincaillerie autour pour traiter le(s) cas où aucune touche n'est pressée (ou uniquement le EXE "résiduel" de la validation précédente dans le cas "mal fichu" du fx-850p "trop rapide").

Par contre, ce qui me gène dans le code proposé c'est que le programme est uniquement ligne 70 et que la procédure de contrôle du mot de passe l'entoure et fait beaucoup de ligne.

J'aurais préféré structurer le programme de cette façon :
Lignes 1 à 9 : procédure de contrôle du mot de passe
Lignes 10 à 99 : programme principal
Lignes 100 à 899 : éventuels sous-programmes
Lignes 900 à 999 : éventuelle gestion des exceptions et erreurs d'exécution.


Comme cela, j'ai juste à effacer les lignes 100 et suivantes pour enregistrer un autre programme avec le même mot de passe :)

Code : Tout sélectionner

1 N=0 @ REPEAT @ P$="" @ N=N+1 @ DELAY .25
2 IF N<4 THEN DISP STR$(N);"/3:Pass="; ELSE DISP "No access !" @ DELETE ALL @ END
3 FOR I=1 TO 7 @ REPEAT @ K$=KEY$ @ UNTIL LEN(K$)=1 @ P$=P$&K$ @ DISP "*"; @ NEXT I @ DISP @ UNTIL P$="MPO.104"
 
10 DEF FNT(X)=INT(SQR(ABS(X)))^2=X @ INPUT A,B,C @ X=PI @ Y=A*A-B*B*C 
20 IF FNT(C) THEN X=A+B*SQR(C) @ Y=0 ELSE IF FNT(Y) THEN X=(A+SQR(Y))/2 @ Y=X-SQR(Y)
30 IF X#INT(X) THEN DISP NaN;NaN ELSE DISP X;Y
Je sais je suis aimable et adorable ...
Modifié en dernier par C.Ret le 26 oct. 2021 18:30, 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.
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Bonsoir,
Qu'est ce que tu as utilisé comme pocket ? Une grande partie des instructions et syntaxes que tu as utilisées ne sont pas implémentées dans le Casio FX-850P :roll:
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
Répondre

Retourner vers « Tous les Pockets »