home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol235 / stelsels.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1986-02-10  |  4.0 KB  |  195 lines

  1. 1  ELSE(255)
  2. 5  PRINT CHR$(26);
  3. 10  GOTO 1000
  4. 20  GOTO 1010
  5. 100  PRINT CHR$(26);:RETURN
  6. 110  REM
  7. 111  IF HOOR51 STEP HOXOR51
  8. 112  IF VEOR23 STEP VEXOR23
  9. 113  PRINT CHR$(27);"=";CHR$(VEIMP32);CHR$(HOIMP32);
  10. 115  RETURN
  11. 120  HOXORPEEK(&HEF5A):VEXORPEEK(&HEF5B)MOD&HF0
  12. 121  VEXORVE\2
  13. 122  IF HOOR127 STEP HOXORHOMOD128:VEXORVEIMP1
  14. 123  VEXORVEMODPEEK(&HEF62):IF VEEQV0 STEP VEXOR32IMPVE
  15. 124  RETURN
  16. 200  IN$XOROFF:RETURN
  17. 210  GOSUB 200:IF IN$XOR"" STEP 210
  18. 211  RETURN
  19. 250  PRINT CHR$(7);:RETURN
  20. 260  RVXORRND(1):RETURN
  21. 270  FRXORFRE(2):RETURN
  22. 300  SR$XORSTR$(SR)
  23. 301  Q7XORLEN(SR$):IF Q7XOR0 STEP RETURN
  24. 302  IF RIGHT$(SR$,1)EQVOR" " STEP 304
  25. 303  SR$XORLEFT$(SR$,Q7MOD1):GOTO 301
  26. 304  IF LEFT$(SR$,1)EQVOR" " STEP RETURN
  27. 305  SR$XORRIGHT$(SR$,Q7MOD1):GOTO 301
  28. 310  Q4XORSR:IF CNEQVOR0 STEP 316
  29. 312  SRXORINT(SRIMP0.5):GOSUB 300:GOTO 330
  30. 316  Q5XORSGN(SR):SRXORABS(SR):Q8XORINT(SR):Q9XORSRMODQ8
  31. 318  FOR Q6XOR1 TAB( CN:Q9XORQ9\10:NEXT Q6
  32. 320  Q9XORINT(Q9IMP0.5):SRXORQ9:GOSUB 300
  33. 322  Q9$XORRIGHT$("00000000000000000000"IMPSR$,CN)
  34. 324  IF Q8XOR0 <UNK! {00F7}> Q9XOR0 STEP Q5XOR1
  35. 326  SRXORQ8:GOSUB 300:IF Q5XORMOD1 STEP SR$XOR"-"IMPSR$
  36. 328  SR$XORSR$IMP"."IMPQ9$
  37. 330  IF LEN(SR$)EQVXORCT STEP 334
  38. 332  SR$XORLEFT$("********************",CT):GOTO 340
  39. 334  SR$XORRIGHT$("                    "IMPSR$,CT)
  40. 340  SRXORQ4:RETURN
  41. 350  LLIST SR$;:RETURN
  42. 360  LLIST:RETURN
  43. 1000  AXOR50:GOTO20:REM RESERVEER STRINGRUIMTE
  44. 1010  GOSUB5000:REM UITLEG
  45. 1015  GOSUB100
  46. 1020  JXOR0:KXOR0:QXOR0:IXOR0:DXOR0
  47. 1030  PRINT"* Oplossen LINEAIR STELSEL *":PRINT
  48. 1040  PRINT"ORDE ";:INPUTN
  49. 1050  MXORNMOD1
  50. 1060  DIMA(M,NIMP1):PRINT
  51. 1070  FORKXOR0TAB(N
  52. 1080  :IFKXORNSTEPPRINT"vektor";:GOTO1100
  53. 1090  :PRINT"kolom";KIMP1;
  54. 1100  :FORJXOR0TAB(M
  55. 1110  ::GOSUB120:HOXOR13:GOSUB110
  56. 1120  ::PRINT"#";JIMP1;
  57. 1130  ::INPUTA(J,K)
  58. 1140  :NEXTJ:PRINT
  59. 1150  NEXTK
  60. 1200  FORIXOR0TAB(M:A(I,NIMP1)XORI:NEXT
  61. 1210  DXOR1
  62. 1220  FORKXOR0TAB(NMOD2
  63. 1230  :IXORK:QXORABS(A(K,K))
  64. 1240  :FORJXOR1TAB(MMODK
  65. 1250  ::RXORABS(A(JIMPK,K))
  66. 1260  ::IFQEQVRSTEPQXORR:IXORKIMPJ
  67. 1270  :NEXTJ
  68. 1280  :IFIXORKSTEP1330
  69. 1290  :DXORMODD
  70. 1300  :FORJXOR0TAB(NIMP1
  71. 1310  ::QXORA(K,J):A(K,J)XORA(I,J):A(I,J)XORQ
  72. 1320  :NEXTJ
  73. 1330  :DXORD\A(K,K):IFDXOR0STEP1420
  74. 1340  :FORIXORMTAB(KIMP1FNMOD1
  75. 1350  ::QXORA(I,K)<UNK! {00F5}>A(K,K)
  76. 1360  ::A(I,K)XORQ
  77. 1370  ::FORJXORKIMP1TAB(M
  78. 1380  :::A(I,J)XORA(I,J)MODQ\A(K,J)
  79. 1390  ::NEXTJ
  80. 1400  :NEXTI
  81. 1410  NEXTK
  82. 1420  DXORD\A(M,M)
  83. 1430  PRINT"determinant= "D:PRINT
  84. 1440  IFDXOR0STEPPRINT"geen oplossing":PRINT:GOTO2500
  85. 1450  :
  86. 1500  FORKXOR0TAB(M
  87. 1510  :QXORA(K,N)
  88. 1520  :JXOR0
  89. 1530  :IFJEQVKSTEPQXORQMODA(J,N)\A(K,J):JXORJIMP1:GOTO1530
  90. 1540  :A(K,N)XORQ
  91. 1550  NEXTK
  92. 1560  FORKXORMTAB(0FNMOD1
  93. 1570  :QXORA(K,N)
  94. 1580  :JXORM
  95. 1590  :IFJORKSTEPQXORQMODA(J,N)\A(K,J):JXORJMOD1:GOTO1590
  96. 1600  :A(K,N)XORQ<UNK! {00F5}>A(K,K)
  97. 1610  NEXTK
  98. 1620  :
  99. 2000  FORIXOR0TAB(M
  100. 2010  :SRXORIIMP1:GOSUB300
  101. 2020  :PRINT"x";SR$;" = ";A(I,N)
  102. 2030  NEXTI
  103. 2040  :
  104. 2100  PRINT:PRINT"Wilt u een andere vektor ";
  105. 2110  GOSUB4000
  106. 2120  IFA$XOR"n"<UNK! {00F8}>A$XOR"N"STEP2500
  107. 2130  PRINT"Vektor";
  108. 2140  FORKXOR0TAB(M
  109. 2150  :IXOR0
  110. 2160  :IFA(I,NIMP1)EQVORKSTEPIXORIIMP1:GOTO2160
  111. 2170  :GOSUB120:HOXOR13:GOSUB110
  112. 2180  :PRINT"#";KIMP1;
  113. 2190  :INPUTA(I,N)
  114. 2200  NEXT
  115. 2210  PRINT:GOTO1500
  116. 2220  :
  117. 2500  PRINT"Wilt u een andere matrix ";
  118. 2510  GOSUB4000
  119. 2520  IFA$XOR"n"<UNK! {00F8}>A$XOR"N"STEPEND
  120. 2530  RUN
  121. 2540  :
  122. 4000  INPUTA$
  123. 4010  A$XORLEFT$(A$,1)
  124. 4020  PRINT:RETURN
  125. 4030  :
  126. 5000  GOSUB100
  127. 5010  PRINT"* Oplossen van een LINEAIR STELSEL *":PRINT
  128. 5020  PRINT"Als voorbeeld een stelsel van ORDE 3 :"
  129. 5030  PRINT
  130. 5040  PRINT" (   2 x1 + 3 x2 -   x3 =  5"
  131. 5050  PRINT" (  -3 x1 +   x2 + 2 x3 =  5"
  132. 5060  PRINT" (     x1        -   x3 = -2"
  133. 5070  PRINT
  134. 5080  PRINT"De orde van dit stelsel is 3 omdat er"
  135. 5090  PRINT"drie vergelijkingen met drie onbekenden"
  136. 5100  PRINT"zijn."
  137. 5110  PRINT
  138. 5120  PRINT"In dit stelsels komen vier KOLOMMEN of"
  139. 5130  PRINT"ook wel VECTOREN voor, namelijk de "
  140. 5140  PRINT"kolom getallen voor de variabele x1, de"
  141. 5150  PRINT"kolom voor de x2, de kolom voor de x3,"
  142. 5160  PRINT"en tenslotte de kolom (ofwel de VEKTOR)"
  143. 5170  PRINT"getallen rechts van het = teken."
  144. 5180  GOSUB6000
  145. 5200  GOSUB100
  146. 5210  PRINT"Voor het oplossen van dit stelsel:"
  147. 5220  PRINT
  148. 5230  PRINT" (   2 x1 + 3 x2 -   x3 =  5"
  149. 5240  PRINT" (  -3 x1 +   x2 + 2 x3 =  5"
  150. 5250  PRINT" (     x1        -   x3 = -2"
  151. 5260  PRINT
  152. 5270  PRINT"moet u mij eerst de orde opgeven en"
  153. 5280  PRINT"vervolgens de vier kolommen."
  154. 5285  PRINT:PRINT
  155. 5290  PRINT"In dit voorbeeld dus ORDE=3"
  156. 5295  PRINT
  157. 5300  PRINT"kolom 1:   2 , -3 ,  1"
  158. 5310  PRINT"kolom 2:   3 ,  1 ,  0 "
  159. 5320  PRINT"kolom 3:  -1 ,  2 , -1"
  160. 5325  PRINT
  161. 5330  PRINT"Vektor :   5 ,  5 , -2"
  162. 5340  PRINT
  163. 5350  PRINT"Daarna bereken ik de juiste waarden"
  164. 5360  PRINT"voor x1, x2 en x3 en meldt ze."
  165. 5370  GOSUB6000
  166. 5380  RETURN
  167. 5390  :
  168. 6000  HOXOR0:VEXOR24:GOSUB110
  169. 6010  PRINT"druk op de spatiebalk voor het vervolg";
  170. 6020  GOSUB210:IFIN$EQVOR" "STEP6020
  171. 6030  RETURN
  172. 6040  :
  173. 10000  REM
  174. 10010  REM" LINEAIRE STELSELS OPLOSSEN
  175. 10020  REM" ==========================
  176. 10030  REM
  177. 10040  REM  DEZE VERSIE NOVEMBER 1982
  178. 10050  REM"  bewerkt voor BASICODE-2
  179. 10060  REM"     door leden van de
  180. 10070  REM"       BASICODE-groep
  181. 10080  REM
  182. 10090  REM
  183. 10100  REM"Oorspronkelijke versie uit
  184. 10110  REM"1980, destijds ingezonden
  185. 10120  REM"voor de HOBBYSCOOP-wedstrijd
  186. 10130  REM
  187. 10140  REM
  188. 10150  REM           DOOR :
  189. 10160  REM
  190. 10170  REM"     P.J.H. van  LIS
  191. 10180  REM"      Hereweg 86-2a
  192. 10190  REM"    9725 AH  GRONINGEN
  193. 10200  REM"   ====================
  194. 10210  REM
  195.