Урок 14. Задача №4. Решение.
Primary tabs
Составьте программу, которая выводит на экран прямоугольный флаг N×M вида (с чередованием плюсов и минусов в строках):
- - - - - - + + + + + + - - - - - - + + + + + + - - - - - --- для вывода очередной строки используйте подпрограмму, принимающую на вход нужные аргументы.
procedure myWrite(s : string);
begin
write(s);
end;
procedure My_writeln();
begin
writeln();
end;
var i, j, width, length : integer;
plus, minus : string;
begin
plus := '+ ';
minus := '- ';
width := 5;
length := 6;
for i := 1 to width do
begin
while(j < length) do
begin
j += 1;
if(i mod 2 = 1) then
myWrite(minus)
else
myWrite(plus);
end;
j := 0;
My_writeln();
end;
readln(); // Удержание консоль
end.// Завершение программы - Log in to post comments
- 4414 reads
vedro-compota
Sun, 05/10/2020 - 19:57
Permalink
подразумевается, что
подразумевается, что подпрограмма будет отвечать за печать самой строки, а не только за печать символа переноса), т.е. она должна уметь выводить:
или
(конечно, опираясь на какие-то переданные снаружи параметры, ведь строки разные)
_____________
матфак вгу и остальная классика =)
Firons
Tue, 05/12/2020 - 11:54
Permalink
Исправлено
procedure myWrite(x : integer; s : string); var k : integer; begin for k := 1 to x do write(s); end; procedure My_writeln(); begin writeln(); end; var i, j, width, length : integer; plus, minus : string; begin width := 5; length := 6; plus := '+ '; minus := '- '; for i := 1 to width do begin if(i mod 2 = 1) then myWrite(length, minus) else myWrite(length, plus); My_writeln(); end; readln(); // Удержание консоль end.// Завершение программыvedro-compota
Sat, 05/16/2020 - 10:12
Permalink
if(i mod 2 = 1) -- убрать в
-- убрать в подпрограмму.
_____________
матфак вгу и остальная классика =)
Firons
Sat, 05/16/2020 - 18:18
Permalink
Исправлено.
procedure myWrite(x: integer); var j, length: integer; plus, minus: string; begin length := 6; plus := '+ '; minus := '- '; for j := 1 to length do begin if(x mod 2 = 1) then write(minus) else write(plus); end; end; procedure My_writeln(); begin writeln(); end; var i, width: integer; begin width := 5; for i := 1 to width do begin myWrite(i); My_writeln(); end; readln(); // Удержание консоль end.// Завершение программы