Другие языки программирования и технологии

Нужна помощь по языку программирования PROLOG

На языке PROLOG написать программу. Условие: Вывести на экран серию из символов "/\" (две косых черты, соответственно, на каждый такой "пик" уходит два символа), количество которых задает пользователь. Буду очень признательна за помощь.
Текст программы:

domains /*Razdel opisania tipov dannix*/
N=integer.

predicates /*Razdel opisania predikatov*/
povtor(N) /*Odnomestnii predicat*/

clauses /*Razdel faktov i pravil*/
povtor(0):-!. /*Yslovie okonchania rekyrsii*/
povtor(N):-write("/| "),N1=N-1,povtor(N1). /*Rekyrsivnoe pravilo*/

goal /*Vnytren. cel*/
write("Vvedite kolichestvo /| "),readint(X),povtor(X),nl,
write("Dlia vixoda nagmite lub. klav."),readchar(_).

Результат работы программы:

Александр Ищенко
Александр Ищенко
11 688
Лучший ответ
Колян Вялов спасибо, только выдает ошибку, что где-то пропущены кавычки. а где, не понимаю :(
Какая-то плохая задача для пролога, она слишком процедурная.

Вот мой взгляд на задачу на диалекте swi-prolog:

%**
%* Предикат sawtooth_sequence(Sequence, Length):
%* Sequence есть список символов, представляющий Length зубцов.
%**

% База рекурсивного определения: 0 зубцов представляет пустой список.
sawtooth_sequence(Sequence, Length)
:- Length is 0, Sequence = [].

% Рекурсия: Sequence есть список символов, представляющий Length зубцов, при
% числе Length зубцов больше нуля, если в начале Sequence есть зубец
% (символы "/\" [47, 92]), а оставшаяся часть ---SequenceTail суть
% список, представляющий Length-1 зубец.
sawtooth_sequence(Sequence, Length)
:- Length > 0, TailLength is Length-1,
sawtooth_sequence(SequenceTail, TailLength),
Sequence = [47, 92 | SequenceTail].

%**
%* string_println(String):
%* Посимвольная печать строки.
%**

% Для пустой строки необходиво вывести символ перевода строки \n (ASCII 10).
string_println(String)
:- String = [], put(10).

% Если строка содержит в начале символ, то нужно вывести первый символ строки,
% а затем напечатать ее конец.
string_println(String)
:- String = [Char | StringEnd], put(Char),
string_println(StringEnd).

%**
%* main: Запрашивает у пользователя число зубцов, потом строит
%* с помощью предиката sawtooth_sequence последовательность зубцов,
%* А затем выводит ее на экран.
%**
main
:- string_println("Введите число зубцов"),
read(Length),
sawtooth_sequence(Sequence, Length),
string_println(Sequence).
SB
San-Amigo Beat In Life
2 433
Колян Вялов Мне диалекты совсем незнакомы... Если Вам не сложно, напишите, пожалуйста.
Колян Вялов *на просто прологе