Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_РЛП_4_форм.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
644.61 Кб
Скачать

4.2.Задание n2. Работа со списками

4.2.1.Методические указания

В практическом плане:

  • определить заданное отношение между списками и их элементами средствами языка ПРОЛОГ;

  • не использовать предикаты ввода-вывода;

  • не использовать сложные встроенные предикаты, выполняющие специфические операции над списками;

  • протестировать целевой и другие предикаты, получить явные задания отношений, построить различные сечения отношений;

  • при невозможности построить сечение, необходимо объяснить причину.

В теоретическом плане:

    • записать словесную интерпретацию правил ПРОЛОГ- программы;

    • записать программу посредством формул логики предикатов.

4.2.2.Варианты

  1. Даны списки целых чисел L1, L2. Построить список L3, состоящий из элементов списка L1, к которому добавлены все элементы списка L2, не входящие в L1.

  2. Даны списки целых чисел L1, L2. Построить список L3 по следующему правилу: если L1 является подсписком L2, то из L2 исключить L1; в противном случае присоединить L1 к L2.

  3. Множества заданы списками целых чисел L1 и L2. Получить в виде списка L3 множество, представляющее собой объединение множеств L1 и L2.

  4. Множества заданы списками целых чисел L1 и L2. Получить в виде списка L3 множество, представляющее собой пересечение множеств L1 и L2.

  5. Множества заданы списками строк L1 и L2. Получить в виде списка L3 множество L1\L2.

  6. Дан список L1, элементом которого являются списки целых чисел. Построить список L2, изменив порядок элементов в L1 на обратный, и изменить порядок на обратный в каждом подсписке.

  7. Дан список литер L1. Построить список L2, исключив из L1 все повторяющиеся литеры.

  8. Даны списки литер L1 и L2. Построить список L3 по следующему правилу: если L1 является префиксом L2, то исключить этот префикс и добавить его в качестве суффикса; в противном случае - присоединить к L1 список L2.

  9. Дан список литер L. Исключить из списка все строчные литеры.

  10. Дан список L. Если длина списка нечетна, то напечатать центральный элемент. В противном случае распечатать первую половину списка.

  11. Дан список L. Если длина списка нечетна, построить список L1, поменяв местами левую и правую часть списка, в противном случае оставить список без изменения.

  12. Даны два списка символов L1, L2. Если L1 есть подсписок L2, то определить следующий после L1 элемент списка L2, иначе ответом является слово no.

  13. Список чисел разделить на 3 списка: числа, меньшие данного числа; равные данному; большие данного.

  14. Даны два упорядоченных списка. Образовать из элементов этих списков новый список, также упорядоченный.

  15. Из двух списков чисел извлечь общие числа, большие данного и поместить их в третий список.

  16. В списке L1 найти элементы, имеющиеся в списке L2 и заменить их на элементы из списка L3 по номеру соответствующего элемента из списка L2.

  17. В списке L1 найти элементы, имеющиеся в списке L2 и заменить их на элементы из списка L3 по номеру соответствующего элемента из списка L1.

  18. В списке L1 найти элементы, имеющиеся в списке L2 и заменить их на элементы из списка L3 по номеру соответствующему количеству произведенных замен.

  19. Имеется список слов. Составить список различных слов данного списка с указанием частоты их появления в нем.

  20. Реализовать операции вставки и удаления записей из упорядоченного списка.

  21. Отсортировать список, используя метод вставки.

  22. Осуществить процедуру слияния двух упорядоченных списков.

  23. Переупорядочить элементы списка так, чтобы вначале шли все отрицательные элементы, а затем все неотрицательные элементы.

  24. Реализовать операцию поиска максимального элемента списка методом турнира. На каждом этапе попарного сравнения формируется новый список.

  25. Имеется два упорядоченных списка. Определить принадлежат ли все элементы второго списка первому списку.

  26. Удалить из списка все элементы, принадлежащие второму списку.

  27. Элементы списка представляют собой слагаемые многочлена (если коэффициент при степени 0, то элемент в списке отсутствует). Выполнить операцию сложения двух многочленов, представленных списками.

  28. Множества целых чисел заданы списками L1, L2, L3. Построить список L4, представляющий собой пересечение множеств L1, L2, L3.

  29. Даны списки L1,L2,L3. Если L1 является префиксом L2, а L3 - суффиксом L2, то ответ yes, иначе - no.

  30. Даны списки L1, L2, L3. Если конкатенация L1 и L2 - есть префикс L3, то ответ - yes, иначе - no.

  31. Даны списки L1, L2, L3. Если L1 и L2 являются подсписками L3, то сформировать новый список, удалив из L3 подсписки L1 и L2, в противном случае оставить L3 без изменения.

  32. Имеется два списка. Определить является ли первый список подсписком второго.