Урок 24 Задача 9

Урок 24 Задача 9:

Выведете последовательность следующего вида:
Пользователь вводил число N - максимальное значение и число M, которое отвечало бы за длину возрастающего фрагмента, например для M=4

Как оформлять решение:
Напишите класс, который будет принимать в конструкторе, параметры, которые нужны для вывода последовательности
Пусть за вывод возрастающего фрагмента отвечает отдельный метод
За вывод тройки тоже пусть отвечает отдельный метод
Клиентский код, должен иметь возможность вывести последовательность в консоль вызовом одного метода do() без параметров

type
  Posledovatelnost = class
  public
    chisloN, chisloM: integer; // поля
    constructor create(chisloNValue, chisloMValue: integer);
    procedure doing;
  end;

procedure Posledovatelnost.doing;

{процедура внутри метода, отвечает за вызов тройки}
procedure trojka(i, M: integer);
begin
  if i mod M = 0 then
    write (3, ' ');
end;

{процедура внутри метода, отвечает за вывод фрагмента}
procedure fragment(N, M: integer);
var
  i: integer;
begin
  for i:=1 to N do
  begin
    write (i, ' ');
    trojka (i, M); // вызов процедуры, отвечающей за вывод тройки
  end;
end;

begin
  fragment(self.chisloN, self.chisloM);
end;

constructor Posledovatelnost.create(chisloNValue, chisloMValue: integer);
begin
  self.chisloM := chisloMValue;
  self.chisloN := chisloNValue;
end;

var
  primer: Posledovatelnost; // переменная типа класса Posledovatelnost
begin
  {создаем объект, передаем длину последовательности и длину объекта}
  primer := Posledovatelnost.create(27, 4);
  primer.doing;                              // вызываем метод
  readln();
end.
vedro-compota's picture

засчитано

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