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

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

Модифицируйте решение предыдущей задачи. так чтобы пользователь вводил второе число M, которое отвечало бы за длину возрастающего фрагмента, например для M=4:
8101214четыре числа316182022четыре числа3....3....и т.д.
Заметьте. что в предыдущей задаче M было зафиксировано =2:
810два числа31416два числа3....3....и т.д.

Решение:

program Project1;
var w,N,q,M: integer;

begin
  writeln('Введите чисо ограничитель: ');
  readln(m);
  write('Ввидите число больше 7: ');
  readln(N);
  if n >= 0 then
  begin
    while w<=n do
    begin
      q:=q+1;
      if(q > m) then
      begin
        write(3, '  ');
        q:=0
      end
      else
      begin
        write(w, ' ');
        w:=w+2;
      end
    end
  end
      else
        writeln('Опаньки ошибочка');
      readln();
end.   
vedro-compota's picture

Решение нормальное.

Переписать вложенными циклами

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

program Project1;
var w,N,q,M: integer;

begin
  writeln('Введите чисо ограничитель: ');
  readln(m);
  write('Ввидите число больше 7: ');
  readln(N);
  if n >= 0 then
  repeat
  begin
    while w<=n do
    begin
      q:=q+1;
      if(q > m) then
      begin
        write(3, '  ');
        q:=0
      end
      else
      begin
        write(w, ' ');
        w:=w+2;
      end
    end
  end
  until (n>0)
      else
        writeln('Опаньки ошибочка');
      readln();
end.               
vedro-compota's picture

1) begin end не нужны

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

vedro-compota's picture

сначала решим 15-ю задачу вложенными циклами, потом вернемся сюда

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

program Project1;
var w,N,q,M: integer;

begin
  writeln('Введите чисо ограничитель: ');
  readln(m);
  write('Ввидите число больше 7: ');
  readln(N);
  if n >= 0 then
  repeat
    while w<=n do
    begin
      q:=q+1;
      if(q > m) then
      begin
        write(3, '  ');
        q:=0
      end
      else
      begin
        write(w, ' ');
        w:=w+2;
      end
    end
  until (n>0)
      else
        writeln('Опаньки ошибочка');
  readln();
end.                                  
vedro-compota's picture

ставим на паузу до решения 15-ой задачи

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

program Project1;
var w,N,q,M: integer;

begin
  w := 0;
  q := 0;
  writeln('Введите чисо ограничитель: ');
  readln(m);
  write('Ввидите число больше 7: ');
  readln(N);
  if n >= 0 then
  repeat
    while w<=n do
    begin
      q:=q+1;
      if(q > m) then
      begin
        write(3, '  ');
        q:=0
      end
      else
      begin
        write(w, ' ');
        w:=w+2;
      end
    end
  until (n>0)
      else
        writeln('Опаньки ошибочка');
  readln();
end.                             
vedro-compota's picture

  1. исправить форматирование
  2. начинать последовательность с 8
  3. убрать двойные пробелмы при вывода

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

program Project1;

var w,N,q,M: integer;

begin
  w := 8;
  q := 0;
  writeln('Введите чисо ограничитель: ');
  readln(m);
  write('Ввидите число больше 7: ');
  readln(N);
  if n >= 0 then
    repeat
      while w<=n do
        begin
          q:=q+1;
        if(q > m) then
          begin
            write(3, '  ');
          q:=0
          end
        else
          begin
            write(w, ' ');
            w:=w+2;
          end
        end
    until (n>0)
      else
        writeln('Опаньки ошибочка');
  readln();
end.                 
vedro-compota's picture

провести отладку. попробовать исправить еще раз

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

program Project1;

var w,N,q,M: integer;

begin
   w := 0;
  q := 0;
  writeln('Введите чисо ограничитель: ');
  readln(m);
  write('Ввидите число больше 7: ');
  readln(N);
  if n >= 0 then
    repeat

      while w<=n do

        begin
          q:=q+1;
        if(q > m) then
          begin
            write(3, ' ');
          q:=0
          end
        else

          begin
            write(w, ' ');
            w:=w+2;
          end
        end
    until (n>0)
      else
        writeln('Опаньки ошибочка');
  readln();

end

.

vedro-compota's picture

засчитано

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