Урок 13.1 Задача 20
Primary tabs
Пользователь передает целое положительное число N, выведете на экран последовательность от 1 до N "ёлочкой", например для N=18:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно).
Решите указанными двумя способами.
Одним циклом:
var
a, i, j, n :integer;
begin
j:=1; // ограничитель числел в строке, начинаем с 1
write('Введите число N: '); // просим ввести максимальное число
readln(n); // считываем максимальное число
for a:=1 to n do // счетчик со сплошной нумерацией от 1 до максимального числа
begin
i:=i+1; // увеличиваем счетчик чисел в строке на 1
write(a, ' '); // выводим значения счетчика со сплошной нумерацией на экран в строку
if (i=j) then
begin // если счетчик чисел сравнялся с ограничителем
writeln (); // переходим на новую строку
j:=j+1; // увеличиваем ограничитель на 1
i:=0; // обнуляем счетчик чисел в строке
end;
end;
readln();
end.
Вывод в консоли:
Введите число N: 34
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
Вложенными циклами:
var
a, i, j, n :integer;
begin
write('Введите число N: '); // просим ввести максимальное число
readln(n); // считываем максимальное число
while (a<n) do // внешний цикл
begin
i:=0; // сбрасываем счетчик чисел в строке
j:=j+1; // увеличиваем ограничитель чисел в строке на 1
while ((i<j) and (a<n)) do // вложенный цикл, работает, пока счетчик чисел не дойдет до ограничителя и пока сплошной счетчик не дойдет до максимального числа
begin
a:=a+1; // увеличиваем сплошной счетчик на 1
i:= i+1; // увеличиваем счетчик чисел в строке на 1
write(a, ' '); // выводим значение сплошного счетчика на экран в строку через пробел
end; // конец вложенного цикла
writeln (); // переходим на новую строку
end;
readln();
end. Вывод в консоли:
Введите число N: 24
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17 18 19 20 21
22 23 24
- Log in to post comments
- 615 reads