• Паскаль ABC Хочу сделать так, что бы если человек писал Да, то программа предлагала бы ему ввести значения снова, а она пропускает строку 'Введите коффициент а' и если человек отвечает Нет или пишет еще что то, она выдавала фразу в конце( Спасибо за использование). Что я сделал не так?
    program Pr1;

    const
    H = 'Здравствуйте, ';
    var
    a,b,c,d: real;
    name: string;
    t: boolean;
    Begin
    writeln('Введите свое имя:');
    readln(name);
    writeln(H, name, ', вас приветствует программа-калькулятор квадратного уравнения' );
    writeln('Введите коеффициент "a"');
    readln (a);
    writeln('Введите коeффициент "b"');
    readln (b);
    writeln('Введите коeффициент "c"');
    readln (c);
    d := b*b-4*a*c;
    if d=0 then
    begin
    writeln ('X1,X2 =', (-b+sqrt(d)/(2*a)));
    end;
    if d<0 then
    begin
    writeln ('D<0, корней нет');
    end;
    if d>0 then
    begin
    writeln('D = ', b*b-4*a*c);
    writeln ('X1 =', (-b+sqrt(d)/(2*a)));
    writeln ('X2 =', (-b-sqrt(d)/(2*a)));
    end;
    writeln ('Хотите воспользоваться калькулятором еще раз? Введите T(Да)\F(Нет)');
    readln;
    if t then
    writeln('Введите коеффициент "a"');
    readln (a);
    writeln('Введите коeффициент "b"');
    readln (b);
    writeln('Введите коeффициент "c"');
    readln (c);
    d := b*b-4*a*c;
    if d=0 then
    begin
    writeln ('X1,X2 =', (-b+sqrt(d)/(2*a)));
    end;
    if d<0 then
    begin
    writeln ('D<0, корней нет');
    end;
    if d>0 then
    begin
    writeln('D = ', b*b-4*a*c);
    writeln ('X1 =', (-b+sqrt(d)/(2*a)));
    writeln ('X2 =', (-b-sqrt(d)/(2*a)));
    end
    else
    writeln ('Спасибо за использование');
    end.

Ответы 1

  • Ты в условном операторе не указал что должно проверяться... И к тому же нет begin и end;. Также переменную t: string; сделай, так как иначе не выйдет.У тебя:readln; <- к тому же не указал что надо писать.if t then <- что это такое? Ошибка.writeln('Введите коеффициент "a"');readln (a);writeln('Введите коeффициент "b"');readln (b);writeln('Введите коeффициент "c"');readln (c);d := b*b-4*a*c;Должно быть:program Pr1;const H = 'Здравствуйте, ';vara,b,c,d: real;name, t: string;Beginwriteln('Введите свое имя:');readln(name);writeln(H, name, ', вас приветствует программа-калькулятор квадратного уравнения' );writeln('Введите коеффициент "a"');readln (a);writeln('Введите коeффициент "b"');readln (b);writeln('Введите коeффициент "c"');readln (c);d := b*b-4*a*c;if d=0 thenbeginwriteln ('X1,X2 =', (-b+sqrt(d)/(2*a)));end;if d<0 thenbeginwriteln ('D<0, корней нет');end;if d>0 thenbeginwriteln('D = ', b*b-4*a*c);writeln ('X1 =', (-b+sqrt(d)/(2*a)));writeln ('X2 =', (-b-sqrt(d)/(2*a)));end;writeln ('Хотите воспользоваться калькулятором еще раз? Введите T(Да)\F(Нет)');readln(t);t := t.ToLower;if t = 'да' thenbeginwriteln('Введите коеффициент "a"');readln (a);writeln('Введите коeффициент "b"');readln (b);writeln('Введите коeффициент "c"');readln (c);d := b*b-4*a*c;endelsewriteln('Спасибо за использование!');if d=0 thenbeginwriteln ('X1,X2 =', (-b+sqrt(d)/(2*a)));end;if d<0 thenbeginwriteln ('D<0, корней нет');end;if d>0 thenbeginwriteln('D = ', b*b-4*a*c);writeln ('X1 =', (-b+sqrt(d)/(2*a)));writeln ('X2 =', (-b-sqrt(d)/(2*a)));end;end.
    • Автор:

      laneuxpz
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

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

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

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