Решение задачи №5 .Глава 14.Вывод последовательности от 1 до N "ёлочкой" с использованием процедуры
Primary tabs
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N "ёлочкой", например для N=17:
1
2 3
4 5 6
7 8 9 10
11 12 13 14
15 16 17
ПРИМЕЧАНИЕ: для вывода очередной строки используйте отдельную подпрограмму
program procedure_conclusion_piramid;
var k,l,length_piramid :integer; // секция обьявления переменных
procedure conclusion_piramid( var l1, k1 ,length_pir : integer );
begin // начало тела процедуры
var j : integer;
for j:=1 to k1 do
begin
if ( length_pir >= l1 ) then // если не вышли за диапазон
begin
write( l1 , ' ' ); // вывод символа
l1 += 1; // увеличиваем число на 1
end;
end;
writeln(); // переносим строку
k1 += 1; // длинна строки больше на 1
end; // завершение тела процедуры
begin // начало тела основной программы
length_piramid := 56; // произвольная длинна последовательности
k := 1; // количество символов в начальной строке
l := 1;
while ( length_piramid >= l ) do
begin
conclusion_piramid( l, k ,length_piramid); // вызов процедуры с передачей аргументов
end;
readln(); // удержание консоли
end. // завершение тела основной программы
- Log in to post comments
- 4960 reads
vedro-compota
Thu, 05/14/2020 - 19:39
Permalink
подпрограмма должна выводить
подпрограмма должна выводить строку целиком
_____________
матфак вгу и остальная классика =)
sergio
Fri, 06/12/2020 - 09:50
Permalink
поправил
program procedure_conclusion_piramid; procedure conclusion_piramid( var l1 : integer; k1, length_pir : integer ); var j : integer; begin // начало тела процедуры for j:=1 to k1 do begin if ( length_pir >= l1 ) then // если не вышли за диапазон begin write( l1 , ' ' ); // вывод символа l1 += 1; // увеличиваем число на 1 end; end; end; // завершение тела процедуры var k,l,length_piramid :integer; // секция обьявления переменных begin // начало тела основной программы writeln( 'input piramid length : ' ); readln( length_piramid ); k := 1; // количество символов в начальной строке l := 1; while ( length_piramid >= l ) do begin conclusion_piramid( l, k, length_piramid ); // вызов процедуры с передачей аргументов writeln(); // переносим строку k += 1; // длинна строки больше на 1 end; readln(); // удержание консоли end. // завершение тела основной программыvedro-compota
Thu, 06/11/2020 - 19:59
Permalink
function conclusion_piramid -
function conclusion_piramid -- лучше сделать процедурой, убрать лишние передачи значений по ссылке.
_____________
матфак вгу и остальная классика =)