Найти минимальное значение среди корней этих уравнений. - 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
все элементы равны нулю, то выводится сообщение о том, что действительных корней нет. В противном случае вычисляется минимальный корень и выводится его значение. - Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д