Урок 12.1 Задача 2

Урок 12.1 Задача 2

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

Решение:

var f: integer;
begin
  writeln('Введите целое число');
  readln(f);
  if f > 1 then
    begin
      if f mod 23 = 0 then
        repeat
          writeln(f)
        until (f = 1);
    end
  else
   writeln('ошибка');

  readln();
end.             
vedro-compota's picture

Как проверять:

  1. Если мы введем число 55, то программа должна вывести в ответ:
    23 46

    -- т.е. два числа

  2. Если мы введем число 5, то программа должна вывести в ответ ноль чисел (вообще ничего)
  3. Если мы введем число -4, то программа должна сообщить об ошибке

Сейчас бесконечный цикл (имеет место быть)

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

var a : integer;

begin
  writeln('Введите целое число');
  readln(a);
  if (a > 1) then
    repeat
      if ((a mod 23) = 0) then
        write(a, ' ');
      a := a - 1;
    until(a < 1)
  else
    writeln('Ошибка');

  writeln('Конец');
  readln();
end.          

Введите целое число
54
46 23 Конец
vedro-compota's picture

засчитано

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