Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
образования
«Сибирский государственный университет телекоммуникаций и
информатики»
(СибГУТИ)
РАСЧЕТНО-ГРАФИЧЕСКОЕ ЗАДАНИЕ
по дисциплине «Функциональное и логическое программирование»
Вариант 6
Выполнил:
студент группы ИП-916
Работу проверила:
Белевцова Екатерина Андреевна
Новосибирск 2021 г.
Задание
1. Осуществите циклический сдвиг в списке на n элементов вправо.
2. В текстовом файле, состоящем из нескольких строк, упорядочите
слова в каждой строке лексикографически. Сформируйте новый файл.
Алгоритмы программ
Задание 1:
Задание 2:
Задание 2:
%%%%%%%%%%%%%%%%%
/*<Задание 2>*/
move_max_to_end([], []):-!.
move_max_to_end([Head], [Head]):-!.
move_max_to_end([First, Second|Tail],
[Second|ListWithMaxEnd]):-First @> Second,
!,move_max_to_end([First|Tail], ListWithMaxEnd).
move_max_to_end([First, Second|Tail], [First|ListWithMaxEnd]):-
move_max_to_end([Second|Tail], ListWithMaxEnd).
bubble_sort(SortedList, SortedList):-
move_max_to_end(SortedList, DoubleSortedList),SortedList =
DoubleSortedList, !.
bubble_sort(List, SortedList):-move_max_to_end(List,
SortedPart),bubble_sort(SortedPart, SortedList).
%atomic_list_concat(L,R,S).
writeFile1([]):-!.
writeFile1([H|T]):-writeFile(H),write("\n"),writeFile1(T).
writeFile([]):-!.
writeFile([H|T]):-write(H),write(" "),writeFile(T).
strssort([F|Tail]):-
readln(T),T\=[],!,/*print(T),*/bubble_sort(T,F),/*print(F),*/strssort
(Tail).
strssort([]).
rgr2():-
see('rgr2in.txt'),strssort(R),/*print(R),*/open('rgr2out.txt',write,FN)
,set_output(FN),writeFile1(R),close(FN),seen.