Вопрос по задаче №6 из главы 13.1

Подскажите как реализовать задачу??

Пользователь вводит целое положительное число, если оно не соответствует критериям (то есть не является целым и положительным), выведете сообщение об ошибке, в противном случае выведете на экран все числа от 1 до введённого пользователем.

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

а что непонятно? где ваша попытка решить?

_____________
матфак вгу и остальная классика =)

Добрый вечер. Предлагаю вариант решения задачи с комментариями.

var i :integer;
a, b :real;
begin
repeat // вставил в код внешний цикл, чтобы программа всегда запрашивала ввод значения а. Можно убрать
write('Введите число a: '); readln(a); // вводим значение а.
b := frac(a); // присваиваем значению b дробную часть (при наличии) знач а.
if (b = 0) and (a > 0) then // если дробная часть знач а отсутствует, т.е. равна нулю, и а > 0 верно, тогда выполняем цикл.
begin
i := 1;
while (i begin
write(i, ' ');
i := i + 1;
end;
end else
write('Ошибка!'); // в случае ложности условия оператора if, выводим сообщение об ошибке.
writeln(); writeln(); // для красоты, чтобы каждая новая итерация была отделена пустой строкой от прежней.
until (1 = 2);
end.

П.С. Как красиво выложить код как в других примерах решения задач?

vedro-compota's picture

Доброго времени, вам необходимо:

_____________
матфак вгу и остальная классика =)