Voici ma proposition pour Casio PB-700 :
Code : Tout sélectionner
10 ANGLE 1:GOTO 35
20 Y=SINX
30 RETURN
35 XI=-6:XM=6:SX=1:YI=-1:YM=1:SY=1:SP=3
40 CLS :L=150:H=31:PRINT "Range"
50 PRINT "X min :";XI:PRINT " max :";XM:PRINT " scl :";SX;
60 LOCATE 7,1:INPUT "",R$:IF R$<>"" THEN XI=VAL(R$)
70 LOCATE 7,2:INPUT "",R$:IF R$<>"" THEN XM=VAL(R$)
75 DX=XM-XI:IF DX<=0 THEN 60
80 LOCATE 7,3:INPUT "",R$:IF R$<>"" THEN SX=VAL(R$)
85 IF SX<=0 THEN SX=1
90 CLS:PRINT "Y min :";:PRINT USING "####.####";YI
95 PRINT " max :";YM:PRINT " scl :";SY:PRINT "speed :";SP;
100 LOCATE 7,0:INPUT "",Q$:IF Q$<>"" THEN YI=VAL(Q$)
110 LOCATE 7,1:INPUT "",R$:IF R$<>"" THEN YM=VAL(R$)
120 DY=YM-YI:IF Q$<>"A" THEN IF DY<=0 THEN 100
130 LOCATE 7,2:INPUT "",R$:IF R$<>"" THEN SY=VAL(R$):IF SY<=0 THEN SY=1
140 LOCATE 7,3:INPUT "",R$:IF R$<>"" THEN SP=VAL(R$):IF SP<=0 THEN SP=3
150 REM Repere
160 CLS :U=L/DX:IF Q$="A" THEN YI=YM-SY*H/SX/U:DY=YM-YI
170 V=H/DY:I=-XI*U:J=YM*V
180 IF J<=0 THEN 230
190 IF J>H THEN 230
200 DRAW(0,J)-(L,J)
210 FOR X=INT(XI+SX) TO XM STEP SX
220 A=X*U+I:DRAW(A,J-1):NEXT X
230 IF I<=0 THEN 290
240 IF I>=L THEN 290
250 DRAW(I,0)-(I,H)
260 FOR Y=INT(YI+SY-DY) TO YM STEP SY
270 B=-Y*V+J:DRAW(I+1,B):NEXT Y
280 REM Graph
290 X=XI:GOSUB 20:C=X*U+I:D=-Y*V+J:E=SP/U
300 FOR X=XI+E TO XM STEP E
310 GOSUB 20:A=X*U+I:B=-Y*V+J
320 IF D<0 THEN 370
330 IF D>H THEN 370
340 IF B<0 THEN 370
350 IF B>H THEN 370
360 DRAW(C,D)-(A,B)
370 C=A:D=B:NEXT X
380 LOCATE 18,0:INPUT R$:GOTO 40









