Урок 11 задача 6

Модификация одной из пред. задач: Пользователь вводит целые числа. Пока он не введёт число большее 15, в ответ на каждое введённое число выводите сумму этого числа и пред-предыдущего введённого им числа, если это число чётное, иначе просто запрашивать новое число. Если же введённое число больше 15, то цикл необходимо завершить. В первом витке цикла все "предыдущие" числа можно считать единицами.

Урок 11 задача 6

program U11z6;
var
  a,b,c: integer;
  //a  - предпредыдущее число
  //b  - предыдущее число
  //c  - третье вводимое число

begin
  a:=1;
  while (a<15) do
      begin
        if (a>15) then
            writeln('end cikl');
        b:=a;
        c:=b;
        writeln('Vvedite cislo');
        readln(a);
           if (c mod 2) = 0 then
             write('c', '+', 'a = ', (c + a))
           else
             writeln('Vvedite new cislo');
              readln(a);
        end;

  readln();

end.
vedro-compota's picture

b:=a;
c:=b;

то же самое что:

b:=a;
c:=a;

ожидается ли такое поведение?

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

program U11z6;
  var a,b,c:integer;

begin
  a:=1;
  b:=1;
  c:=1;
  while(a <= 15) do
  begin
     c:=b;
     b:=a;
     writeln('vvedite cheloe chislo:');
     readln(a);
       if(a mod 2)=0 then
         writeln('a =',a,' ', 'b =',b,' ', 'c =', 
            c,' ', 'Summ = ', a + b + c);
  end;

  writeln('chikl zavershon');
  readln();

end

.

vedro-compota's picture

проверить на соответствие условию:

сумму этого числа и пред-предыдущего

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

program U11z6;
  var a,b,c:integer;

begin
  a:=1;
  b:=1;
  c:=1;
  while(a <= 15) do
  begin
     c:=b;
     b:=a;
     writeln('vvedite cheloe chislo:');
     readln(a);
     if(a mod 2)=0 then
         writeln('a =',a,' ','c =', c,' ','Summ = ', a + c);
  end;

  writeln('chikl zavershon');
  readln();

end.