Casio fx 850p
Modérateur : Politburo
Casio fx 850p
Bonjour à tous,
Y a-t-il parmi vous ceux qui s'amusent encore â programmer le casio fx-850p. C'est vraiment une très belle machine. Il serait très intéressant de les revoir revivre peut-être avec un nouveau langage comme PYTHON.
Ma question concerne la commande INKEY$. Bien qu'elle soit documentée dans le manuel utilisateur avec un exemple d'application, celle-ci ne s'exécute pas.
Quelqu'un a t'il une idée?
Merci
Y a-t-il parmi vous ceux qui s'amusent encore â programmer le casio fx-850p. C'est vraiment une très belle machine. Il serait très intéressant de les revoir revivre peut-être avec un nouveau langage comme PYTHON.
Ma question concerne la commande INKEY$. Bien qu'elle soit documentée dans le manuel utilisateur avec un exemple d'application, celle-ci ne s'exécute pas.
Quelqu'un a t'il une idée?
Merci
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
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
Re: Casio fx 850p
Ça fonctionne bien normalement.
Tu l’as bien mis dans une boucle ?
Car l’instruction INKEY$ seule « n’attend » pas qu’on appuie sur une touche
Tu l’as bien mis dans une boucle ?
Car l’instruction INKEY$ seule « n’attend » pas qu’on appuie sur une touche
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
Re: Casio fx 850p
Bonsoir,
J'ai repris l'exemple pratique en page 121 du manuel de l'utilisateur:
10 PRINT "PRESS ANY KEY";
20 C$=INKEY$
30 IF C$="" THEN 20
40 CLS:PRINT"YOU PRESS"; C$; "KEY"
50 END
Il y a effectivement une boucle à la ligne 30. Le programme s'exécute de façon séquentielle jusqu'à la fin. J'ai activé la commande TRON pour tracer l'exécution du programme. Cela confirme qu'il exécute le programme de façon séquentielle (10, 20, 30, 40, 50) comme si la boucle n'existait pas.
J'ai repris l'exemple pratique en page 121 du manuel de l'utilisateur:
10 PRINT "PRESS ANY KEY";
20 C$=INKEY$
30 IF C$="" THEN 20
40 CLS:PRINT"YOU PRESS"; C$; "KEY"
50 END
Il y a effectivement une boucle à la ligne 30. Le programme s'exécute de façon séquentielle jusqu'à la fin. J'ai activé la commande TRON pour tracer l'exécution du programme. Cela confirme qu'il exécute le programme de façon séquentielle (10, 20, 30, 40, 50) comme si la boucle n'existait pas.
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
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
-
- Fonctionne à 1200 bauds
- Messages : 949
- Enregistré le : 22 sept. 2010 13:48
- Localisation : France PdD
Re: Casio fx 850p
Il faut peut etre vider la memoire de scrutation clavier remplie par le 《enter》entré après le RUN.
Essaie de le vider en ajoutant
15 C$=INKEY$
Essaie de le vider en ajoutant
15 C$=INKEY$
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: Casio fx 850p
Pour trouver ce qui cloche, tu peux commencer par regarder ce qu'il y a dans C$ à la fin de l'exécution. Probablement, ce n'est pas vide, et la solution de Kenneth est la bonne.
Re: Casio fx 850p
Ok donc au final il affiche "YOU PRESS" ?
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
Re: Casio fx 850p
Bonjour à tous,
J'ai exploré la piste de Kenneth. Ce qui donne le programme suivant :
10 PRINT "PRESS ANY KEY";
15 C$=INKEY$ ------------ Proposition de Kenneth -------------------
20 C$=INKEY$
30 IF C$="" THEN 20
40 CLS: PRINT"YOU PRESS ";C$;" KEY"
50 END
Le programme a bien fonctionné durant deux itérations, ensuite plus rien, c'est-à-dire qu'il affiche directement "YOU PRESS KEY". En affichant le contenu de la variable C$ à la fin de l'exécution du programme comme l'a recommandé Hobiecat avec la commande PRINT C$, l'affichage est vide, autrement dit la variable C$ ne contient aucune valeur. J'ai remarqué également qu'en faisant CLS deux ou trois fois, le programme s'exécute dès fois correctement mais sans dépasser deux ou trois itérations. Cela ressemble à un fonctionnement aléatoire
J'ai exploré la piste de Kenneth. Ce qui donne le programme suivant :
10 PRINT "PRESS ANY KEY";
15 C$=INKEY$ ------------ Proposition de Kenneth -------------------
20 C$=INKEY$
30 IF C$="" THEN 20
40 CLS: PRINT"YOU PRESS ";C$;" KEY"
50 END
Le programme a bien fonctionné durant deux itérations, ensuite plus rien, c'est-à-dire qu'il affiche directement "YOU PRESS KEY". En affichant le contenu de la variable C$ à la fin de l'exécution du programme comme l'a recommandé Hobiecat avec la commande PRINT C$, l'affichage est vide, autrement dit la variable C$ ne contient aucune valeur. J'ai remarqué également qu'en faisant CLS deux ou trois fois, le programme s'exécute dès fois correctement mais sans dépasser deux ou trois itérations. Cela ressemble à un fonctionnement aléatoire
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
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
- Coyotte
- Fonctionne à 75 bauds
- Messages : 71
- Enregistré le : 02 oct. 2019 13:14
- Localisation : Liège (BE)
Re: Casio fx 850p
Bonjour,
Il peut y avoir un caractère non imprimable.
Peut-être peux-tu essayer d'aficher la longueur de c$ et/ou le code Ascii du contenu de c$ afin de t'assurer que la variable est bien vide.
Cela aiderait certainement à comprendre ce qu'il se passe.
Coyotte
Je ne suis pas spécialiste Casio mais ce n'est pas parce que l'affichage est vide que c$ l'est pour autant.l'affichage est vide, autrement dit la variable C$ ne contient aucune valeur
Il peut y avoir un caractère non imprimable.
Peut-être peux-tu essayer d'aficher la longueur de c$ et/ou le code Ascii du contenu de c$ afin de t'assurer que la variable est bien vide.
Cela aiderait certainement à comprendre ce qu'il se passe.
Coyotte
- badaze
- Fonctionne à 14400 bauds
- Messages : 8412
- Enregistré le : 12 févr. 2007 18:36
- Localisation : Pas très loin de Lyon
- Contact :
Re: Casio fx 850p
Est-ce qu’il y a un espace ou pas entre les 2 " dans le IF ?Andromede a écrit : ↑11 oct. 2021 11:59 Bonjour à tous,
J'ai exploré la piste de Kenneth. Ce qui donne le programme suivant :
10 PRINT "PRESS ANY KEY";
15 C$=INKEY$ ------------ Proposition de Kenneth -------------------
20 C$=INKEY$
30 IF C$="" THEN 20
40 CLS: PRINT"YOU PRESS ";C$;" KEY"
50 END
Le programme a bien fonctionné durant deux itérations, ensuite plus rien, c'est-à-dire qu'il affiche directement "YOU PRESS KEY". En affichant le contenu de la variable C$ à la fin de l'exécution du programme comme l'a recommandé Hobiecat avec la commande PRINT C$, l'affichage est vide, autrement dit la variable C$ ne contient aucune valeur. J'ai remarqué également qu'en faisant CLS deux ou trois fois, le programme s'exécute dès fois correctement mais sans dépasser deux ou trois itérations. Cela ressemble à un fonctionnement aléatoire
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.
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.
Re: Casio fx 850p
Bonjour,
Il n'y a pas d'espace entre les guillemets C$="" de la condition IF. Je vais essayer avec C$=" "
Je vais essayer également d'afficher le code ASCII du contenu de la variable C$
Par contre, je n'arrive pas à comprendre le fait que le programme arrive à fonctionner correctement sur une ou deux itérations comme je vous l'ai signalé Cela ressemble à un fonctionnement aléatoire de la commande INKEY$
Merci
Il n'y a pas d'espace entre les guillemets C$="" de la condition IF. Je vais essayer avec C$=" "
Je vais essayer également d'afficher le code ASCII du contenu de la variable C$
Par contre, je n'arrive pas à comprendre le fait que le programme arrive à fonctionner correctement sur une ou deux itérations comme je vous l'ai signalé Cela ressemble à un fonctionnement aléatoire de la commande INKEY$
Merci
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
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
- meridian
- Fonctionne à 1200 bauds
- Messages : 1151
- Enregistré le : 29 oct. 2014 05:08
- Localisation : Seine-Saint-Denis
Re: Casio fx 850p
tu as essayé de mettre un print asc(c$) pour voir ce que retournait le inkey$ ?
edit :
J'ai regardé rapidement sur un FX-850, le INKEY$ retourne un code ASCII 13 peut-être celui de la commande RUN
Tu pourrais peut-être modifier ton IF en testant aussi un CHR$(13) ?
edit :
J'ai regardé rapidement sur un FX-850, le INKEY$ retourne un code ASCII 13 peut-être celui de la commande RUN
Tu pourrais peut-être modifier ton IF en testant aussi un CHR$(13) ?
- Administrateur
- Messages : 5957
- Enregistré le : 24 mai 2002 16:55
- Localisation : Toulouse
- Contact :
Re: Casio fx 850p
Salut,
Andromede, n'oublie pas aussi ce que je t'ai demandé.
A+
Andromede, n'oublie pas aussi ce que je t'ai demandé.
A+
Re: Casio fx 850p
Excellent, tu as résolu l'énigme. Effectivement, la commande INKEY$ renvoie le code ASCII 13. Vérification faite avec la commande PRINT ASC(C$). Cela correspond peut-être au code généré par la commande RUN ou la touche EXE
Donc, effectivement il fallait prendre en charge ce code ASCII dans la ligne IF. De plus, il ne doit pas y avoir d'espace entre les guillemets IF C$=""
La ligne 15 n'est pas nécessaire. Voici le programme final :
10 CLS: PRINT"PRESS ANY KEY";
20 C$=INKEY$
30 IF C$="" OR C$=CHR$(13) THEN 20
40 CLS: PRINT"YOU PRESS ";C$;" KEY"
50 END
BRAVO À TOUS !!
Donc, effectivement il fallait prendre en charge ce code ASCII dans la ligne IF. De plus, il ne doit pas y avoir d'espace entre les guillemets IF C$=""
La ligne 15 n'est pas nécessaire. Voici le programme final :
10 CLS: PRINT"PRESS ANY KEY";
20 C$=INKEY$
30 IF C$="" OR C$=CHR$(13) THEN 20
40 CLS: PRINT"YOU PRESS ";C$;" KEY"
50 END
BRAVO À TOUS !!
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
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
Re: Casio fx 850p
Bonjour à tous,
Il paraît que l'on peut réaliser le même programme à l'identique grâce à une variante de la commande INPUT non documentée qui fait exactement le même travail que la commande INKEY$ en mieux
Comment fait-on?
Merci
Il paraît que l'on peut réaliser le même programme à l'identique grâce à une variante de la commande INPUT non documentée qui fait exactement le même travail que la commande INKEY$ en mieux
Comment fait-on?
Merci
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
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
- Administrateur
- Messages : 5957
- Enregistré le : 24 mai 2002 16:55
- Localisation : Toulouse
- Contact :
Re: Casio fx 850p
Salut,
Andromede, si tu te moques de moi, je désactiverais ton compte, j'espère que ton prochain message sera le bon.
A+
Andromede, si tu te moques de moi, je désactiverais ton compte, j'espère que ton prochain message sera le bon.
A+