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

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

Показать ответ
Ответ:
Fakins
Fakins
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-бота