Casio fx 850p
Modérateur : Politburo
Re: Casio fx 850p
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
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
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
- 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
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.
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
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
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
Voila, c'est fait
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,
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
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
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
ç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.
Re: Casio fx 850p
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 ?
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 ?
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,
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+
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
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,
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
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
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,
Je vous propose une première version perfectible et à améliorer du programme. Il répond partiellement au cahier des charges
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
Je vous propose une première version perfectible et à améliorer du programme. Il répond partiellement au cahier des charges
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
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
- 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
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.
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.
- C.Ret
- Fonctionne à 9600 bauds
- Messages : 3422
- Enregistré le : 31 mai 2008 23:43
- Localisation : N 49°22 E 6°10
Re: Casio fx 850p
Bonjour,
Dans le code donné en exemple ;
-A- Je ne vois pas où les points 3 4 et 5 sont traités ?
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
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
-B- Concernant la vérification du mot de passe :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 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.
Re: Casio fx 850p
C'est formidable Une communauté très réactive, dynamique et intelligente Que demander de mieux ?
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
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
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