Паскаль 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.
Ты в условном операторе не указал что должно проверяться... И к тому же нет begin и end;. Также переменную t: string; сделай, так как иначе не выйдет.
У тебя: <span>readln; <- к тому же не указал что надо писать. </span><span>if t then <- что это такое? Ошибка. writeln('Введите коеффициент "a"'); readln (a); writeln('Введите коeффициент "b"'); readln (b); writeln('Введите коeффициент "c"'); readln (c); d := b*b-4*a*c;
Должно быть:
</span><span>program Pr1;
const H = 'Здравствуйте, '; var a,b,c,d: real; name, t: string;
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(t);
t := t.ToLower;
if t = 'да' then begin writeln('Введите коеффициент "a"'); readln (a); writeln('Введите коeффициент "b"'); readln (b); writeln('Введите коeффициент "c"'); readln (c); d := b*b-4*a*c; end else writeln('Спасибо за использование!');
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; end.</span>