Найти минимальное значение среди корней этих уравнений. - 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.
Объяснение кода листинга программы
- Создается тип данных
mas
, который представляет собой массив из 6 элементов типа real. - Создается процедура
Korni
, которая принимает 3 параметра: a, b и c - это коэффициенты уравнения, а также переменные d, x1 и x2 - для хранения промежуточных значений. В этой процедуре происходит вычисление дискриминанта (d), проверка его значения и вывод результата. Если d меньше нуля, то выводится сообщение о том, что действительных корней нет. Если d равно нулю, то вычисляются два корня и выводится их значение. Если d больше нуля, то вычисляются два корня и выводится их значение. - Создается переменная
ar
типаmas
и инициализируется нулями. Также создается переменнаяn
типаbyte
. - Запускается цикл, в котором пользователю предлагается ввести коэффициенты для каждого из трех уравнений. После ввода всех коэффициентов выполняется вызов процедуры
Korni
с этими коэффициентами и переменнымиar
иn
. - Если в массиве
ar
все элементы равны нулю, то выводится сообщение о том, что действительных корней нет. В противном случае вычисляется минимальный корень и выводится его значение. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д