Решить уравнение - Pascal ABC (13241)

Узнай цену своей работы

Формулировка задачи:

Требуется написать программу с функциями. Условия таковы: Даны 3 матрицы А, В и С. Решить уравнение px2+qx+r=0, где p, q, r это минимальные элементы матриц А, В, С.

Решение задачи: «Решить уравнение»

textual
Листинг программы
  1. uses  Crt;
  2. const high = 10;
  3.       low  = 1;
  4.       n    = 5;
  5. type  int = 1..n;
  6.       massiv = array [int, int] of integer;
  7. var   A, B, C        : massiv;
  8.       p, q, r, d     : integer;
  9.       x1, x2, e      : real;
  10.  
  11. Procedure In_Mas(var m:massiv; phight, plow : integer);
  12.           var i, j : byte;
  13.           Begin
  14.                for i:=1 to n do
  15.                    for j:=1 to n do
  16.                        m[i,j]:=plow+Random(phight-plow+1);
  17.           End;
  18.  
  19. Procedure Out_Mas(const m:massiv);
  20.           var i, j : byte;
  21.           Begin
  22.                for i:=1 to n do
  23.                begin
  24.                     for j:=1 to n do
  25.                         Write(m[i,j]:4);
  26.                     WriteLn;
  27.                end;
  28.           End;
  29.  
  30. Function Minimum(const m:massiv):integer;
  31.           var i, j : byte;
  32.               min  : integer;
  33.           Begin
  34.                min:=m[1,1];
  35.                for i:=1 to n do
  36.                    for j:=1 to n do
  37.                        if (m[i,j]<min) then min:=m[i,j];
  38.                Minimum:=min;
  39.           End;
  40.  
  41. BEGIN
  42.      Randomize;
  43.      ClrScr;
  44.      In_Mas(A, high, low);
  45.      In_Mas(B, high, low);
  46.      In_Mas(C, high, low);
  47.      WriteLn('A:');
  48.      Out_Mas(A);
  49.      WriteLn('B:');
  50.      Out_Mas(B);
  51.      WriteLn('C:');
  52.      Out_Mas(C);
  53.      p:= Minimum(A);
  54.      WriteLn('p=',p);
  55.      q:= Minimum(B);
  56.      WriteLn('q=',q);
  57.      r:= Minimum(C);
  58.      WriteLn('r=',r);
  59.      d:= q*q - 4*p*r;
  60.      e:= q/(2*p);
  61.      if d<0 then WriteLn('Мнимые корни')
  62.      else if d=0 then WriteLn('Корни квадратного уравнения: X1=X2=', -e)
  63.      else
  64.          begin
  65.               x1:= -e+sqrt(d)/(2*p);
  66.               x2:= -e-sqrt(d)/(2*p);
  67.               WriteLn('Корни квадратного уравнения: X1=', x1:6:2, ', X2=', x2:6:2);
  68.          end
  69. 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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут