• треба знайти помилкуprocedure TForm1.Button1Click(Sender: TObject);var a, b, d, s:= real;begina = StrToFloat(Edit.Text)b= FloatToStr (Edit2.Text);d:= a*b;s := a+b;r:= s/dShowMessage('y '+FloatTostr(r)+' paзiв')end;​

Ответы 1

  • Ответ:

    В данной процедуре есть несколько ошибок:

    В объявлении переменных нельзя сразу присваивать значение типа "real". Нужно объявить переменные и потом уже присваивать им значение.

    В строке "b= FloatToStr (Edit2.Text);" переменная "b" объявлена типом "real", а результат функции FloatToStr имеет тип "string". Нужно сначала преобразовать значение из Edit2 в тип "real", а потом присваивать переменной "b".

    При делении переменных "s" и "d" нужно убедиться, что "d" не равно нулю, чтобы избежать ошибки деления на ноль.

    Исправленный код будет выглядеть так:

    procedure TForm1.Button1Click(Sender: TObject);

    var a, b, d, s, r: real;

    begin

    a := StrToFloat(Edit.Text);

    b := StrToFloat(Edit2.Text);

    d := a * b;

    s := a + b;

    if d <> 0 then

    r := s / d

    else

    r := 0;

    ShowMessage('y ' + FloatToStr(r) + ' paзiв');

    end;

    Объяснение:

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years