Списки - Prolog (226300)

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

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

Прошу помощи,в дописании кода! Задача:Написать программу, которая позволит совершить разбор предложения, заданного в виде списка, на слова и отсортировать их в алфавитном порядке. Вот мой код:
Листинг программы
  1. implement main
  2. open core,console
  3. domains
  4. list=string*
  5. predicates
  6. bubble_sort : (List,List).
  7. perm: (List,List).
  8. sep: (string, list, list).
  9. add_el: (string, list, list).
  10.  
  11. clauses
  12. sep("", List, List):- !.
  13. sep(String, List, ListOut):-fronttoken(String, Word, Rest), add_el(Word, List, Lout), sep(Rest, Lout, ListOut),!.
  14. add_el(W, List, [W|List]).
  15. add_el("", List, List)
  16.  
  17. bubble_sort ():-
  18. perm ([X,Y|T],):-X>Y,!.
  19. perm ([X|T,[X|T1):-perm(T,T1).
  20. bubble (L,Li):-perm (L,Lnew),!,bubble (Lnew,Li).
  21. bubble (L,L).

Решение задачи: «Списки»

textual
Листинг программы
  1. % Black Fregat
  2.  
  3. implement main
  4.     open core
  5.  
  6. clauses
  7.     run() :-
  8.         Предложение = console::readLine(),
  9.         СписокСлов = string::split(Предложение, " "),
  10.         СортированныйСписок = list::sort(СписокСлов),
  11.         console::write(СортированныйСписок),
  12.         _ = console::readLine().
  13.  
  14. end implement main
  15.  
  16. goal
  17.     console::run(main::run).

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

  1. Сначала программа запрашивает у пользователя ввод строки.
  2. Затем эта строка разделяется на отдельные слова, которые сохраняются в переменной СписокСлов.
  3. Следующим шагом список слов сортируется в порядке возрастания и сохраняется в переменной СортированныйСписок.
  4. Наконец, отсортированный список выводится на консоль.
  5. После этого программа снова запрашивает у пользователя ввод строки.

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


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

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

15   голосов , оценка 4.267 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы