Урок 13.1 Задача 22
Primary tabs
Пользователь передает целые положительные число N и M, выведете на экран последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1.
var
a, i, j, n, m :integer;
x: boolean; // переключатель ограничителя чисел в строке
begin
j:=1; // ограничитель числел в строке, начинаем с 1
write('Введите число N: '); // просим ввести максимальное число для счетчика со сплошной нумерацией
readln(n); // считываем максимальное число
write('Введите число M: '); // просим ввести ширину, "вершину"
readln(M); // считываем ширину
for a:=1 to n do // цикл со счетчиком со сплошной нумерацией от 1 до максимального числа
begin
if (j=1) then // когда ограничитель чисел в строке сравнялся с 1, "яма"
x:=false // переключатель ставим в положение фолс
else if (j=m) then // когда ограничитель чисел в строке сравнялся с вершиной
x:=true; // переключатель ставим в положение тру
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: 51
Введите число M: 5
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
44 45 46
47 48
49
50 51
- Log in to post comments
- 511 reads