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

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

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

Решение:

var n : integer;

begin
  while (true) do
    begin
      writeln('Введите целое число');
      readln(n);
      if (n > 0) then
        for n := 2 to n do
          begin
            if ((n mod 2) = 0) then
            writeln(n, ' ')
          end
      else
        writeln('Ошибочка');
    end;
  readln();
end.                  
vedro-compota's picture

1) Уйти от бесконечного цикла
2)

for n := 2 to n do

-- нужно начинать с 1

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

var n : integer;

begin
  while (true) do
    begin
      writeln('Введите целое число');
      readln(n);
      if (n > 0) then
        for n := 1 to n do
          begin
            if ((n mod 2) = 0) then
            writeln(n, ' ')
          end
      else
        writeln('Ошибочка');
      break;
    end;
  readln();
end.    
vedro-compota's picture

  while (true) do

в этой задаче достаточно спросить число 1 раз, внешний цикл не нужен - тем более бесконечный

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

program Project1;
var n : integer;

begin
  writeln('Введите целое число');
  readln(n);
  if (n > 0) then
  for n := 1 to n do
   begin
     if ((n mod 2) = 0) then
   writeln(n, ' ')
   end
     else
       writeln('Ошибочка');
     readln();
end.
vedro-compota's picture

исправить форматирование

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