-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy path17_Breuken.bc2
More file actions
104 lines (103 loc) · 3.13 KB
/
17_Breuken.bc2
File metadata and controls
104 lines (103 loc) · 3.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
1000 A=200:GOTO20:REM"BREUKEN"
1010 DIMF(100)
1020 GOSUB1770
1030 GOSUB100:U=1:L=0:PRINT
1040 PRINT"WE GAAN EEN BREUK VEREENVOUDIGEN":PRINT
1050 PRINT"GEEF DE TELLER ";:INPUTX:X=ABS(INT(X))
1060 IFX>999999 THEN1030
1070 PRINT"GEEF DE NOEMER ";:INPUTY:Y=ABS(INT(Y))
1080 IF(Y=0) OR(Y>999999) THEN1030
1090 SR=X:GOSUB300:A$=SR$
1100 SR=Y:GOSUB300:B$=SR$
1110 REM--- heel getal afsplitsen? ---
1120 HL=0:A=X:B=Y:PRINT
1130 IFX>=Y THENX=X-Y:HL=HL+1:GOTO1130
1140 SR=HL:GOSUB300:HL$=SR$
1150 BR=X/Y:IFBR=0 THENPRINTA$;"/";B$;" = ";HL$:GOTO1290
1160 SR=X:GOSUB300:X$=SR$
1170 SR=Y:GOSUB300:Y$=SR$
1180 IFHL=0 THEN1210
1190 PRINT"WE HALEN EERST DE HELEN ER UIT:"
1200 PRINTA$;"/";B$;" = ";HL$;", REST ";X$;"/";Y$
1210 PRINT
1220 E=X:GOSUB1340:T=U:PRINT:PRINT
1230 E=Y:GOSUB1340:PRINT
1240 PRINT
1250 GOSUB1570
1260 PRINT:PRINT"DUS ";A$;"/";B$" = ";
1270 IFHL>0 THENPRINT;HL$;" ";
1280 PRINT;X$;"/";Y$
1290 PRINT:PRINT:PRINT
1300 PRINTTAB(8)"NOG EEN KEER?";
1310 GOSUB210:IF(IN$="N") OR(IN$="n") THENGOSUB100:END
1320 GOTO1030
1330 :
1340 REM === ONTBINDEN IN FACTOREN ==
1350 IFE=1 THENPRINT"1 = 1";:RETURN
1360 IFE=2 THENPRINT"2 = 2";:F(U)=2:U=U+1:RETURN
1370 V=1:D=2:P=SQR(E)
1380 SR=E:GOSUB300:E$=SR$
1390 PRINT;E$;" = ";
1400 GOSUB1490
1410 IFD=2 THEND=3:GOTO1430
1420 D=D+2
1430 IFD<=P THEN1400
1440 IFE=1 THENGOSUB120:HO=HO-3:GOSUB110:PRINT" "
1450 IFE>1 THENPRINT;E$;:F(U)=E:U=U+1
1460 IFV=1 THENPRINT" (priemgetal)";
1470 RETURN
1480 :
1490 P=E/D:IFP<>INT(P) THENRETURN
1500 SR=D:GOSUB300:D$=SR$
1510 V=0:PRINT;D$;" x ";:F(U)=D:U=U+1
1520 E=INT(E/D):P=SQR(E)
1530 SR=E:GOSUB300:E$=SR$
1540 GOTO1490
1550 :
1560 REM === VEREENVOUDIGEN ===
1570 IFT=1 THEN1650
1580 D$="":FORN=1 TOT-1
1590 M=T
1600 IFF(N)<>F(M) THEN1610
1604 SR=F(N):GOSUB300:D$=D$+SR$+" x ":F(M)=1:F(N)=1
1610 M=M+1:IFM<U THEN1600
1620 NEXTN:IFL>=3 THEND$=LEFT$(D$,L-2)
1630 X=1:FORN=1 TOT-1:X=X*F(N):NEXTN
1640 Y=1:FORN=T TOU-1:Y=Y*F(N):NEXTN
1650 Z$="REST "
1660 IFHL=0 THENZ$="BREUK "
1670 IFY<>B THEN1710
1680 PRINT"GEEN GELIJKE FACTOREN,"
1690 PRINTZ$;"NIET TE VEREENVOUDIGEN"
1700 RETURN
1710 LL=LEN(D$):IFLL<2 THEN1715
1712 IFRIGHT$(D$,2)="x " THEND$=LEFT$(D$,LL-2)
1715 PRINT"ALLEBEI DEELBAAR DOOR: ";D$
1720 PRINT"VEREENVOUDIGDE ";Z$;
1730 SR=X:GOSUB300:X$=SR$
1740 SR=Y:GOSUB300:Y$=SR$
1750 PRINT;X$;"/";Y$:RETURN
1760 :
1770 REM === INLEIDING ===
1780 GOSUB100
1790 FORN=1 TO18:READA$:PRINTA$:NEXTN
1800 DATA" "," Ik kan een breuk vereenvoudigen."
1810 DATA" "," Als je mij twee getallen geeft,"
1820 DATA" "," zal ik het laten zien."
1830 DATA" "," Eerst haal ik de helen er uit."
1840 DATA" "," Dan ontbind ik de teller en de"
1850 DATA" "," noemer in factoren."
1860 DATA" "," Ik deel teller en noemer door hun"
1870 DATA" "," gemeenschappelijke factoren."
1880 DATA" "," De uitkomst schrijf ik netjes op."
1890 PRINT:PRINT"--> TIK OP 'N TOETS";
1900 GOSUB210:RETURN
30000 REM============================
30010 REM GEMAAKT OP EEN BBC COMPUTER
30020 REM 27 JANUARI 1987
30030 REM DOOR
30040 REM Ch.W.Brederode
30050 REM Von Bonninghausenlaan 33
30060 REM 2161 ES LISSE
30070 REM
30080 REM COPYRIGHT NOS HILVERSUM