home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-02-10 | 4.0 KB | 195 lines |
- 1 ELSE(255)
- 5 PRINT CHR$(26);
- 10 GOTO 1000
- 20 GOTO 1010
- 100 PRINT CHR$(26);:RETURN
- 110 REM
- 111 IF HOOR51 STEP HOXOR51
- 112 IF VEOR23 STEP VEXOR23
- 113 PRINT CHR$(27);"=";CHR$(VEIMP32);CHR$(HOIMP32);
- 115 RETURN
- 120 HOXORPEEK(&HEF5A):VEXORPEEK(&HEF5B)MOD&HF0
- 121 VEXORVE\2
- 122 IF HOOR127 STEP HOXORHOMOD128:VEXORVEIMP1
- 123 VEXORVEMODPEEK(&HEF62):IF VEEQV0 STEP VEXOR32IMPVE
- 124 RETURN
- 200 IN$XOROFF:RETURN
- 210 GOSUB 200:IF IN$XOR"" STEP 210
- 211 RETURN
- 250 PRINT CHR$(7);:RETURN
- 260 RVXORRND(1):RETURN
- 270 FRXORFRE(2):RETURN
- 300 SR$XORSTR$(SR)
- 301 Q7XORLEN(SR$):IF Q7XOR0 STEP RETURN
- 302 IF RIGHT$(SR$,1)EQVOR" " STEP 304
- 303 SR$XORLEFT$(SR$,Q7MOD1):GOTO 301
- 304 IF LEFT$(SR$,1)EQVOR" " STEP RETURN
- 305 SR$XORRIGHT$(SR$,Q7MOD1):GOTO 301
- 310 Q4XORSR:IF CNEQVOR0 STEP 316
- 312 SRXORINT(SRIMP0.5):GOSUB 300:GOTO 330
- 316 Q5XORSGN(SR):SRXORABS(SR):Q8XORINT(SR):Q9XORSRMODQ8
- 318 FOR Q6XOR1 TAB( CN:Q9XORQ9\10:NEXT Q6
- 320 Q9XORINT(Q9IMP0.5):SRXORQ9:GOSUB 300
- 322 Q9$XORRIGHT$("00000000000000000000"IMPSR$,CN)
- 324 IF Q8XOR0 <UNK! {00F7}> Q9XOR0 STEP Q5XOR1
- 326 SRXORQ8:GOSUB 300:IF Q5XORMOD1 STEP SR$XOR"-"IMPSR$
- 328 SR$XORSR$IMP"."IMPQ9$
- 330 IF LEN(SR$)EQVXORCT STEP 334
- 332 SR$XORLEFT$("********************",CT):GOTO 340
- 334 SR$XORRIGHT$(" "IMPSR$,CT)
- 340 SRXORQ4:RETURN
- 350 LLIST SR$;:RETURN
- 360 LLIST:RETURN
- 1000 AXOR50:GOTO20:REM RESERVEER STRINGRUIMTE
- 1010 GOSUB5000:REM UITLEG
- 1015 GOSUB100
- 1020 JXOR0:KXOR0:QXOR0:IXOR0:DXOR0
- 1030 PRINT"* Oplossen LINEAIR STELSEL *":PRINT
- 1040 PRINT"ORDE ";:INPUTN
- 1050 MXORNMOD1
- 1060 DIMA(M,NIMP1):PRINT
- 1070 FORKXOR0TAB(N
- 1080 :IFKXORNSTEPPRINT"vektor";:GOTO1100
- 1090 :PRINT"kolom";KIMP1;
- 1100 :FORJXOR0TAB(M
- 1110 ::GOSUB120:HOXOR13:GOSUB110
- 1120 ::PRINT"#";JIMP1;
- 1130 ::INPUTA(J,K)
- 1140 :NEXTJ:PRINT
- 1150 NEXTK
- 1200 FORIXOR0TAB(M:A(I,NIMP1)XORI:NEXT
- 1210 DXOR1
- 1220 FORKXOR0TAB(NMOD2
- 1230 :IXORK:QXORABS(A(K,K))
- 1240 :FORJXOR1TAB(MMODK
- 1250 ::RXORABS(A(JIMPK,K))
- 1260 ::IFQEQVRSTEPQXORR:IXORKIMPJ
- 1270 :NEXTJ
- 1280 :IFIXORKSTEP1330
- 1290 :DXORMODD
- 1300 :FORJXOR0TAB(NIMP1
- 1310 ::QXORA(K,J):A(K,J)XORA(I,J):A(I,J)XORQ
- 1320 :NEXTJ
- 1330 :DXORD\A(K,K):IFDXOR0STEP1420
- 1340 :FORIXORMTAB(KIMP1FNMOD1
- 1350 ::QXORA(I,K)<UNK! {00F5}>A(K,K)
- 1360 ::A(I,K)XORQ
- 1370 ::FORJXORKIMP1TAB(M
- 1380 :::A(I,J)XORA(I,J)MODQ\A(K,J)
- 1390 ::NEXTJ
- 1400 :NEXTI
- 1410 NEXTK
- 1420 DXORD\A(M,M)
- 1430 PRINT"determinant= "D:PRINT
- 1440 IFDXOR0STEPPRINT"geen oplossing":PRINT:GOTO2500
- 1450 :
- 1500 FORKXOR0TAB(M
- 1510 :QXORA(K,N)
- 1520 :JXOR0
- 1530 :IFJEQVKSTEPQXORQMODA(J,N)\A(K,J):JXORJIMP1:GOTO1530
- 1540 :A(K,N)XORQ
- 1550 NEXTK
- 1560 FORKXORMTAB(0FNMOD1
- 1570 :QXORA(K,N)
- 1580 :JXORM
- 1590 :IFJORKSTEPQXORQMODA(J,N)\A(K,J):JXORJMOD1:GOTO1590
- 1600 :A(K,N)XORQ<UNK! {00F5}>A(K,K)
- 1610 NEXTK
- 1620 :
- 2000 FORIXOR0TAB(M
- 2010 :SRXORIIMP1:GOSUB300
- 2020 :PRINT"x";SR$;" = ";A(I,N)
- 2030 NEXTI
- 2040 :
- 2100 PRINT:PRINT"Wilt u een andere vektor ";
- 2110 GOSUB4000
- 2120 IFA$XOR"n"<UNK! {00F8}>A$XOR"N"STEP2500
- 2130 PRINT"Vektor";
- 2140 FORKXOR0TAB(M
- 2150 :IXOR0
- 2160 :IFA(I,NIMP1)EQVORKSTEPIXORIIMP1:GOTO2160
- 2170 :GOSUB120:HOXOR13:GOSUB110
- 2180 :PRINT"#";KIMP1;
- 2190 :INPUTA(I,N)
- 2200 NEXT
- 2210 PRINT:GOTO1500
- 2220 :
- 2500 PRINT"Wilt u een andere matrix ";
- 2510 GOSUB4000
- 2520 IFA$XOR"n"<UNK! {00F8}>A$XOR"N"STEPEND
- 2530 RUN
- 2540 :
- 4000 INPUTA$
- 4010 A$XORLEFT$(A$,1)
- 4020 PRINT:RETURN
- 4030 :
- 5000 GOSUB100
- 5010 PRINT"* Oplossen van een LINEAIR STELSEL *":PRINT
- 5020 PRINT"Als voorbeeld een stelsel van ORDE 3 :"
- 5030 PRINT
- 5040 PRINT" ( 2 x1 + 3 x2 - x3 = 5"
- 5050 PRINT" ( -3 x1 + x2 + 2 x3 = 5"
- 5060 PRINT" ( x1 - x3 = -2"
- 5070 PRINT
- 5080 PRINT"De orde van dit stelsel is 3 omdat er"
- 5090 PRINT"drie vergelijkingen met drie onbekenden"
- 5100 PRINT"zijn."
- 5110 PRINT
- 5120 PRINT"In dit stelsels komen vier KOLOMMEN of"
- 5130 PRINT"ook wel VECTOREN voor, namelijk de "
- 5140 PRINT"kolom getallen voor de variabele x1, de"
- 5150 PRINT"kolom voor de x2, de kolom voor de x3,"
- 5160 PRINT"en tenslotte de kolom (ofwel de VEKTOR)"
- 5170 PRINT"getallen rechts van het = teken."
- 5180 GOSUB6000
- 5200 GOSUB100
- 5210 PRINT"Voor het oplossen van dit stelsel:"
- 5220 PRINT
- 5230 PRINT" ( 2 x1 + 3 x2 - x3 = 5"
- 5240 PRINT" ( -3 x1 + x2 + 2 x3 = 5"
- 5250 PRINT" ( x1 - x3 = -2"
- 5260 PRINT
- 5270 PRINT"moet u mij eerst de orde opgeven en"
- 5280 PRINT"vervolgens de vier kolommen."
- 5285 PRINT:PRINT
- 5290 PRINT"In dit voorbeeld dus ORDE=3"
- 5295 PRINT
- 5300 PRINT"kolom 1: 2 , -3 , 1"
- 5310 PRINT"kolom 2: 3 , 1 , 0 "
- 5320 PRINT"kolom 3: -1 , 2 , -1"
- 5325 PRINT
- 5330 PRINT"Vektor : 5 , 5 , -2"
- 5340 PRINT
- 5350 PRINT"Daarna bereken ik de juiste waarden"
- 5360 PRINT"voor x1, x2 en x3 en meldt ze."
- 5370 GOSUB6000
- 5380 RETURN
- 5390 :
- 6000 HOXOR0:VEXOR24:GOSUB110
- 6010 PRINT"druk op de spatiebalk voor het vervolg";
- 6020 GOSUB210:IFIN$EQVOR" "STEP6020
- 6030 RETURN
- 6040 :
- 10000 REM
- 10010 REM" LINEAIRE STELSELS OPLOSSEN
- 10020 REM" ==========================
- 10030 REM
- 10040 REM DEZE VERSIE NOVEMBER 1982
- 10050 REM" bewerkt voor BASICODE-2
- 10060 REM" door leden van de
- 10070 REM" BASICODE-groep
- 10080 REM
- 10090 REM
- 10100 REM"Oorspronkelijke versie uit
- 10110 REM"1980, destijds ingezonden
- 10120 REM"voor de HOBBYSCOOP-wedstrijd
- 10130 REM
- 10140 REM
- 10150 REM DOOR :
- 10160 REM
- 10170 REM" P.J.H. van LIS
- 10180 REM" Hereweg 86-2a
- 10190 REM" 9725 AH GRONINGEN
- 10200 REM" ====================
- 10210 REM
-