home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 27
/
64er_Magazin_Sonderheft_27_19xx_Markt__Technik_de_Disk_2_of_2_Side_B.d64
/
matrix-demo
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
3KB
|
136 lines
10 rem ********************************
11 rem * *
12 rem * demo-programm zur wirkungs- *
13 rem * weise der basic-erweiterung *
14 rem * - matrixexpress - *
15 rem * *
16 rem * dr.u.christ 1986 *
17 rem * *
18 rem ********************************
19 rem
20 ifa=0thena=1:load"matrixass v3",8,1
22 poke49162,96:sys49152:poke49162,32
24 rem
50 read n : rem anzahl der zeilen und spalten
52 n=n-1 : rem bei n=3 enthaelt matrix 9 elemente
54 dim ab(n,n),cd(n,n),ef(n,n),d
56 readk
58 goto1000
98 :
100 rem seite 0
102 rem -------
104 printchr$(147)
110 poke50928,96:sys50884:poke50928,169
120 return
198 ;
200 rem seite 1
202 rem -------
204 t1$="im beispiel eingesetzte matrizen:"
210 gosub100
212 poke211,0:poke214,3:sys58640
214 printt1$:print
218 print" matrix (ab) ":print
222 fori=0ton:printab(i,0),ab(i,1),ab(i,2):nexti
224 print"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
226 poke211,0:poke214,11:sys58640
228 print" matrix (cd) ":print
230 fori=0ton:printcd(i,0),cd(i,1),cd(i,2):nexti
232 print"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
234 poke211,0:poke214,17:sys58640
236 print" matrix (ef) ":print
238 fori=0ton:printef(i,0),ef(i,1),ef(i,2):nexti
240 t3$=" bitte eine taste druecken "
241 st$=chr$(18):z=z+1:ifz=20thenz=0:ifz<5thenst$=chr$(146)
242 poke211,5:poke214,23:sys58640
243 printst$t3$
244 geta$:ifa$=""then241
250 return
252 :
300 rem seite 2
302 rem -------
304 gosub100
310 poke51148,96:sys50884:poke51148,32
312 poke211,0:poke214,22:sys58640
314 print" bitte waehlen sie einen befehl aus "
322 fori=1to7:poke211,34:poke214,5+2*i:sys58640
324 printchr$(18)i
326 nexti
330 geta$:ifa$=""then330
332 a=asc(a$):ifa<49ora>55then330
340 return
342 :
400 rem seite 3
402 rem -------
410 t1$=" loesung von :"+t5$
412 gosub210:readx:readx:goto1000
430 return
996 :
998 rem -------------------------------
1000 rem hauptprogramm
1002 rem -------------
1004 fori=0ton:forj=0ton:readab(i,j):nextj:nexti
1006 fori=0ton:forj=0ton:readcd(i,j):ef(i,j)=0:nextj:nexti
1010 restore
1012 gosub200
1014 gosub300
1020 ona-48goto1030,1040,1050,1060,1080,1090,1100
1026 :
1028 rem ******* equivalenz ***********
1030 @equ,ab,cd
1031 t5$=" (cd)=(ab) "
1032 gosub400
1036 :
1038 rem ******** addition ************
1040 @add,ab,cd,ef
1041 t5$=" (ef)=(ab)+(cd) "
1042 gosub400
1046 :
1048 rem ******* subtraktion***********
1050 @sub,ab,cd,ef
1051 t5$=" (ef)=(ab)-(cd) "
1052 gosub400
1056 :
1058 rem ***** produkt mit skalar *****
1060 gosub100
1062 print:print:print"fuer die multiplikation wurde folgende"
1064 print"konstante gewaehlt"
1066 print:print:print" k =",k
1067 gosub240
1070 @skp,ab,k
1071 t5$=" (ab)=k*(ab) "
1072 gosub400
1076 :
1078 rem ****** multiplikation ********
1080 @mul,ab,cd,ef
1081 t5$=" (ef)=(ab)*(cd) "
1082 gosub400
1086 :
1088 rem ******* determinante *********
1090 @det,ab,d
1092 gosub100
1094 print:print:print"der wert der determinante ist"
1095 print:print" d=",d
1096 t5$=" determinantenrechnung "
1097 gosub240:gosub400
1098 :
1099 rem *** adjungierte u. inverse ***
1100 @inv,ab,cd,ef
1101 t5$="(ef)=inv(ab),(cd)=adj(ab)"
1102 gosub400
1200 end
1996 :
1998 :----------------------------------
2000 data 3 : rem anzahl der zeilen und spalten
2002 :
2004 data 3.41 : rem konstante
2006 :
2008 rem elemente der matrix (ab)
2010 data 1, 2, 2
2012 data 3, 1, 0
2014 data 1, 1, 1
2016 :
2020 rem elemente der matrix (cd)
2022 data 1, 2, 3
2024 data 2,-1, 4
2026 data 0,-1, 1