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

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

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

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

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

textual
Листинг программы
type mas=array[1..6] of real;
procedure Korni(a,b,c:real;var ar:mas;var n:byte);
var d,x1,x2:real;
begin
d:=b*b-4*a*c;
if d<0 then writeln('Действительных корней нет!') else
if d=0 then
 begin
  x1:=-b/(2*a);
  writeln('Один корень х=',x1:0:2);
  inc(n);
  ar[n]:=x1;
 end
else
  begin
   x1:=(-b-sqrt(d))/(2*a);
   x2:=(-b+sqrt(d))/(2*a);
   writeln('х1=',x1:0:2,' x2=',x2:0:2);
   inc(n); ar[n]:=x1;
   inc(n); ar[n]:=x2;
 end
end;
var a,b,c,d,f,r,p,q,k,mn:real;
    ar:mas;
    n,i:byte;
begin
repeat
writeln('Введите коэффициенты 1 уравнения a,b,c, a<>0');
readln(a,b,c);
until a<>0;
n:=0;
Korni(a,b,c,ar,n);
repeat
writeln('Введите коэффициенты 2 уравнения d,f,r, d<>0');
readln(d,f,r);
until d<>0;
Korni(d,f,r,ar,n);
repeat
writeln('Введите коэффициенты 3 уравнения p,q,k p<>0');
readln(p,q,k);
until p<>0;
Korni(p,q,k,ar,n);
if n=0 then write('Действительных корней нет')
else
 begin
  mn:=ar[1];
  for i:=1 to n do
  if ar[i]<mn then mn:=ar[i];
  write('Минимальный корень=',mn:0:2);
 end;
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
Похожие ответы