аз (повертаємося до п. 4).
Нижче представлена ​​блок-схема алгоритму та лістинг програми.
В В
program pr4;
uses crt;
var
h, a, b, S, dS, P, x, eps: real;
n, i: integer;
function f (x: real): real;
begin
f: = 0,1 * sin (0.1 * x +0.0025 * x * x)/cos (0.1 * x +0.0025 * x * x);
end;
begin
clrscr;
writeln ('input a, b, n, eps, please');
write ('a');
readln (a);
write ('b');
readln (b);
write ('n');
readln (n);
write ('eps');
readln (eps);
s: = 0;
repeat P: = S;
h: = (b-a)/2;
S: = 0;
x: = a;
for i: = 1 to n do
begin
x: = x + h;
S: = S + f (x);
end;
S: = S * h;
write ('n =', n: 3, 'h =', h: 12:9);
n: = n * 2;
until abs (P-S)/(s * 100)
writeln;
writeln ('Result S =', S: 10:6, 'dS =', dS: 12:9);
writeln;
writeln ('Process ended');
writeln ('Press any key to exit');
repeat until keypressed ;
end .
Дане завдання було вирішене також в MS Excel. Лист з вирішенням завдання наведено нижче. Необхідна точність була досягнута при n = 10. <В В В В
Програма виконана на мові Microsoft Visual Basic 6.0
В
Private Sub Command1_Click ()
Dim i As Integer
Dim x (1 To 40) As Double
Dim f (1 To 40) As Double
Dim f1 (1 To 40) As Double
Dim s (1 To 40) As Double
a = -3 * 3.14
b = 0
e = 0.1
n = 40
h = (b - a)/n
i = 1
x (i) = a
f (i) = 0.1 * Tan (0.1 * x (i) + 0.025 * x (i) ^ 2)
f1 (i) = f (i)
s (i) = h * f (i)
For i = 2 To n
x (i) = x (i - 1) + h
f (i) = 0.1 * Tan (0.1 * x (i) + 0.025 * x (i) ^ 2)
f1 (i) = f1 (i - 1) + f (i)
s (i) = h * f1 (i)
Next
For i = 1 To n
Print "s ="; s (i)
Next
If Abs (s (n) - s (n - 1))
В В
End Sub
В
Private Sub Form_Load ()
В
End Sub
В
Задача 5.
Дана прямокутна матриця C i , j , , розміром. Якщо дана матриця є квадратною, знайти суму елементів головної діагоналі, в Інакше знайти суму всіх членів матриці.
РІШЕННЯ
Складемо схему алгоритму.
В В В В
Program Lab_5;
uses crt;
var
i, j, m, n: integer;
b, a: array [1 .. 10,1 .. 10] of real;
s: real;
begin
clrscr;
write ('chislo stolbcov n ='); Readln (n);
write ('chislo strok m ='); readln (m);
begin
if m = n then
s: = 0;
for i: = 1 to n do
begin
for j: = 1 to m do
begin
write ('a [', i, ',', j, '] ='); readln (a [i, j]);
end;
writeln;
end;
begin
if i = j then s: = s + a [i, j];
writeln (s: 6:3);
end;
if i <> j then
begin
s: = 0;
for i: = 1 to n do
begin
for j: = 1 to m do
begin
s: = s + a [i, j];
end;
В
writeln (s: 6:3);
В
end;
end;
readln;
end;
end.
Дане завдання було вирішене також в MS Excel. Лист з вирішенням завдання наведено нижче.
В
Програма виконана на мові Microsoft Visual Basic 6.0
Private Sub Command1_Click ()
Dim i, j, m, n As...