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

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

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

program lesson14_4;

procedure print(ch : char; k : integer);
var
    i : integer;
begin
    for i := 1 to k do
        write(ch, ' ');
    writeln();
end;

var
    n, m, i: integer;
begin
    n := 7;
    m := 10;
    for i := 1 to n do
        if i mod 2 = 0 then
            print('+', m)
		else
            print('-', m);
	readln();
end.
vedro-compota's picture

if i mod 2 = 0 then
            print('+', m)
        else
            print('-', m);

вынесем это в процедуру

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

program lesson14_4;

procedure print(a, b : integer);
var
    i : integer;
begin
    for i := 1 to b do
        if a mod 2 = 0 then
            write('+ ')
	    else
            write('- ');
    writeln();
end;

var
    n, m, i: integer;
begin
    n := 5;
    m := 10;
    for i := 1 to n do
        print(i, m);
	readln();
end.
vedro-compota's picture

 for i := 1 to b do
        if a mod 2 = 0 then

переписать оптимальнее по числу сравнений

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

program lesson14_4;

procedure print(a, b : integer);
var
    i : integer;
begin
    if a mod 2 = 0 then
        for i := 1 to b do
            write('+ ')
	else
        for i := 1 to b do
            write('- ');
    writeln();
end;

var
    n, m, i: integer;
begin
    n := 10;
    m := 10;
    for i := 1 to n do
        print(i, m);
	readln();
end. 
vedro-compota's picture

решение засчитано

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