Реферат: Побудова таблиці значень функції

ПОЯСНЕННЯ ДО СХЕМИ АЛГОРИТМУ ОСНОВНОЇ ПРОГРАМИ:

- блок 1 - початок програми;

- блок 2.3 - опис функцій користувача;

- блок 3 - виведення повідомлення про атрибути курсової роботи;

- блоки з 4 по 23 - введення вхідних даних в діалоговому режимі та контролю за правильністю їх вводу;

- блок 24 - початок циклу перебору елементів І;

- блок 29 - сума матриць

- блок 30 - максимальний елемент матриці

- блоки з 31 по 35 - підготовка даних і звертання до підпрограми розрахунку визначника методом Гауса

- блоки з 36, 38, Є 48 ,49- запам'ятовування чергового рядка таблиці;

- блок 58 - введення повідомлення про друк результатів;

- блоки з 50 по 59 - підготовка вхідних даних та звернення підпрограми виводу таблиці;

- блоки 60 - організація запиту і при потребі настройка програми на друк результатів на папір з перетворенням на повторне виконання блоків , починаючи з 50 ;

- блок 61- закінчення програми.

ТЕКСТИ ПРОГРАМ

Текст тестової програми

Вивід таблиць. Призначення: Вивід на екран (папір) в табличному вигляді декількох (<=5) змінних, які задані двовимірним масивом. Звертання: GOSUB 3000.

Опис параметрів: Вхідні: N - кількість рядків та стовпців.

Таблиці виводиться 10 позицій. Вихідні: немає. Допоміжні: I%, J%, L%, K%. Використовувані підпрограми і функції: немає. Вимоги до викликаючої програми: у викликаючій програмі необхідно:

на початку основної програми перед звертання до підпрограми описати двовимірний масив А розміром не менше N х N і одновимірний масив X розміром І;

перед звертанням до підпрограми змінні N,X повинні бути визначені;

не використовувати I%, J%, L%, K% для позначення змінних в основній програмі, які не повинні бути зіпсуті в процесі роботи даної підпрограми.

Роздрук результатів розрахунку

Роздруки результатів тестування

Висновок: отже, в результаті проведеного тест програми для обчислення визначника методом Гауса встановлено, що отримані результати відповідають тестовому прикладові ручному з розрахунку.

{ ОСНОВНА ПРОГРАМА. }

