Урок 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
- 399 reads