Вычислить значение выражения - PascalABC.NET (251411)

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

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

Вычислить значение выражения (x1-x2)*(y1-y2), где x1 , x2 - корни уравнения ax^2+bx+c=0; y1 , y2 - корни уравнения dy^2+ly+f=0. Для вычисления корней уравнений использовать вспомогательную программу. Помогите, пожалуйста. Не представляю, как это можно сделать, используя еще и вспомогательную программу.

Решение задачи: «Вычислить значение выражения»

textual
Листинг программы
procedure vvod(var a,b,c:real;k:byte);
begin
repeat
writeln('Введите коэффициенты уравнения ',k,' первый коэффициент не равен 0');
readln(a,b,c);
until a<>0;
end;
procedure korni(a,b,c:real;var x1,x2:real;k:byte);
var d:real;
begin
repeat
d:=b*b-4*a*c;
if d>=0 then
 begin
  x1:=(b-sqrt(d))/(2*a);
  x2:=(b+sqrt(d))/(2*a);
 end
else
 begin
  writeln('Уравнение ',k,' не имеет двух действительных корней');
  writeln('Введите другие коэффициенты');
  vvod(a,b,c,k);
 end;
until d>=0;
end;
var a,b,c,d,e,f,x1,x2,y1,y2,z:real;
begin
vvod(a,b,c,1);
vvod(d,e,f,2);
korni(a,b,c,x1,x2,1);
korni(d,e,f,y1,y2,2);
z:=(x1-x2)*(y1-y2);
writeln('Значение заданной функции=',z:0:2);
end.

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

  1. В первой процедуре vvod, введенные пользователем коэффициенты присваиваются переменным a, b, c.
  2. Во второй процедуре korni, вычисляются корни уравнения и сохраняются в переменных x1, x2.
  3. Если корни уравнения не действительны, выводится сообщение об этом и вызывается процедура vvod для ввода новых коэффициентов.
  4. В основной программе, после ввода коэффициентов для первого уравнения, вызывается процедура korni для вычисления корней.
  5. Затем вызывается вторая процедура korni для вычисления корней второго уравнения.
  6. Значение функции вычисляется как произведение разности первых и вторых корней на разность вторых корней.
  7. Значение функции выводится на экран.

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

14   голосов , оценка 4.143 из 5