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,
Désolé, je n'ai vraiment pas compris votre commentaire et votre réaction ?
Je viens de tester une utilisation particulière de la commande INPUT. Il s'agit de INPUT$(n) ou "n" représente le nombre de caractères attendus mais qui ne seront pas affichés à l'écran exactement comme INKEY$ sauf que cette fois-çi on peut attendre plusieurs caractères au lieu d'un seul, c'est la raison pour laquelle je la trouve meilleure que INKEY$. Je l'explore actuellement dans le fameux jeu de mémorisation de caractères où je remplace toutes les commandes INKEY$ par celle-ci.
Quelqu'un pourrait peut être m'informer pourquoi Casio a implémenté les deux commandes si elles arrivent à faire la même chose. Sûrement il devrait y avoir une explication technique à ça :?: :!:

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
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 »

Pocket demande que tu passes par la case présentation.
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.
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Vous parlez de quelle présentation ? :?: :(
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
Dom
Fonctionne à 2400 bauds
Fonctionne à 2400 bauds
Messages : 1366
Enregistré le : 26 oct. 2018 18:45
Localisation : Ile-de-France

Re: Casio fx 850p

Message par Dom »

Ah il faut lire la charte et les règles du forum...
Tu dois te présenter ici.
Moi, c'est les poquettes, et la Coll'à'Dom, c'est
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Voila, c'est fait :wink:
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
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 testé la commande INPUT$(n) à la place de INKEY$. Le programme précédent sera modifié comme suit :
10 CLS: PRINT"PRESS ANY KEY : ?";
20 C$=INPUT$(1) --------- Voici la modification avec n=1 pour attendre l'appui d'une touche ------------
30 CLS: PRINT"YOU PRESS "; C$; " KEY"
40 END
Cela fonctionne très bien et avec moins de lignes de programmation

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
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 »

ça fonctionne bien, sauf si je mets un GOTO 20 pour retourner sur le INPUT$. là il faut que j'appuie une fois sur EXE pour qu'il accepte de prendre la touche suivante.
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Bonjour,
Dans ton cas, il est préférable de faire un GOTO 10. Sinon, si tu veux attendre plusieurs touches à la suite, il faudrait modifier l'argument de INPUT$(1). Au lieu de 1, on pourrait mettre un autre chiffre. Ce programme peut-être amélioré pour servir par exemple de sous-routine de saisie et de vérification d'un mot de passe pour lancer un programme.

On fait l'exercice ensemble ? :D
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
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Bonjour,
Je vous propose un défi. Développer une routine avec le langage BASIC vérifiant la validité d'un mot de passe entré par l'utilisateur au lancement du programme. Le Cahier des Charges est comme suit :
1. Le mot de passe doit contenir huit (08) caractères ;
2. La vérification devra se faire par rapport au mot de passe enregistré au préalable dans le programme ;
3. Le mot de passe saisi doit être affiché sous forme ********
4. En cas d'erreur de mot de passe, le programme devra afficher un message d'erreur invitant l'utilisateur à réessayer ;
5. Au bout de trois essais erronés, le programme devra s'arrêter automatiquement en affichant "Vous n'êtes pas autorisé à exécuter ce programme...!"
6. Au cas où le mot de passe entré est juste, alors afficher "HELLO WORLD !!"

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

Re: Casio fx 850p

Message par Andromede »

Bonjour,
D'après vous, comment enregistrer la chaine de caractères constituant le mot de passe en mémoire pour pouvoir le vérifier avec celui entré au clavier par l'utilisateur ?
Moi personnellement, j'ai pensé à la création d'un tableau avec la commande DIM ou à la commande DATA 8O
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
Andromede
Fonctionne à 300 bauds
Fonctionne à 300 bauds
Messages : 157
Enregistré le : 09 oct. 2021 15:15

Re: Casio fx 850p

Message par Andromede »

Bonjour,
Je vous propose une première version perfectible et à améliorer du programme. Il répond partiellement au cahier des charges :wink:
10 CLS : A=0
20 READ A$
30 PRINT ‘’Entrez votre mot de passe !’’ ;
40 B$=INPUT$(8)
50 FOR I=1 TO 8
60 IF LEFT$ (A$,I) <> LEFT$ (B$,I) THEN A=A+1
70 NEXT I
80 IF A<>0 THEN GOTO 1000
90 PRINT ‘’ HELLO WORLD !!’’
100 END
200 DATA 12345678
1000 CLS
1010 PRINT ‘’Mot de passe Incorrect, veuillez réessayer ! ‘’
1020 GOTO 10
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
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 »

Je pense qu’il manque un RESTORE entre les lignes 10 et 20.
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.
kenneth
Fonctionne à 1200 bauds
Fonctionne à 1200 bauds
Messages : 948
Enregistré le : 22 sept. 2010 13:48
Localisation : France PdD

Re: Casio fx 850p

Message par kenneth »

badaze a écrit : 20 oct. 2021 11:13 Je pense qu’il manque un RESTORE entre les lignes 10 et 20.
Ou alors 1020 RUN
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: Casio fx 850p

Message par C.Ret »

Bonjour,

Dans le code donné en exemple ;

Code : Tout sélectionner

10 CLS : A=0
20 READ A$
30 PRINT ‘’Entrez votre mot de passe !’’ ;
40 B$=INPUT$(8)
50 FOR I=1 TO 8
60 IF LEFT$ (A$,I) <> LEFT$ (B$,I) THEN A=A+1
70 NEXT I
80 IF A<>0 THEN GOTO 1000
90 PRINT ‘’ HELLO WORLD !!’’
100 END
200 DATA 12345678
1000 CLS
1010 PRINT ‘’Mot de passe Incorrect, veuillez réessayer ! ‘’
1020 GOTO 10
-A- Je ne vois pas où les points 3 4 et 5 sont traités ?
1. Le mot de passe doit contenir huit (08) caractères ;
2. La vérification devra se faire par rapport au mot de passe enregistré au préalable dans le programme ;
3. Le mot de passe saisi doit être affiché sous forme ********
4. En cas d'erreur de mot de passe, le programme devra afficher un message d'erreur invitant l'utilisateur à réessayer ;
5. Au bout de trois essais erronés, le programme devra s'arrêter automatiquement en affichant "Vous n'êtes pas autorisé à exécuter ce programme...!"
6. Au cas où le mot de passe entré est juste, alors afficher "HELLO WORLD !!"
-B- Concernant la vérification du mot de passe :

A quoi sert de tester chaque caractère de la chaine saisie, un test du type IF INPUT$(8)="12345678" THEN n'est-il pas envisageable.
Ce serai plus simple et plus rapide non ?

A quoi sert le DATA, en général cette instruction sert à entrer une collection de données. Ici il n'y a qu'un seul mot de passe !
Une affectation directe A$="12345678" c'est plus simple
Ce qui éviterai aussi l'erreur due à l'oublie de la commande RESTORE

-C- Concernant le point 3.
C'est là que la fonction INKEY$ est plus adaptée car elle permet d'afficher un caractère à chaque fois que l'utilisateur appuye sur une touche !

-D- Concernant les points 4. et 5.
Où est le message 'réessayer il reste # essais ' et le traitement du compteur nécessaire ?

-E- l'envoi à la ligne 1000 pour revenir à la ligne 10 ??
C'est ce que l'on appelle un code en spaghetti. rien de pire à suivre, maintenir ou comprendre.
L'ordre des instructions en BASIC est données par leur n° de ligne, alors pourquoi ne pas faire simple et compréhensible en suivant l'ordre croissant ?


En BASIC, le plus simple est le mieux (moins de mémoire, plus rapide, plus facile à debugger et maintenir. Je propose

Code : Tout sélectionner

10  CLS : N=4
20 N=N-1 : IF N<1 THEN PRINT "AUTORISATION REFUSEE" : NEW : END
30  PRINT N;"/3 ENTREZ Mot de passe:";
40 IF INPUT$(8)<>"12345678" THEN GOTO 20 

100 PRINT "HELLO WORLD !"
...
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 »

C'est formidable :D :D Une communauté très réactive, dynamique et intelligente :lol: Que demander de mieux ? :D
Je vous remercie pour tous ces commentaires. Nous allons les reprendre de façon très structurée pour aboutir à un code propre et d'excellente qualité répondant totalement aux éléments fixés dans notre cahier des charges

A+
Amicalement :wink:
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 »