|
|
iteracii.PAS |
|
{* СЛУ методом итераций *}Unit ITERACII;Interface Implementation Begin writeln('Решение систем линейных уравнений методом итераций'); End. {Reshenie SLAY metodom iteracii} Program yrt; Uses iteracii.pas; {* Эту строку можно удалить *} Uses crt, graph; {* Подключение модулей *} label 1, 2; Type {* Используемые типы *} ta = Array[1..3, 1..3] Of real; tb = Array[1..3] Of real; Var {* В работе нам потребуются переменные: *} i : integer; j : integer; k : integer; grd : integer; grm : integer; p : integer; n : integer; m : integer; c : integer; w : integer; s : String; u : real; u1 : real; s1 : real; t : real; h : real; f : text; a : ta; al : ta; b : tb; x : tb; x1 : tb; be : tb; Begin clrscr; {* Очистка экрана *} n := 3; m := 3; c := 4; writeln; {* Пропускаем одну строку *} writeln; {* Вывод пустой строки *} writeln; {* Пустая строка *} writeln; {* Пропускаем одну строку *} writeln; {* Пустая строка *} writeln; {* Пропускаем одну строку *} writeln; {* Вывод пустой строки *} writeln; {* Пропускаем одну строку *} writeln(' Ќ ¦¬ЁвҐ 1, зв®Ўл ўўҐбвЁ ¬ ваЁжл б Є« ўЁ вгал '); writeln(' Ќ ¦¬ЁвҐ 2, зв®Ўл ¬ ваЁжл бзЁв вм б д ©« '); readln(k); {vvod matric} Case k Of 1: Begin For i := 1 To 3 Do {* Переменная i увеличивается с 1 до 3 *} Begin write(' b[', i, '] = '); read(b[i]); For j := 1 To 3 Do {* Переменная j увеличивается с 1 до 3 *} Begin write(' a[', i, ', ', j, '] = '); read(a[i, j]); End; End; End; 2: Begin assign(f, 'f.txt'); {* Привязка переменной f к файлу 'f.txt' *} reset(f); {* Открытие файла для чтения *} For i := 1 To 3 Do {* Увеличиваем i от 1 до 3 с шагом 1 *} For j := 1 To 3 Do {* Цикл для j => [1 .. 3] *} Begin read(f, a[i, j]); End; For j := 1 To 3 Do {* Переменная j увеличивается с 1 до 3 *} Begin read(f, b[j]); End; close(f); {* Закрытие файла *} End; End; For i := 1 To m Do {* Цикл для i => [1 .. m] *} Begin be[i] := b[i] / a[i, i]; For j := 1 To n Do {* Увеличиваем j от 1 до n с шагом 1 *} Begin If ji Then al[i, j] := - a[i, j] / a[i, i]; End; al[i, i] := 0; End; For i := 1 To 3 Do {* Переменная i увеличивается с 1 до 3 *} x[i] := 0; For p := 1 To c Do {* Переменная p увеличивается с 1 до c *} Begin For i := 1 To m Do {* Переменная i увеличивается с 1 до m *} Begin h := be[i]; For j := 1 To n Do {* Переменная j увеличивается с 1 до n *} Begin h := h + al[i, j] * x[j]; End; x1[i] := h; End; For w := 1 To m Do {* Увеличиваем w от 1 до m с шагом 1 *} x[w] := x1[w]; End; Grd := detect; INITGRAPH(Grd, Grm, 'C:tp.7_0bgi_st'); setbkcolor(14); For i := 1 To m Do {* Увеличиваем i от 1 до m с шагом 1 *} Begin setcolor(2); str(i, s); settextstyle(0, 0, 1); outtextxy(247, 157 + 30 * i, s); settextstyle(0, 0, 2); outtextxy(230, 150 + 30 * i, 'X = '); str(x[i] : 6 : 5, s); outtextxy(288, 150 + 30 * i, s); setcolor(red); outtextxy(170, 30, '—Ёб«® ЁвҐа жЁ© ='); str(c, s); outtextxy(440, 30, s); End; readkey; {* Ждем нажатия любой клавиши *} closegraph End...... 07.08.2014 - Breakpoint - точка остановки 07.08.2014 - Топ-10 самых популярных приложений в Facebook 18.11.2013 - Панель управления и персонализация системы. Windows Vista 18.11.2013 - Логические и физические диски. Windows Vista 18.11.2013 - Удаление файлов и папок 01.11.2013 - Программирование дисковых подсистем: возможности 31.10.2013 - Windows8 или Windows7? 31.10.2013 - Windows8, игры |
|
Non-commercial fansite
|