Урок 13.1 Задача 23
Primary tabs
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" росла волнами.
var
a, i, j, n, m :integer;
x: boolean; // переключатель ограничителя чисел в строке
begin
j:=1; // ограничитель чисел в строке, начинаем с 1
m:=2; // "вершина", начинаем с 2
write('Введите число N: '); // просим ввести максимальное число для счетчика со сплошной нумерацией
readln(n); // считываем максимальное число
for a:=1 to n do // цикл со счетчиком со сплошной нумерацией от 1 до максимального числа
begin
if (j=1) then // когда ограничитель чисел в строке сравнялся с 1, "яма"
x:=false // переключатель ставим в положение фолс
else if (j=m) then // когда ограничитель чисел в строке сравнялся с вершиной
begin
x:=true; // переключатель ставим в положение тру
m:=m+1; // увеличиваем вершину на 1
end;
i:=i+1; // увеличиваем счетчик чисел в строке на 1
write(a, ' '); // выводим на экран значение сплошного счетчика
if (i=j) then // когда счетчик чисел в строке сравнялся с ограничителем чисел в строке
begin
writeln (); // переходим на новую строку
if (x = false) then // проверяем переключатель, если в положении фолс (после ямы)
j:=j+1 // увеличиваем ограничитель чисел на 1
else // если переключатель в положении тру (после вершины)
j:=j-1; // из ограничителя чисел вычитаем 1
i:=0; // сбрасываем счетчик чисел в строке
end;
end;
readln();
end. Вывод в консоли:
Введите число N: 43
1
2 3
4
5 6
7 8 9
10 11
12
13 14
15 16 17
18 19 20 21
22 23 24
25 26
27
28 29
30 31 32
33 34 35 36
37 38 39 40 41
42 43
- Log in to post comments
- 495 reads
vedro-compota
Wed, 11/09/2022 - 18:48
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)