Дано число N, вывести треугольник из символов * - Prolog
Формулировка задачи:
Добрый день. Изучаю рекурсию на прологе, писала суммы, факториалы - с этим понятно. Но эта задача ставит в тупик.
Намекните пожалуйста, в какую сторону думать
Дано число N вывести треугольник, выровненный по левому краю, где N это количество символов в самом нижнем ряду пример: дано 3 на экран выводится:
*
**
***
Решение задачи: «Дано число N, вывести треугольник из символов *»
textual
Листинг программы
ряд(0):-!. ряд(N) :- write('*'), NN is N-1, ряд(NN). треугольник(0):-!. треугольник(N) :- NN is N-1, треугольник(NN), ряд(N), nl.
Объяснение кода листинга программы
- Ряд(0) :-!. - Оператор ! обозначает конец задачи, то есть данное утверждение истинно только если не выполнено ни одно из его следствий. В данном случае это пустой ряд.
- Ряд(N) :- write(''), NN is N-1, ряд(NN). - Выводится символ '', затем значение N уменьшается на единицу и рекурсивно вызывается процедура для нового значения NN.
- Треугольник(0) :-!. - Пустой треугольник.
- Треугольник(N) :- NN is N-1, треугольник(NN), ряд(N), nl. - Вызывается процедура для нового значения NN, выводится символ '*' и новый ряд, затем выводится символ новой строки '\n'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д