1. Работаем с квадратной матрицей, где количество строк=количеству столбцов = 100 2. После выполнения фрагмента кода получим матрицу, в которой главная диагональ равна -1, -2, -3 ... -98, -99, -100 и все элементы над главной диагональю будут отрицательные, каждый следующий элемент в строке от главной диагонали будет меньше предыдущего на 1 и строка заканчиваются -100 3. Элементы под главной диагональю положительные и равны номеру строки. Пример такой матрицы (только не 100Х100, а 5Х5, просто не влезет в экран, но чтобы понять как формируется такой массив достаточно): -1 -2 -3 -4 -5 2 -2 -3 -4 -5 3 3 -3 -4 -5 4 4 4 -4 -5 5 5 5 5 -5
4. Далее можно вручную посчитать сумму элементов матрицы, а можно написать программу для этого: const n = 100; var a:array[1..n,1..n] of integer; i,k,s:integer; begin for i:=1 to n do begin for k:=1 to n do begin if i > k then A[i,k] := i else A[i,k] := -k; s:=s+a[i,k]; end; end; writeln(s); end.
// PascalABC.NET 3.1, сборка 1214 от 09.04.2016 function f(x:real):=3+x*(4+x*(5+x*6));
begin var a:=-1.0; var b:=0.0; var eps:=1e-6; var fa:=f(a); var x,fx:real; if abs(fa)<=eps then Writeln('x=',a,',y=',fa) else begin var fb:=f(b); if abs(fb)<=eps then Writeln('x=',b,',y=',fb) else if fa*fb>0 then Writeln('На указанном интервале корней нет') else repeat x:=(a + b)/2; fx:=f(x); if abs(fx)<=eps then Writeln('x=', x, ', y=', fx) else if fa*fx>0 then a:=x else b:=x; until abs(fx)<=eps end end.
Результат выполнения программы: x=-0.790308952331543, y=-6.74849237825015E-07
2. После выполнения фрагмента кода получим матрицу, в которой главная диагональ равна -1, -2, -3 ... -98, -99, -100 и все элементы над главной диагональю будут отрицательные, каждый следующий элемент в строке от главной диагонали будет меньше предыдущего на 1 и строка заканчиваются -100
3. Элементы под главной диагональю положительные и равны номеру строки.
Пример такой матрицы (только не 100Х100, а 5Х5, просто не влезет в экран, но чтобы понять как формируется такой массив достаточно):
-1 -2 -3 -4 -5
2 -2 -3 -4 -5
3 3 -3 -4 -5
4 4 4 -4 -5
5 5 5 5 -5
4. Далее можно вручную посчитать сумму элементов матрицы, а можно написать программу для этого:
const n = 100;
var a:array[1..n,1..n] of integer;
i,k,s:integer;
begin
for i:=1 to n do begin
for k:=1 to n do begin
if i > k then
A[i,k] := i
else A[i,k] := -k;
s:=s+a[i,k];
end;
end;
writeln(s);
end.
ответ: -5050
function f(x:real):=3+x*(4+x*(5+x*6));
begin
var a:=-1.0;
var b:=0.0;
var eps:=1e-6;
var fa:=f(a);
var x,fx:real;
if abs(fa)<=eps then Writeln('x=',a,',y=',fa)
else begin
var fb:=f(b);
if abs(fb)<=eps then Writeln('x=',b,',y=',fb)
else
if fa*fb>0 then Writeln('На указанном интервале корней нет')
else
repeat
x:=(a + b)/2;
fx:=f(x);
if abs(fx)<=eps then Writeln('x=', x, ', y=', fx)
else
if fa*fx>0 then a:=x else b:=x;
until abs(fx)<=eps
end
end.
Результат выполнения программы:
x=-0.790308952331543, y=-6.74849237825015E-07