Задача 15 урок 13.1

Задача 15 урок 13.1

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

Например, для N=20 получим результат:

8 10 3 12 14 3 16 18 3 20

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

Решение вложенными циклами:

program zadacha15;
var i, j, n, m: integer;
begin
  writeln('Vvedite chislo N:');
  readln(n);
  i := 8;
  m :=4;
    if (n >= 8) and (n > 0) then
    while i<=n do
      begin
        j:=1;
        while j <= m do
          begin
            if (i mod 2 = 0) and (i<=n) then
              write(i,' ');
              i:=i+1;
              j:=j+1;
          end;
        if i <= n then
          write('3 ');
      end
    else
      writeln('Chislo ne sootvetstvyet kriteriyam');
  readln();
end.

Решение в 1 цикл:

program zadacha15;
var i, j, n: integer;
begin
  writeln('Vvedite chislo N:');
  readln(n);
  i := 8;
  j:=1;
    if (n >= 8) and (n > 0) then
        while i <= n do
          begin
            write(i,' ');
            i := i + 2;
            j:=j+1;
              if j = 3 then
                begin
                  write('3 ');
                  j:=1;
                end;
          end
    else
      writeln('Chislo ne sootvetstvyet kriteriyam');
  readln();
end.