Найти минимальное значение среди корней этих уравнений. - Pascal ABC

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

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

Заданы три квадратных уравнения: ax2 +bx+c=0, dx2 +fx+r=0, px2 +qx+k=0. Найти минимальное значение среди корней этих уравнений.

Решение задачи: «Найти минимальное значение среди корней этих уравнений.»

textual
Листинг программы
  1. type mas=array[1..6] of real;
  2. procedure Korni(a,b,c:real;var ar:mas;var n:byte);
  3. var d,x1,x2:real;
  4. begin
  5. d:=b*b-4*a*c;
  6. if d<0 then writeln('Действительных корней нет!') else
  7. if d=0 then
  8.  begin
  9.   x1:=-b/(2*a);
  10.   writeln('Один корень х=',x1:0:2);
  11.   inc(n);
  12.   ar[n]:=x1;
  13.  end
  14. else
  15.   begin
  16.    x1:=(-b-sqrt(d))/(2*a);
  17.    x2:=(-b+sqrt(d))/(2*a);
  18.    writeln('х1=',x1:0:2,' x2=',x2:0:2);
  19.    inc(n); ar[n]:=x1;
  20.    inc(n); ar[n]:=x2;
  21.  end
  22. end;
  23. var a,b,c,d,f,r,p,q,k,mn:real;
  24.     ar:mas;
  25.     n,i:byte;
  26. begin
  27. repeat
  28. writeln('Введите коэффициенты 1 уравнения a,b,c, a<>0');
  29. readln(a,b,c);
  30. until a<>0;
  31. n:=0;
  32. Korni(a,b,c,ar,n);
  33. repeat
  34. writeln('Введите коэффициенты 2 уравнения d,f,r, d<>0');
  35. readln(d,f,r);
  36. until d<>0;
  37. Korni(d,f,r,ar,n);
  38. repeat
  39. writeln('Введите коэффициенты 3 уравнения p,q,k p<>0');
  40. readln(p,q,k);
  41. until p<>0;
  42. Korni(p,q,k,ar,n);
  43. if n=0 then write('Действительных корней нет')
  44. else
  45.  begin
  46.   mn:=ar[1];
  47.   for i:=1 to n do
  48.   if ar[i]<mn then mn:=ar[i];
  49.   write('Минимальный корень=',mn:0:2);
  50.  end;
  51. end.

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

  1. Создается тип данных mas, который представляет собой массив из 6 элементов типа real.
  2. Создается процедура Korni, которая принимает 3 параметра: a, b и c - это коэффициенты уравнения, а также переменные d, x1 и x2 - для хранения промежуточных значений. В этой процедуре происходит вычисление дискриминанта (d), проверка его значения и вывод результата. Если d меньше нуля, то выводится сообщение о том, что действительных корней нет. Если d равно нулю, то вычисляются два корня и выводится их значение. Если d больше нуля, то вычисляются два корня и выводится их значение.
  3. Создается переменная ar типа mas и инициализируется нулями. Также создается переменная n типа byte.
  4. Запускается цикл, в котором пользователю предлагается ввести коэффициенты для каждого из трех уравнений. После ввода всех коэффициентов выполняется вызов процедуры Korni с этими коэффициентами и переменными ar и n.
  5. Если в массиве ar все элементы равны нулю, то выводится сообщение о том, что действительных корней нет. В противном случае вычисляется минимальный корень и выводится его значение.
  6. Конец программы.

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


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

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

12   голосов , оценка 3.917 из 5

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

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

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