Sharp PC1360 |
Dokumentation ansehen
Programmspeicher-Image laden
10 | "A" CLEAR :WAIT 0 |
20 | CLS :PRINT "Bruchaddition:":INPUT "Anzahl Brueche: ";M |
30 | IF M<>INT M OR M<2 OR M>10 BEEP 2:GOTO 20 |
40 | DIM Z(M),N(M),M(M),B$(0) |
50 | FOR I=1 TO M |
60 | CLS :PRINT I;" Bruch:" |
70 | INPUT B$(0):Z(I)=VAL B$(0):IF Z(I)<>INT Z(I) BEEP 2:GOTO 60 |
80 | IF LEN STR$ Z(I)=LEN B$(0) LET N(I)=1:GOTO 110 |
90 | N(I)=VAL RIGHT$ (B$(0),(LEN B$(0)-1-LEN STR$ Z(I))) |
100 | IF N(I)<>INT N(I) BEEP 2:GOTO 60 |
110 | M(I)=N(I):NEXT I |
120 | CLS :FOR I=1 TO M |
130 | A=ABS Z(I):B=N(I) |
140 | GOSUB 390 |
150 | IF G=1 THEN 190 |
160 | C=Z(I):D=N(I) |
170 | GOSUB 420 |
180 | Z(I)=C:N(I)=D |
190 | NEXT I |
200 | FOR I=1 TO M-1 |
210 | A=M(I):B=M(I+1) |
220 | P=A*B |
230 | GOSUB 390 |
240 | K=P/G |
250 | M(I+1)=K:NEXT I |
260 | FOR I=1 TO M:E=K/N(I) |
270 | GOSUB 430 |
280 | NEXT I |
290 | Z=0:N=K |
300 | FOR I=1 TO M:Z=Z+Z(I):NEXT I |
310 | A=Z:B=N |
320 | GOSUB 390 |
330 | IF G=1 THEN 350 |
340 | C=Z:D=N |
350 | PRINT " = ";STR$ Z;"/";STR$ N |
360 | IF ABS Z/N=INT (ABS Z/N) PRINT " = ";STR$ (Z/N):END |
370 | IF ABS Z>N LET Q=INT (ABS Z/N):Z=(ABS Z-Q*N)*SGN Z:PRINT " = ";STR$ (SGN Z*Q);" ";STR$ ABS Z;"/";STR$ N |
380 | END |
390 | R=A-INT (A/B)*B |
400 | IF R=0 LET G=B:RETURN |
410 | A=B:B=R:GOTO 390 |
420 | C=C/G:D=D/G:RETURN |
430 | Z(I)=Z(I)*E:RETURN |
Dokumentation ansehen
Programmspeicher-Image laden
![]() |
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!