Transportda axborot tizimlari va texnologiyalari



Download 214,5 Kb.
Sana24.02.2022
Hajmi214,5 Kb.
#223108
TuriЛабораторная работа
Bog'liq
IAT lab3


TOSHKENT DAVLAT TRANSPORT UNIVERSITETI
TRANSPORTDA AXBOROT TIZIMLARI VA TEXNOLOGIYALARI”
kafedrasi
TEMIR YO‘L TRANSPORTIDA INTELLEKTUAL AXBOROT TIZIMLARI VA ULARNI LOYIHALASH”
fanidan


LABORATORIYA ISHI-3


Bajardi: AT-32 guruh talabasi
Egamberdiyev S.A.
Qabul qildi: Abdullayev E.S


Тошкент – 2021
Лабораторная работа №3. Обработка списков в Прологе
Цель лабораторной работы.
Освоение программирования на языке Пролог с использованием списков.
Рекомендации по выполнению лабораторной работы.
В Прологе нет такой распространенной и часто используемой структуры хранения данных как массивы, но зато есть развитые возможности работы со списками. Список – упорядоченный набор элементов одного типа. В отличие от массивов, количество элементов которых строго фиксировано (в большинстве языков программирования), списки позволяют модифицировать, добавлять или удалять из него элементы.
Списки в Прологе заключаются в квадратные скобки, например [1, 2, 8, 123] или ['Пн', 'Вт', 'Четверг']. Список [ ], не содержащий ни одного элемента, называется пустым. Каждый непустой список состоит из двух частей: головы и хвоста. Головой является первый элемент списка, хвостом – все остальное.
Списки и его составные части

В программе голова отделяется от хвоста символом «|».
Часто используемыми операциями при работе со списками являются:
- проверка наличия элемента в списке;
- добавление элемента в список;
- конкатенция (объединение) списков;
- удаление элемента из списка;
- задание обратного порядка следования элементов списка;
- разделение списка на два.
Программный код и примеры вопросов, содержащие предикаты для работы со списками, показаны на следующем рисунке.

Рис.1. Предикаты обработки списков
Для операции добавление элемента в список не требуется отдельного правила, если этот элемент добавляется в начало списка (см. вопрос 1 на рис.1). Для остальных операций требуется определение отдельных предикатов, в т.ч. содержащих рекурсивные правила.


Задание на выполнение лабораторной работы.
Разработать программу с использованием списков, отвечающую следующим требованиям.
А) По индивидуальному заданию добавить в программу правила для решения задачи.
1. Даны два списка целых чисел A1, A2, ..., An и B1, B2, ..., Bn. Объединить эти списки в один, исключить все повторения чисел и упорядочить их по возрастанию.
2. В списке целых чисел S1, S2, ..., Sn исключить все последовательности указанного вида, например [1, 11, 24, 5].
3. В списке символов S1, S2, ..., Sn найти первое и последнее вхождения указанного символа и исключить все символы между ними.
4. В списке символов S1, S2, ..., Sn найти длину наибольшей последовательности, построенной повторением одного и того же символа.
5. В списке символов S1, S2, ..., Sn каждую указанную последовательность символов заменить на другую указанную последовательность.
6. В списке символов S1, S2, ..., Sn найти самое короткое слово, если разделителем между словами является один или несколько пробелов и удалить его.
7. В списке символов S1, S2, ..., Sn найти самое длинное слово, если разделителем между словами является один или несколько пробелов и удалить его.
8. В списке символов S1, S2, ..., Sn найти все вхождения указанного слова, если разделителем между словами является один или несколько пробелов.
9. В списке символов S1, S2, ..., Sn найти число слов с одинаковыми первой и последней буквами, если разделителем между словами является один или несколько пробелов. Определить самое длинное такое слово.
10. В списке символов S1, S2, ..., Sn найти среднюю длину слов, если разделителем между словами является один или несколько пробелов. Определить все слова, имеющие эту длину.
11. Преобразовать список целых чисел A1, A2, ..., An следующим образом: исключить нули, слева записать все положительные числа, справа - все отрицательные.
12. Преобразовать список целых чисел A1, A2, ..., An следующим образом: исключить нули, слева записать все четные числа, справа - все нечетные.
13. Преобразовать список целых чисел A1, A2, ..., An следующим образом: исключить нули, слева записать все простые числа, справа - все составные.
14. В списке целых чисел A1, A2, ..., An определить максимально длинную последовательность чисел, расположенных в возрастающем порядке.
15. В списке целых чисел A1, A2, ..., An определить максимально длинную последовательность чисел, расположенных в убывающем порядке.
16. Список целых чисел A1, A2, ..., An оставить без изменений, если он упорядочен по возрастанию или убыванию. В противном случае: каждый четный элемент списка утроить, каждый элемент, стоящий на нечетном месте и кратный четырем, удалить.
Б) Отчет должен содержать:
- титульный лист;
- описание задания;
- текст программы;
- вопросы с ответами, иллюстрирующие корректность работы программы;
- вывод.



Download 214,5 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish