- •Курсова робота з дисципліни «Інформатика»
- •«Використання підпрограм та функцій користувача при роботі з масивами.»
- •Завдання на курсову роботу з дисципліни «Інформатика»
- •1.Теоретична частина
- •1.1.Основні поняття та елементи мови
- •1.2. Типи даних
- •1.3. Прості програми
- •1.4. Розгалудження
- •1.5. Цикли
- •1.6.Масиви
- •1.7. Підпрограми
- •Частина 1
- •Тексти підпрограм
- •Текст програми (основної)
- •Результати роботи програми
- •Висновок
- •Список використаної літератури
Частина 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.