{КУРСОВА РОБОТА СТУДЕНТА ГРУПИ ТБ-2

Program student (input,output);

uses

crt, student, printer ;

const

n-3; f-50;

type

mas=аггау[1..3,1..3] of real;

var

i,j,k:integer;

y,b1,al,cmax,t,xl:real;

a,b,c:dvmr;

x:array[l.,50] of real;

begin

writeln('введіть елементи матриці А');

for i:=l to n do

for j:=l to n do {ВВІД МАТРИЦІ А}

begin

writeln ('введіть a[',i,',j,']=');

readln (a[ij])

end;

writeln ('введіть елементи матриці b‘);

for i:=1 to n do

for j:=1 to n do {ВВІД МАТРИЦІ В}

begin

writeln ('введіть b[',і,',',j,']=');

readln (b[i,j])

end;

for i:=1 to n do

for j:=l to n do {СУМА МАТРИЦЬ А, Б }

c[i,j]:=a[i,j]+b[i,j];

cmax:=c[l,l];

for i:=l to n do

for j:=l to n do

if c[i,j]>=cmax then {ЗНАХОДЖЕННЯ МАКСИМАЛЬНОГО ЕЛЕМЕНТУ МАТРИЦІ С}

begin

cmax:=c[i,j];

k:=J

end;

for i:=l to n do

al:=al+c[i,k];

writeln (1st,'ЗНАХОДЖЕННЯ СУМИ ЕЛЕМЕНТІВ СТОВПЦЯ

МАТРИЦІ З М’}

writeln (lst’al=',al:8:4); bl:=det(b,n);

writeln (1st,'ЗНАХОДЖЕННЯ ВИЗНАЧНИКА МАТРИЦІ В');

writeln (lst,'bl=',bl:8:4);

for i:=l to f do begin

writeln ('введіть х[',і,']-');

readln( x[i]) {ВВІД ЕЛЕМЕНТІВ МАСИВУ X}

end;

writeln (1st,'--------------------------------------------------------------------------

writeln (1st,'*----------------x-------------------*---------------------------------у

writeln (1st,'-------------------------------------------------------------------------

for i:-l to f do

begin

if x[i]>10 then t:=0,44 else t:=0,25;

y:-(l+sqr(x[i])*sin(t*x[i]/4))/(l,5+al*bl);

writeln (1st,'* ', x[i];8:3 , ' * ',y:8:3,'

writeln (1st, '-----------------------------------------------------------------------

end

end.

Підпрограма: Знаходження визначника матриці методом Гауса

<<DET>>

Function Det (A: dvmr; N: integer): real;

Var i,j,k: integer;

d,y,w: real;

Begin

if (help_s=’h’) or (help_s=’H’) then begin ClrScr;

writeln (‘***********************************************’);

writeln (‘* Знаходження визначника матриці методом Гауса *’);

writeln (‘* <<Det>> *’);

writeln (‘* Вхідні дані: *’);

writeln (‘* N - кількість рядків матриці *’);

writeln (‘* A[i,j] - матриця коефіцієнтів. *);

writeln (‘***********************************************’);

readln; Exit;

end;

d:=1;

for i:=1 to N do begin

k:=1; y:=A[i,i];

for j:=i+1 to N begin

w:=A[j,i];

if Abs (w)>Abs(y) then begin

k:j; y:=w;

end;

end;

d:=d*y;

if d=0 then begin det:=0; Exit; end:

if I< >k then begin

d:=-d;

for j:=i to N do begin

w:=A[k,j];

A[k,j]:=A[i,j];

A[i;j]:=w;

End;

end;

for j:=i+1 to N do begin

w:=A[j,i]/y;

for k:=i+1 to N do A[j,k]:=A[j,k]-w*A[i,k];

end;

end;

Знаходження суми елементів стовпця матриці з максимальним елементом а1=20.6000

Знаходження визначника матриці В

b1=243.3330

*

Х

*

Y

*

*

0.500

*

0.000

*

*

1.000

*

0.000

*

*

1.500

*

0.000

*

*

2.000

*

0.000

*

*

2.500

*

0.000

*

*

3.000

*

0.001

*

*

3.500

*

0.001

*

*

4.000

*

0.001

*

*

4.500

*

0.001

*

*

5.000

*

0.002

*

*

5.500

*

0.002

*

*

6.000

*

0.003

*

*

6.500

*

0.004

*

*

7.000

*

0.004

*

*

7.500

*

0.005

*

*

8.000

*

0.006

*

*

8.500

*

0.007

*

*

9.000

*

0.009

*

*

9.500

*

0.010

*

*

10.000

*

0.012

*

*

10.500

*

0.020

*

*

11.000

*

0.023

*

*

11.500

*

0.025

*

*

12.000

*

0.028

*

*

12.500

*

0.031

*

*

13.000

*

0.034

*

*

13.500

*

0.036

*

*

14.000

*

0.039

*

*

14.500

*

0.042

*

*

15.000

*

0.045

*

*

15.500

*

0.048

*

*

16.000

*

0.050

*

*

16.500

*

0.053

*

*

17.000

*

0.055

*

*

17.500

*

0.057

*

*

18.000

*

0.059

*

*

18.500

*

0.061

*

*

19.000

*

0.063

*

*

19.500

*

0.064

*

*

20.000

*

0.065

*

*

20.500

*

0.065

*

*

21.000

*

0.065

*

*

21.500

*

0.065

*

*

22.000

*

0.064

*

*

22.500

*

0.063

*

*

23.000

*

0.061

*

*

23.500

*

0.058

*

*

24.000

*

0.055

*

24.500

*

0.052

*

*

25.000

*

0.048

*




  • Сторінка:
  • 1
  • 2
  • 3