Задача 16 Урок 13.1

Задача 16 Урок 13.1:

Пользователь вводит целое положительное число N большее или равное 8, если оно не соответствует этим критериям (то есть не является положительным и большим или равным 8), выведете сообщение об ошибке, в противном случае выведите на экран все числа последовательности, не большие N.
Например, для N=20 получим результат: 8 10 3 12 14 3 16 18 3 20

Два цикла:

var n,a,i: integer;
    p:boolean;
begin
  p:=true;
  writeln('vvefite chislo bolshe ili ravno 8');
  readln(n);
  a:=8;
  while (a<=n) do
    begin
      for i:=1 to 2 do
      begin
        if a<=n then
          write(a,' ')
        else
          p:=false;
        a:=a+2;
      end;
      if (p) then
        write(3,' ');
    end;
  readln();
end.        

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

vvefite chislo bolshe ili ravno 8
20
8 10 3 12 14 3 16 18 3 20

Один цикл:

var a,b,n: integer;
begin
  b:=1;
  n:=8;
  writeln('vvedite cislo bolshe ili ravno 8');
  readln(a);
  if a>=8 then
    while n<=a do
      begin
        write (n,' ');
        n:=n+2;
        b+=1;
        if b=3 then
          begin
            write(b,' ');
            b:=1;
          end;
      end
  else
    writeln('Error');
  writeln();
  writeln('END');
  readln();
end.

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

vvefite chislo bolshe ili ravno 8
20
8 10 3 12 14 3 16 18 3 20