Дано число N, вывести треугольник из символов * - Prolog

Узнай цену своей работы

Формулировка задачи:

Добрый день. Изучаю рекурсию на прологе, писала суммы, факториалы - с этим понятно. Но эта задача ставит в тупик. Намекните пожалуйста, в какую сторону думать Дано число N вывести треугольник, выровненный по левому краю, где N это количество символов в самом нижнем ряду пример: дано 3 на экран выводится: * ** ***

Решение задачи: «Дано число N, вывести треугольник из символов *»

textual
Листинг программы
ряд(0):-!.
ряд(N) :-
    write('*'),
    NN is N-1,
    ряд(NN).
 
треугольник(0):-!.
треугольник(N) :-
    NN is N-1,
    треугольник(NN),
    ряд(N),
    nl.

Объяснение кода листинга программы

  1. Ряд(0) :-!. - Оператор ! обозначает конец задачи, то есть данное утверждение истинно только если не выполнено ни одно из его следствий. В данном случае это пустой ряд.
  2. Ряд(N) :- write(''), NN is N-1, ряд(NN). - Выводится символ '', затем значение N уменьшается на единицу и рекурсивно вызывается процедура для нового значения NN.
  3. Треугольник(0) :-!. - Пустой треугольник.
  4. Треугольник(N) :- NN is N-1, треугольник(NN), ряд(N), nl. - Вызывается процедура для нового значения NN, выводится символ '*' и новый ряд, затем выводится символ новой строки '\n'.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы