Задача 22 урок 13.1
Primary tabs
Задача 22 урок 13.1
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" росла волнами.
var N, M, a, b, c: integer;
d: boolean;
begin
// 'a' счетчик основного ряда N
b := 1; //необходимое кол-во в ряду
c := 0; //счетчик кол-ва в ряду
d :=true; //флаг возрaстания/убывания (true+/false-)
M := 2; //максимальная "высота"
writeln('Vvedite N > 0');
readln(N); //основной ряд
for a:=1 to N do
begin
write(a, ' '); //в каждой итерации
c := c + 1; //
if (c=b) AND (d) then //условие нарастания
begin
b := b + 1;
c := 0;
writeln();
end
else if (c=b) AND (Not d) then //условие убывания
begin
b := b - 1;
c := 0;
writeln();
end;
if (b=M) AND d then //условие смены флага нарастания и
begin // максимальной "высоты"
d := false;
M := M + 1;
end
else if (b=1) AND Not d then //условие смены флага убывания
d := true;
end;
readln();
end.- Log in to post comments
- 1723 reads
vedro-compota
Tue, 08/17/2021 - 21:44
Permalink
по аналогии с http://fkn
по аналогии с http://fkn.ktu10.com/?q=comment/5247#com...
_____________
матфак вгу и остальная классика =)
boris68
Tue, 08/24/2021 - 15:30
Permalink
var N, M, a, b, c: integer;
var N, M, a, b, c: integer; d: boolean; begin // 'a' счетчик основного ряда N b := 1; //необходимое кол-во в ряду c := 0; //счетчик кол-ва в ряду d :=true; //флаг возрaстания/убывания (true+/false-) M := 2; //максимальная "высота" writeln('Vvedite N > 0'); readln(N); //основной ряд for a:=1 to N do begin write(a, ' '); //в каждой итерации c := c + 1; // if (c=b) then //условие нарастания begin c := 0; writeln(); if d then b := b + 1 else b := b - 1; end; if (b=M) AND d then //условие смены флага нарастания и begin // максимальной "высоты" d := false; M := M + 1; end else if (b=1) AND Not d then //условие смены флага убывания d := true; end; readln(); end.