Программа для решения системы из n уравнений 0 rem “Программа для системы из n уравнений” 2rem ***Решение системы из n линейных уравнений c n неизвестными ***
40000 cls:screen 0
50000 dim a(20,18)
50100 input “Число неизвестных”;N
50101 if N<2 goto 63999
50200 print “Ввод расширенной матрицы коэффициентов”
50300 for i=1 to N
50400 for j=1 to N
50500 print “a(“;i;”,”;j;”)= “;:input a(i,j)
50600 next j
50700 print “b(“;i;”)= “;:input a(i,N+1)
50800 next i: print
50900 for s=1 to N
51000 for t=s to N
51100 if a(t,s)><0 then 51300
51200 next t:print “Единственного решения нет”: goto 63999
51300 gosub 53000
51400 c=1/a(s,s)
51500 gosub 54000
51600 for t=1 to N
51700 if t=s then 52000
51800 c=-a(t,s)
51900 gosub 55000
52000 next t
52100 next s
52200 gosub 56000:goto 63999
53000 rem Подпрограмма для обмена уравнений
53100 for j=1 to N+1
53200 b=a(s,j):a(s,j)=a(t,j):a(t,j)=b
53300 next j
53400 return
54000 rem Подпрограмма для деления строки на диагональный элемент
54100 for j=1 to N+1
54200 a(s,j)=c×a(s,j): next j
54400 return
55000rem*******************************************
55002rem*Подпрограмма для вычитания умноженной **
55004rem* на с s-той строки из t-строки **
55005rem*******************************************
55100 for j=1 to N+1
55200 a(t,j)=a(t,j)+c×a(s,j)
55300 next j
55400 return
56000 rem Подпрограмма для вывода решения на экран
56100 for t=1 to N
56200 print “x(“;t;”)= “ using “####.#####”; a(t,N+1)
56300 next t
56400 return
63999 end