В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
Рита496
Рита496
30.09.2022 21:32 •  Информатика

Паскаль 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.

Показать ответ
Ответ:
Helenar2212
Helenar2212
01.09.2020 21:32
Ты в условном операторе не указал что должно проверяться... И к тому же нет 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 = 'Здравствуйте, ';
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота