Задача 4 Урок 14

Задача 4 Урок 14

Составьте программу, которая выводит на экран прямоугольный флаг N×M вида (с чередованием плюсов и минисов в строках):
- - - - - -
+ + + + + +
- - - - - -
+ + + + + +
- - - - - -
-- для вывода очередной строки используйте подпрограмму, принимающую на вход нужные агрументы.

var
   m, n, i, j: integer;
   procedure line(j, n: integer);
    begin
      while (j <= n) do
       begin
         if ((i mod 2) <> 0) then
            write('- ')
         else
            write('+ ');
         j:= j + 1;
       end;
    end;

begin
  i:= 1;
  j:= 1;
  m:= 5;
  n:= 6;
  while (i <= m) do
  begin
    line(j, n);
    writeln();
    i:= i + 1;
    j:= 1;
  end;
  readln();
end.     
vedro-compota's picture

решите без глобальных

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

Переделал без глобальных переменных.

var
   m, n, i, j: integer;
   procedure line(a, b, n: integer);
    begin
      while (a <= n) do
       begin
         if ((b mod 2) <> 0) then
            write('- ')
         else
            write('+ ');
         a:= a + 1;
       end;
    end;

begin
  i:= 1;
  j:= 1;
  m:= 5;
  n:= 6;
  while (i <= m) do
  begin
    line(j, i, n);
    writeln();
    i:= i + 1;
    j:= 1;
  end;
  readln();
end.