Program risunok;
var N:byte;
procedure kvadrat_iz_zvezd(N:byte);
var k,i:byte;
begin
for k:=1 to N do begin
for i:=1 to N-1 do begin
write('* ');
end;
writeln('*');
end;
end;
begin
repeat
writeln('Введите целое положительное число. Для окончания работы нажмите В чём назначение каждой из программ?
2. Какие виды подпрограмм использованы в этих программах?
3. Где располагается подпрограмма в тексте основной программы?
4. Какую структуру имеет подпрограмма?
5. В чём разница между процедурой и функцией?
6. В каких случаях удобно использовать подпрограммы?
procedure MatInput(M:array[,] of integer);
begin
var nr:=Length(M,0);
var nc:=Length(M,1);
WritelnFormat('Введите построчно массив размером {0}x{1}',nr,nc);
for var i:=0 to nr-1 do
for var j:=0 to nc-1 do
Read(M[i,j]);
end;
function S(M:array[,] of integer):integer;
begin
Result:=0;
var Zero:integer;
for var i:=0 to Length(M,0)-1 do begin
Zero:=1;
for var j:=0 to Length(M,1)-1 do
if M[i,j]=0 then begin Zero:=0; Break end;
Result+=Zero;
if Result=1 then begin Result:=0; Exit end
end;
Result:=1
end;
begin
var A:=new integer[3,4]; MatInput(A);
var B:=new integer[3,3]; MatInput(B);
Writeln(S(A));
Writeln(S(B));
end.
Тестовое решение:
Введите построчно массив размером 3x4
1 2 3 4
5 6 7 8
9 0 1 2
Введите построчно массив размером 3x3
1 2 0
2 0 1
0 1 0
0
1