Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсова робота3_3.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
178.69 Кб
Скачать

Частина 1

Розвязання задачі.

Блок-схеми підпрограм:

1.1.Складемо блок-схему підпрограми обчисленн елементів матриці за формолою:

Ai,j=3i-j+ (i=1,2,…,5; j=1,2,…,5).

i:=1

j:=1

Ai,j=3i-j+

так ні

так ні

1.2. Складаємо блок-схему підпрограми формування вектора Xі (і=1,..2;...5), кожен елемент якого визначається, як мінімальний елемент відповідних рядків матриці.

Min:=Ai,j, j:=2

ні так

1.3. складемо блок-схему підпрограми обчислення значення функції G за формолою:

G =

G:=0, i:=1

k:=1, P:=1

P:=P*(xtk+k))

gt:=gt+p/(6+xt[i]);

Тексти підпрограм

1.1.Підпрограма-процедура обчислення елементів матриці за формолою:

Ai,j=3i-j+ .

Procedure procedure_A(var At:sm);

Var i,j:integer;

Function factorial(n:integer):integer;

Var t:integer;

Begin

If (n=0) then factorial:=1

Else

Factorial:=n*factorial(n-1);

End;

Begin

For i:=1 to 5 do

For j:=1to 5 do

At[I,j]:=exp(i-j)/exp(3)+i/factorial(j);

For i:=1 to 5 do

Begin

For j:=1 to 5 do

Write(‘ ‘,At[i,j]:4:4);

Writeln;

End;

Readln;

End;

1.2. Підпрограма – процедура обчислення вектора Xі (і=1,..2;...5), кожен елемент якого визначається як сума парних елементів рядка.

Procedure procedure_X (At:sm; var Xt:B);

Var i,j:integer;

Begin

For i:=1 to 5 do

Begin xt[i]:=0;

For j:=2 to 5 do

Begin

Xt[i]:=xt[i]+At[i,j];

j:=k+1;

End;

End;

For i:=1 to 5 do

Write (‘ ‘,xt[i]:4:4);

Readln;

End;

1.3. Підпрограма обчислення значення функції G за формолою:

G =

Procedure procedure_G(Xt:B; var Gt:real);

Var I,j,k:integer; S,P:real;

Begin

For I:=1 to 5 do

Begin

P:=1;

For k:=1 to I do

P:=P*(Xt[k]+k);

Gt:=Gt+P/(6+Xt[I]);

End;

End;

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

Program cursova;

Type SM=array[1..5, 1..5] of real; {опис типу для матриці}

B=array[1..5] of real; {опис типу для вектора}

Var A:sm; X:B; G:real; {опис глобальних змінних}

Procedure procedure_A(var At:sm);

Var I,j:integer;

Function factorial(n:integer):integer; {додаткова ф-я обчислення фак-лу}

Var t:integer;

Begin

If (n=0) then factorial:=1

Else

Factorial:=n*factorial(n-1);

End;

Begin

For I:=1 to 5 do

For j:=1to 5 do

At[I,j]:=exp(I-j)/exp(3)+i/factorial(j);

For I:=1 to 5 do

Begin

For j:=1 to 5 do

Write(‘ ‘,At[I,j]:4:4);

Writeln;

End;

Readln;

End;

Procedure procedure_X (At:sm; var Xt:B);

Підпрограма – процедура обчислення вектора X(x1,x2,…,x5), кожен елемент якого визначається як сума парних елементів рядка.

Var I,j:integer;

Begin

For I:=1 to 5 do

Begin xt[I]:=0;

For j:=2 to 5 do

Begin

Xt[I]:=xt[I]+At[I,j];

j:=k+1;

End;

End;

For I:=1 to 5 do

Write (‘ ‘,xt[I]:4:4);

Readln;

End;

Procedure procedure_G(Xt:B; var Gt:real);

Var i,j,k:integer; S,P:real;

Begin

For i:=1 to 5 do

Begin

P:=1;

For k:=1 to I do

P:=P*(Xt[k]+k);

Gt:=Gt+P/(6+Xt[I]);

End;

End;

Function f(x:real; a:B):real;

Begin

f:=(a[1]+a[2]*x+a[3]*sqr(x)+a[4]*sqr(x)*x+a[5]*sqr(sqr(x)));

end;

Підпрограма обчислення інтеграла за формолою трапецій

Function Trap(a,b:real; n:integer; AA:B):real;

Var h,S,x:real; I:integer;

Begin

h:=(b-a)/n; x:=a; S:=x;

for I:=2 to n-1 do

begin

x:=x+h;

S:=S+2*f(x,AA);

End;

Trap:=(h/2)*(S+f(x+h,AA));

End;

{головна програма}

begin

procedure_A(A);

procedure_X(AX);

procedure_G(X,G);

writeln;

writeln(‘ rezultat =’, g:4:4);

readln;

end.