14.             

Данные о безработных на бирже. Структура: ФИО, год рождения, пол, профессия

Шелла

Список возможных кандидатов на работу. На работу берут мужчин не старше 40 лет.

15.             

Справочник об ЭВМ на оптовом складе. Структура: Марка, год выпуска, тип процессора, объем ОЗУ и винчестера

Нерекурсивный алгоритм быстрой сортировки

Список ЭВМ выпущенных после 2003 года.

16.             

Телефонный справочник. Структура: ФИО, адрес, номер телефона, обслуживающая АТС

Рекурсивный алгоритм быстрой сортировки

Список подключенных к данной АТС.

17.             

Список участников научной конференции: ФИО, из какой страны, форма участия (доклад, сообщение, гость)

Прямые вставки

Из какой страны прибыло наибольшее количество участников.

18.             

Библиотечный каталог. Структура: ФИО читателя, шифр взятой книги, дата возврата

Шелла

ФИО читателей не вернувших книги в срок (2 недели)

19.             

Протокол соревнований: ФИО, страна проживания, вид спорта, очки

Простой выбор

Какие спортсмены прибыли из заданной страны.

20.             

Данные о международной конференции: ФИО участника, научный ранг, форма участия (доклад, сообщение, гость), страна, которую он представляет.

Нерекурсивный алгоритм быстрой сортировки

Список стран участниц по мере убывания количества докладов.

21.             

Данные о безработных на бирже труда: ФИО, год рождения, профессия, на какую работу согласен (по специальности / на любую). Данные о возможности представляемой работы – профессия, возраст.

Рекурсивный алгоритм быстрой сортировки

Список трудоустроенных

22.             

Информация за месяц по состоянию дел на валютной бирже: вид валюты, предложение, спрос, цена в рублях на вчерашних торгах, цена в рублях сегодня.

Шелла

Список по дням месяца, когда спрос превышал предложение.

23.             

Информационный справочник преподавателей. Структура: ФИО, стаж работы, массив публикаций за последние пять лет. Элементы массива: вид публикации (статья, руководство, учебник), печатный / рукописный, количество печатных листов, год публикации).

Простой выбор

Фамилии преподавателей имеющих более 3х публикаций.


Лабораторная работа №7
Абстрактные типы данных (АТД): список, стек, очередь.
Реализация АТД на базе линейного однонаправленного списка.

Цель работы

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

Требования к разрабатываемой программе:

Все операции для работы со списком, очередью и стеком должны быть реализованы в отдельно скомпилированных модулях (одноименное_название.tpu).

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

В качестве базовой динамической структуры должен рассматриваться линейный однонаправленный список.

Требования к функциональному составу - выполнение программы должно демонстрировать выполнение операций, приведенных в таблице 3.

Таблица 3

Структура данных

Операции

Линейный однонаправленный список

Проверка списка (пуст / не пуст); Формирование списка

·         Упорядоченного

·         Неупорядоченного

Поиск элемента списка (есть или нет в списке) Добавить элемент в список

·         В начало списка

·         В конец списка

·         До элемента с определенным значением информационного поля

·         После элемента с определенным значением информационного поля

Удалить

·         Первый элемент списка

·         Последний элемент списка

·         Элемент с определенным значением информационного поля

·         весь список

Взять элемент списка (просмотреть значение и удалить)

·         Первый элемент

·         Последний элемент

·         Элемент с определенным значением информационного поля

Просмотр элемента списка

1.      Первого элемента списка

2.      Последнего элемента списка

3.      Всего списка

Индивидуальное задание

 

Очередь на базе линейного однонаправленного списка

Проверка очереди (пуста / не пуста); Сформировать очередь Поиск элемента очереди (есть или нет в очереди) Добавить элемент в очередь Удалить

·         элемент очереди

·         всю очередь

Взять (просмотреть значение и удалить)

·         элемент очереди

·         всю очередь

Просмотр

·         Первого элемента очереди

·         Последнего элемента очереди

·         Всей очереди

8.            Индивидуальное задание

Стек на базе линейного однонаправленного списка

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

1.      Проверка стека на пустоту;

2.      Формирование стека;

3.      Поиск элемента в стеке (есть или нет);

4.      Добавить элемент в стек;

5.      Взять (просмотреть значение и удалить)

·         Элемент из стека;

·         Весь стек

6.      Удалить

·         Элемент из стека;

·         Весь стек

7.      Просмотреть значение

·                  Вершины стека

·                  Содержимое стека

8.            Индивидуальное задание

Требования к отчету: Внешние спецификации (этап постановки задачи) разрабатываются для программы в целом. Внутренние спецификации программы (этап проектирования) разрабатываются для каждого модуля отдельно и для программы в целом.

Не забывайте освобождать память. Первым оператором подпрограммы, организующей работу программы вцелом, должен быть вызов процедуры Mark(p), а Release(p) – последним, где р - переменная типа Pointer. Проследить правильность выделения и высвобождения памяти можно, используя стандартные функции MaxAvail, MemAvail.


Набор тестовых заданий приведен в таблице 4.

Таблица 4

№ теста

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

Значения входных данных

Просмотр содержимого списка после выполнения операции

1.               

Создать упорядоченный список, вводя элементы со значением

9

1

5

9

2.               

5

3.               

1

4.               

Добавить в начало списка элемент со значением

-1

-1

1

5

9

5.               

Добавить в конец списка элемент со значением

13

-1

1

5

9

13

6.               

Добавить элемент со значением х до элемента списка со значением info

x

info

-3

-1

0

1

3

5

7

9

11

13

7.               

-3

-1

8.               

0

1

9.               

3

5

10.           

7

9

11.           

11

13

12.           

Добавить элемент со значением х после элемента списка со значением info

x

info

-3

-2

-1

0

1

2

3

4

5

7

9

11

13

14

13.           

-2

-3

14.           

2

1

15.           

4

3

16.           

14

13

17.           

Найти элемент в списке со значением

-3

Элемент найден

18.           

14

19.           

0

20.           

24

Такого элемента в списке нет

21.           

Удалить элемент списка со значением

-3

-2

-1

0

1

2

3

4

5

7

9

11

13

14

22.           

13

-2

-1

0

1

2

3

4

5

7

9

11

14

23.           

Удалить голову списка

 

-1

0

1

2

3

4

5

7

9

11

14

24.           

Удалить последний элемент списка

 

-1

0

1

2

3

4

5

7

9

11

25.           

Удалить голову списка

 

0

1

2

3

4

5

7

9

11

26.           

Удалить последний элемент списка

 

0

1

2

3

4

5

7

9

27.           

 

0

1

2

3

4

5

7

 

 

0

1

2

3

4

5

29.           

 

0

1

2

3

4

30.           

 

0

1

2

3

31.           

 

0

1

2

32.           

 

0

1

33.           

 

0

34.           

 

Операция невыполнима. Список пуст

Варианты индивидуального задания

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10