Паскаль 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*; 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*; writeln ('x2 =', (-b-sqrt(d)/(2*; 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*; 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*; writeln ('x2 =', (-b-sqrt(d)/(2*; end else writeln (' за использование'); end.
У тебя:
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 = 'Здравствуйте, ';
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
за использование!');
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.