Решить уравнение - 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.

Объяснение кода листинга программы

  1. В начале кода подключается библиотека Crt, которая содержит функции для работы с памятью и числами с плавающей точкой.
  2. Затем определяются константы high и low, которые задают пределы для перебора в процедуре In_Mas.
  3. Далее определяется тип int, который представляет целые числа от 1 до n.
  4. Создаются переменные A, B, C и переменные p, q, r и d, которые будут использоваться в процедурах In_Mas и Out_Mas.
  5. Также определяются переменные x1, x2 и e, которые будут использоваться в функции Minimum.
  6. В функции Minimum происходит поиск минимального элемента в массиве m.
  7. Затем вызываются процедуры In_Mas, Out_Mas и функция Minimum.
  8. После этого выводится значение переменной p, затем значения переменных q и r.
  9. Далее вычисляется значение переменной d, а затем вычисляются значения переменных x1 и x2.
  10. Если значение переменной d меньше нуля, то выводится сообщение о мнимых корнях.
  11. Если значение переменной d равно нулю, то выводится сообщение о корнях квадратного уравнения.
  12. Если значение переменной d больше нуля, то выводится сообщение об отсутствии корней.
  13. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.5 из 5