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

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

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

8 10 3 12 14 3 16 18 3 20

то есть всё начинается с восьмерки, затем число увеличивается на 2, затем выводится тройка и ещё пара увеличенных на 2 чисел и т.д. пока не дойдем до N.

ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно).
Решите указанными двумя способами.

Двумя циклами:

program task16v1;
var n,a,i: integer;
begin
  a:=8;
  writeln('Vvedite N bolwe ili ravno 8');
  readln(n);
  if (n>=8) then
  begin
    while (a<=n) do
    begin
      for i:=1 to 2 do
      begin
        write (a,' ');
        a:=a+2;
        if (a>n) then
          break
      end;
      if (a<=n) then
        write (3,' ');
    end;
  end
  else
  writeln('owibka');
  readln();
end.       

Одним циклом:

program task16v2;
var n,a,i: integer;
begin
  a:=8;
  i:=1;
  writeln('Vvedite N bolwe ili ravno 8');
  readln(n);
  if (n>=8) then
  begin
    while (a<=n) do
    begin
      write (a,' ');
      a:=a+2;
      i:=i+1;
      if (i=3) then
       begin
       write (i,' ');
       i:=1;
       end
    end;
  end
  else
  writeln('owibka');
  readln();
end.            
vedro-compota's picture

засчитано

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