АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Лабораторная работа № 3

Читайте также:
  1. T-FACTORY HRM - управление персоналом и работами
  2. V. САМОСТОЯТЕЛЬНАЯ РАБОТА
  3. V. Самостоятельная работа студентов с больными.
  4. V2: Работа и энергия
  5. Window - работа с окнами.
  6. Аналитическая работа при выборе и обосновании стратегии развития предприятии
  7. Б) работа врачей поликлиники (амбулатории), диспансера, консультации
  8. В 72-х дневном цикле подвиг длится 8 суток, из которых 2 суток – голод, а 6 – очистительные процедуры и работа над собой. В 12-ти летнем цикле подвиг длится 1 год.
  9. В работах В. Джеймса
  10. В) профилактическая работа
  11. Виртуальная работа силы. Идеальные связи
  12. Власть и норма в работах Фуко

Работа со списками

 

Цель работы:

 

Ознакомиться с реализацией структуры данных типа список в языке Пролог и методами их обработки.

 

Задание для подготовки к работе

 

Изучить лекции по теме "Списки".

 

Порядок выполнения работы

 

1. Выполнить контрольные примеры.

2. Создать программу на языке Пролог, которая решает задачи согласно варианту.

3. Составить отчет о проделанной работе.

 

Содержание отчета

 

1. Исходные тексты программ на языке Пролог.

2. Наборы тестовых данных и результаты работы программ.

3. Перечень и анализ ошибок.

4. Выводы по работе.

 

Основные понятия

Список - это простая структура данных, широко используемая в нечисловом программировании. Список либо пуст, либо состоит из двух частей: головы и хвоста. Голова списка является атомом, а хвост, в свою очередь, сам является списком. Заметим, что список в Прологе – это частный случай двоичного дерева.

 

Контрольный пример

 

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

 

create([],0).

create([X|T],X):-X>0, X1=X-1, create(T,X1).

 

Задание к работе

 

1. Реализовать набор функций для обработки списков, используя возможности языка:

· Добавление элемента к списку.

· Удаление элемента из списка.

· Конкатенация списков.

· Определение длины списка.

· Выделение подсписка.

2. Решить дополнительные задачи согласно варианту, используя построенные функции.

3. Подобрать тестовые данные и оформить отчет.

 

Варианты заданий

 

1. Решить следующие задачи:

а) проверить является ли список палиндромом;

б) упорядочить список методом вставки;

в) добавить к каждому элементу списка 1;

г) выделить из списка подсписки положительных и отрицательных чисел.

2. Решить следующие задачи:

а) добавить элемент в i -ю позицию списка;

б) подсчитать сумму всех элементов списка;

в) инвертировать список;

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

3. Решить следующие задачи:

а) удалить из списка все повторяющиеся подсписки;

б) подсчитать количество положительных чисел в списке;

в) подсчитать сумму положительных и произведение отрицательных элементов списка;

г) подсчитать число повторяющихся элементов списка.

4. Решить следующие задачи:

а) удвоить элемент списка, если он положительный и утроить, если он отрицательный;

б) упорядочить список по убыванию с помощью сортировки (не вставкой);

в) объединить три списка;

г) выделить подсписки, содержащие букву «а» и объединить их.

5. Решить следующие задачи:

а) добавить элемент в i -ю позицию списка;

б) подсчитать сумму целых чисел в списке;

в) выделить из списка подсписки положительных и отрицательных чисел;

г) упорядочить список по возрастанию.

6. Решить следующие задачи:

а) составить список, состоящий из натуральных чисел, лежащих на числовой оси между двумя заданными;

б) подсчитать количество отрицательных, положительных и нулевых элементов списка;

в) инвертировать список;

г) утроить список.

7. Решить следующие задачи:

а) удалить из списка заданный подсписок;

б) упорядочить список по убыванию;

в) заменить каждый элемент списка, состоящий из символов, на следующий символ алфавита;

г) удалить повторяющиеся элементы в списке.

8. Решить следующие задачи:

а) упорядочить список по возрастанию;

б) подсчитать в списке количество отрицательных, положительных и

нулевых элементов;

в) инвертировать список;

г) отнять от каждого элемента списка 1.

9. Решить следующие задачи:

а) выделить из списка буквы и числа;

б) проверить список на симметричность;

в) определить количество уровней вложенности списка;

г) найти сумму четных элементов списка.

10. Решить следующие задачи:

а) инвертировать список на всех уровнях вложенности;

б) найти суммы всех подряд идущих пар чисел в списке;

в) определить длину списка;

г) найти сумму нечетных элементов списка.

11. Решить следующие задачи:

а) добавить подсписок в указанную позицию;

б) инвертировать список;

в) удвоить значения положительных элементов списка и утроить значения его отрицательных элементов;

г) подсчитать число элементов списка больших 10.

12. Решить следующие задачи:

а) удаление подсписков указанной глубины;

б) выдать подсписок, компоненты которого принадлежат заданному

интервалу;

в) выделить из списка все элементы, которые делятся на 2 и на 3;

г) проверить список на симметричность.

13. Решить следующие задачи:

а) инвертировать список;

б) подсчитать сумму положительных элементов списка;

в) выделить положительные, отрицательные и нулевые элементы списка;

г) объединить 3 списка.

14. Решить следующие задачи:

а) упорядочить список по возрастанию методом простой вставки;

б) определить кратность вхождения подсписка в список;

 

в) подсчитать среднее значение списка;

г) разбить список, состоящий из натуральных чисел, на два подсписка, включив в первый список числа, принадлежащие указанному интервалу, а во второй – все остальные.

 

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)