Решить уравнение - Pascal ABC (13241)
Формулировка задачи:
Требуется написать программу с функциями. Условия таковы: Даны 3 матрицы А, В и С. Решить уравнение px2+qx+r=0, где p, q, r это минимальные элементы матриц А, В, С.
Решение задачи: «Решить уравнение»
textual
Листинг программы
uses Crt;
const high = 10;
low = 1;
n = 5;
type int = 1..n;
massiv = array [int, int] of integer;
var A, B, C : massiv;
p, q, r, d : integer;
x1, x2, e : real;
Procedure In_Mas(var m:massiv; phight, plow : integer);
var i, j : byte;
Begin
for i:=1 to n do
for j:=1 to n do
m[i,j]:=plow+Random(phight-plow+1);
End;
Procedure Out_Mas(const m:massiv);
var i, j : byte;
Begin
for i:=1 to n do
begin
for j:=1 to n do
Write(m[i,j]:4);
WriteLn;
end;
End;
Function Minimum(const m:massiv):integer;
var i, j : byte;
min : integer;
Begin
min:=m[1,1];
for i:=1 to n do
for j:=1 to n do
if (m[i,j]<min) then min:=m[i,j];
Minimum:=min;
End;
BEGIN
Randomize;
ClrScr;
In_Mas(A, high, low);
In_Mas(B, high, low);
In_Mas(C, high, low);
WriteLn('A:');
Out_Mas(A);
WriteLn('B:');
Out_Mas(B);
WriteLn('C:');
Out_Mas(C);
p:= Minimum(A);
WriteLn('p=',p);
q:= Minimum(B);
WriteLn('q=',q);
r:= Minimum(C);
WriteLn('r=',r);
d:= q*q - 4*p*r;
e:= q/(2*p);
if d<0 then WriteLn('Мнимые корни')
else if d=0 then WriteLn('Корни квадратного уравнения: X1=X2=', -e)
else
begin
x1:= -e+sqrt(d)/(2*p);
x2:= -e-sqrt(d)/(2*p);
WriteLn('Корни квадратного уравнения: X1=', x1:6:2, ', X2=', x2:6:2);
end
END.
Объяснение кода листинга программы
- В начале кода подключается библиотека Crt, которая содержит функции для работы с памятью и числами с плавающей точкой.
- Затем определяются константы high и low, которые задают пределы для перебора в процедуре In_Mas.
- Далее определяется тип int, который представляет целые числа от 1 до n.
- Создаются переменные A, B, C и переменные p, q, r и d, которые будут использоваться в процедурах In_Mas и Out_Mas.
- Также определяются переменные x1, x2 и e, которые будут использоваться в функции Minimum.
- В функции Minimum происходит поиск минимального элемента в массиве m.
- Затем вызываются процедуры In_Mas, Out_Mas и функция Minimum.
- После этого выводится значение переменной p, затем значения переменных q и r.
- Далее вычисляется значение переменной d, а затем вычисляются значения переменных x1 и x2.
- Если значение переменной d меньше нуля, то выводится сообщение о мнимых корнях.
- Если значение переменной d равно нулю, то выводится сообщение о корнях квадратного уравнения.
- Если значение переменной d больше нуля, то выводится сообщение об отсутствии корней.
- Конец программы.