Введенную с клавиатуры строку вывести на экран дисплея наоборот.
Текст программы:
domains
l=char*
predicates
nondeterm result
nondeterm str_list(string,l)
nondeterm rev(l,l)
nondeterm revers (l,l,l)
nondeterm list_str(l,string)
clauses
str_list("",[]).
str_list(S,[H|T]):-
frontchar(S,H,S1),
str_list(S1,T).
rev (L, L1):-
revers (L, [ ], L1).
revers ([ ], L1, L1).
revers ([H|T], L, L1):-
revers (T, [H|L], L1).
list_str([],"").
list_str([H|T],S):-
list_str(T,S1),
frontchar(S,H,S1).
result:-
write("Введите строку"),nl,
readln(S),nl,
str_list(S,L),
rev(L,L1),
list_str(L1,S1),
write("Первоначальная строка:"),nl,
write(S),nl,nl,
write("Инвертированная строка:"),nl,
write(S1),nl,nl.
goal
result.
|