Casio fx 850p
Modérateur : Politburo
Re: Casio fx 850p
Bonjour. Pour le lien, il y a abandonware magazines. Merci à son auteur pour tout le travail de numérisation.
https://www.abandonware-magazines.org
https://www.abandonware-magazines.org
Dominique
Re: Casio fx 850p
Merci beaucoup
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
Bonsoir,
Je m'amuse à adapter le code du jeu "Une course aux chiffres pour PB-100" publié dans le magazine "L'ORDINATEUR DE POCHE N°20 page 47" dont l'auteur était "Raoul Lebastard".
Je n'ai aucun message d'erreur au lancement du programme. Je commence par choisir comme début de partie "PB-100". Il sélectionne alors des coordonnées. A mon tour de jouer; je sélectionne des coordonnées en respectant les règles du jeu. Mais là il m'affiche "PERDU!->" et il termine l'exécution du programme
Je m'amuse à adapter le code du jeu "Une course aux chiffres pour PB-100" publié dans le magazine "L'ORDINATEUR DE POCHE N°20 page 47" dont l'auteur était "Raoul Lebastard".
Code : Tout sélectionner
5 D=0: G=0: L=0: K=0
10 CLS: DIM T1(25)
12 FOR A=0 TO 24: T1(A)=INT(RAN#*9)+1: NEXT A: B=0
15 FOR H=B TO B+4: PRINT T1(H);: NEXT H
18 FOR A=0 TO 1000: NEXT A: PRINT: B=B+5: IF B<>25 THEN 15
40 INPUT"QUI DEBUTE"; C$: IF C$<>"PB-100" THEN 60
42 FOR A=0 TO 24 : GOSUB 500: NEXT A: A=E
50 M=1: G=G+INT T1(A): T1(A)=T1(A)/10
51 FOR H=0 TO 24 STEP 5: IF A>=H THEN IF A<=H+4 THEN 54
52 M=M+1: NEXT H
54 I=(M-1)*5: N=A-I+1
55 D=1: PRINT"#COL:"; N; " LIG:"; M; "#": GOSUB 558
60 INPUT "COM? LIGNE"; J$: IF J$="*" THEN 598
61 J=VAL(J$): INPUT F: I=(F-1)*5
62 IF N<>J THEN M<>F THEN IF D<>0 THEN PRINT "COUP IMPOSSIBLE!->";:PRINT : GOTO 60
65 B=I+J: K=0: A=0: L=L+INT T1(A): T1(A)/10
71 M=5-J: H=1: GOSUB 547: H=-H: M=1-J: GOSUB 547
75 H=5: M=5*(5-F): GOSUB 547: H=-H: M=-5*(F-1): GOSUB 547 : A=E
102 IF T1(A)<I THEN 598
105 GOTO 50
500 IF T1(A)>K; K=T1(A): E=A
509 RETURN
547 FOR A=B TO B+M STEP H: GOSUB 500: NEXT A: RETURN
558 PRINT"JOUEUR:";L;" /PB-100:"; G;" ";:PRINT: RETURN
600 IF G<L THEN PRINT "GAGNE!->";
605 IF G=L THEN PRINT "EGALITE!->";
610 GOSUB 558: END
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
Je ne vois pas de PERDU dans le code
? Apple, Atari, Canon, Casio, ????????????, HP, Psion, Sharp, Tandy... même TI.
- badaze
- Fonctionne à 14400 bauds
- Messages : 8408
- Enregistré le : 12 févr. 2007 18:36
- Localisation : Pas très loin de Lyon
- Contact :
Re: Casio fx 850p
C’est quand même bien illisible !
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.
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: Casio fx 850p
A la ligne 102, il y a un then 598, ligne qui n'existe pas ?
Re: Casio fx 850p
La ligne 598 est dans le listing original avec le test qui retourne 'PERDU". Ah OK le programme d'andromede est un retravail, Ce qui explique d'autres différences. Je n'avais pas tout lu.
Dominique
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: Casio fx 850p
Il faudrait aussi donner la bonne référence initiale : dans l'Op 20 page 47, ce n'est pas le programme du PB-100...
Re: Casio fx 850p
Bonjour,
Il s'agit de la page 37 et non pas 47 comme je l'ai mentionné par erreur. Je fais un exercice d'adaptation sur un Casio fx 850p. Jai gardé pour des raisons pédagogiques les mêmes numéros de ligne que le programme initial pour que vous puissiez me suivre dans cet exercice. Par la suite, on pourrait réfléchir ensemble à
son optimisation. J'ai rajouté la ligne 598 qui manquait
Je propose que l'on insère des commentaires pour les blocs de code qui décrivent les étapes importantes du jeu afin de comprendre la structure du programme et déterminer où se trouve l'erreur (ou encore les erreurs parce qu'il peut y en avoir d'autres) dans mon premier essai d'adaptation.
Il s'agit de la page 37 et non pas 47 comme je l'ai mentionné par erreur. Je fais un exercice d'adaptation sur un Casio fx 850p. Jai gardé pour des raisons pédagogiques les mêmes numéros de ligne que le programme initial pour que vous puissiez me suivre dans cet exercice. Par la suite, on pourrait réfléchir ensemble à
son optimisation. J'ai rajouté la ligne 598 qui manquait
Code : Tout sélectionner
5 D=0: G=0: L=0: K=0
10 CLS: DIM T1(25)
12 FOR A=0 TO 24: T1(A)=INT(RAN#*9)+1: NEXT A: B=0
15 FOR H=B TO B+4: PRINT T1(H);: NEXT H
18 FOR A=0 TO 1000: NEXT A: PRINT: B=B+5: IF B<>25 THEN 15
40 INPUT"QUI DEBUTE"; C$: IF C$<>"PB-100" THEN 60
42 FOR A=0 TO 24 : GOSUB 500: NEXT A: A=E
50 M=1: G=G+INT T1(A): T1(A)=T1(A)/10
51 FOR H=0 TO 24 STEP 5: IF A>=H THEN IF A<=H+4 THEN 54
52 M=M+1: NEXT H
54 I=(M-1)*5: N=A-I+1
55 D=1: PRINT"#COL:"; N; " LIG:"; M; "#": GOSUB 558
60 INPUT "COM? LIGNE"; J$: IF J$="*" THEN 598
61 J=VAL(J$): INPUT F: I=(F-1)*5
62 IF N<>J THEN M<>F THEN IF D<>0 THEN PRINT "COUP IMPOSSIBLE!->";:PRINT : GOTO 60
65 B=I+J: K=0: A=0: L=L+INT T1(A): T1(A)/10
71 M=5-J: H=1: GOSUB 547: H=-H: M=1-J: GOSUB 547
75 H=5: M=5*(5-F): GOSUB 547: H=-H: M=-5*(F-1): GOSUB 547 : A=E
102 IF T1(A)<I THEN 598
105 GOTO 50
500 IF T1(A)>K; K=T1(A): E=A
509 RETURN
547 FOR A=B TO B+M STEP H: GOSUB 500: NEXT A: RETURN
558 PRINT"JOUEUR:";L;" /PB-100:"; G;" ";:PRINT: RETURN
598 IF G>L THEN PRINT "PERDU!->";
600 IF G<L THEN PRINT "GAGNE!->";
605 IF G=L THEN PRINT "EGALITE!->";
610 GOSUB 558: END
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
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: Casio fx 850p
A la ligne 61, c'est "A=B" et non "A=0" dans le listing initial du PB-100. Si tu remets tout le temps A à 0, c'est logique que ça ne marche pas.
Plus loin dans la ligne, il y a aussi "T1(A) = T1(A) / 10" et non "T1(A) /10" mais c'est peut-être juste une erreur de recopie sur Sili ?
Plus loin dans la ligne, il y a aussi "T1(A) = T1(A) / 10" et non "T1(A) /10" mais c'est peut-être juste une erreur de recopie sur Sili ?
Re: Casio fx 850p
Bonjour,
Effectivement, à la ligne 65 (et non pas 61) A=B (et non pas A=0). Par contre T1(A)/10 est une erreur de recopie comme vous l'avez deviné.
Effectivement, à la ligne 65 (et non pas 61) A=B (et non pas A=0). Par contre T1(A)/10 est une erreur de recopie comme vous l'avez deviné.
Code : Tout sélectionner
5 D=0: G=0: L=0: K=0
10 CLS: DIM T1(25)
12 FOR A=0 TO 24: T1(A)=INT(RAN#*9)+1: NEXT A: B=0
15 FOR H=B TO B+4: PRINT T1(H);: NEXT H
18 FOR A=0 TO 1000: NEXT A: PRINT: B=B+5: IF B<>25 THEN 15
40 INPUT"QUI DEBUTE"; C$: IF C$<>"PB-100" THEN 60
42 FOR A=0 TO 24 : GOSUB 500: NEXT A: A=E
50 M=1: G=G+INT T1(A): T1(A)=T1(A)/10
51 FOR H=0 TO 24 STEP 5: IF A>=H THEN IF A<=H+4 THEN 54
52 M=M+1: NEXT H
54 I=(M-1)*5: N=A-I+1
55 D=1: PRINT"#COL:"; N; " LIG:"; M; "#": GOSUB 558
60 INPUT "COM? LIGNE"; J$: IF J$="*" THEN 598
61 J=VAL(J$): INPUT F: I=(F-1)*5
62 IF N<>J THEN M<>F THEN IF D<>0 THEN PRINT "COUP IMPOSSIBLE!->";:PRINT : GOTO 60
65 B=I+J: K=0: A=B: L=L+INT T1(A): T1(A)=T1(A)/10
71 M=5-J: H=1: GOSUB 547: H=-H: M=1-J: GOSUB 547
75 H=5: M=5*(5-F): GOSUB 547: H=-H: M=-5*(F-1): GOSUB 547 : A=E
102 IF T1(A)<I THEN 598
105 GOTO 50
500 IF T1(A)>K; K=T1(A): E=A
509 RETURN
547 FOR A=B TO B+M STEP H: GOSUB 500: NEXT A: RETURN
558 PRINT"JOUEUR:";L;" /PB-100:"; G;" ";:PRINT: RETURN
598 IF G>L THEN PRINT "PERDU!->";
600 IF G<L THEN PRINT "GAGNE!->";
605 IF G=L THEN PRINT "EGALITE!->";
610 GOSUB 558: END
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
La première itération du programme répond bien quand on accepte que débute PB-100. Mais lorsque le tour du joueur arrive, cela ne fonctionne pas correctement . Je ne comprends pas l'idée de l'auteur sur les lignes 60 et 61
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
J'ai modifié le nom de la variable compteur au niveau de la ligne 18 par C1 à la place de A qui prête à confusion. Si j'ai bien compris le raisonnement de l'auteur, la ligne 18 permet d'insérer un délai d'attente à chaque affichage de la ligne du tableau afin de permettre à l'utilisateur d'avoir suffisamment de temps pour la recopier sur une feuille. Moi je préfère 2000 au lieu de 1000 (en fait tout dépendra de la vitesse de la machine utilisée).
Cependant, la partie relative au tour du joueur pose problème
Cependant, la partie relative au tour du joueur pose problème
Code : Tout sélectionner
5 D=0: G=0: L=0: K=0
10 CLS: DIM T1(25)
12 FOR A=0 TO 24: T1(A)=INT(RAN#*9)+1: NEXT A: B=0
15 FOR H=B TO B+4: PRINT T1(H);: NEXT H
18 FOR C1=0 TO 2000: NEXT C1: PRINT: B=B+5: IF B<>25 THEN 15
40 INPUT"QUI DEBUTE"; C$: IF C$<>"PB-100" THEN 60
42 FOR A=0 TO 24 : GOSUB 500: NEXT A: A=E
50 M=1: G=G+INT T1(A): T1(A)=T1(A)/10
51 FOR H=0 TO 24 STEP 5: IF A>=H THEN IF A<=H+4 THEN 54
52 M=M+1: NEXT H
54 I=(M-1)*5: N=A-I+1
55 D=1: PRINT"#COL:"; N; " LIG:"; M; "#": GOSUB 558
60 INPUT "COM? LIGNE"; J$: IF J$="*" THEN 598
61 J=VAL(J$): INPUT F: I=(F-1)*5
62 IF N<>J THEN M<>F THEN IF D<>0 THEN PRINT "COUP IMPOSSIBLE!->";:PRINT : GOTO 60
65 B=I+J: K=0: A=B: L=L+INT T1(A): T1(A)=T1(A)/10
71 M=5-J: H=1: GOSUB 547: H=-H: M=1-J: GOSUB 547
75 H=5: M=5*(5-F): GOSUB 547: H=-H: M=-5*(F-1): GOSUB 547 : A=E
102 IF T1(A)<I THEN 598
105 GOTO 50
500 IF T1(A)>K; K=T1(A): E=A
509 RETURN
547 FOR A=B TO B+M STEP H: GOSUB 500: NEXT A: RETURN
558 PRINT"JOUEUR:";L;" /PB-100:"; G;" ";:PRINT: RETURN
598 IF G>L THEN PRINT "PERDU!->";
600 IF G<L THEN PRINT "GAGNE!->";
605 IF G=L THEN PRINT "EGALITE!->";
610 GOSUB 558: END
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
- Hobiecat
- Fonctionne à 9600 bauds
- Messages : 3644
- Enregistré le : 06 sept. 2011 14:57
- Localisation : Normandie
Re: Casio fx 850p
Oui la ligne 18 est juste une tempo pour le PB-100 qui n'a pas d'instruction WAIT ou PAUSE. Je ne sais pas ce qu'il en est sur le 850P ?
Re: Casio fx 850p
C'est la même chose que pour le 850P, les instructions WAIT et PAUSE n'y sont pas implémentées.
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