Прошу вас помогите пожалуйста срочно Пользователь вводит три вещественных числа: a,b,c....

0 голосов
41 просмотров

Прошу вас помогите пожалуйста срочно
Пользователь вводит три вещественных числа: a,b,c. Составить функцию для решения уравнения (a–x)/(b–x)=сx, которая получает введенные числа в качестве
параметров. Найденные корни уравнения функция возвращает в качестве двух других параметров.
Результат, который возвращает сама функция, должен позволять отслеживать следующие случаи (зависящие от значений введенных чисел): уравнение имеет только
один корень, нет вещественных корней, корни одинаковы, деление на нуль.


Информатика (32 баллов) | 41 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Function SolveX(a,b,c:real; var x1,x2:real):integer;
{
Возвращает:
-1 - нет вещественных корней
 0 - один корень х1
 1 - два корня х1,х2
}
var D:real;
begin
  D:=b*b-4*a*c;
  if D<0 then SolveX:=-1<br>  else
    if D=0 then begin
      x1:=(1+b*c0)/(2*c);
      if x1=b then SolveX:=-1 else SolveX:=0
      end
    else begin
      D:=sqrt(D);
      x1:=(1+b*c-D)/(2*c);
      x2:=(1+b*c+D)/(2*c);
      if x1=b then begin SolveX:=0; x1:=x2 end
      else
        if x2=b then SolveX:=0
        else SolceX:=1
      end
end;

(150k баллов)