Урок 11 Задача 8

Урок 11 Задача 8:

Пользователь вводит целые числа в цикле (разные: четные, нечетные, положительные, отрицательные в любом порядке и количестве). Считайте и выведите на экран значения первых трех отрицательных нечетных чисел. После чего завершите цикл.

var a, b, c, x: integer;
begin
  while (a=a) do // делаем бесконечный цикл
  begin
    write ('Введите число: ');
    readln(x); // считываем введенное число
      if (x mod 2 = -1) then // если при делении на 2 в остатке -1, значит число было отрицательным и нечетным
      begin
        c := b; // пред-предыдущее число
        b := a; // предыдущее число
        a := x; // текущее число
        if (c<>0) then //проверяем, заполнялась ли последняя переменная
          begin
            write(a, ' ', b, ' ', c); // выводим на экран
            break; // прерываем цикл
          end;
      end;
  end;
  readln();
end.  

Вывод в консоли:

Введите число: 98
Введите число: -2
Введите число: -11
Введите число: 9
Введите число: -4
Введите число: 12
Введите число: 0
Введите число: -1
Введите число: -23
-23 -1 -11