Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
22
Добавлен:
31.03.2015
Размер:
41.98 Кб
Скачать

Лабораторная работа 10

Задание

  1. Реализовать исполнители Однонаправленный список (с использованием dispose),

Двунаправленный список, Стек, Очередь, Дек, Последовательность на базе ссылок.

2. Реализовать Стек, Очередь, Дек непрерывно на базе вектора.

3. Решить предложенный вариант задачи на базе исполнителей.

Требования к оформлению

  1. Работа должна быть выполнена рукописно (без использования компьютера).

  2. Отчет должен содержать все 3 уровня описаний исполнителей.

  3. Имена процедур должны соответствовать названию соответствующего исполнителя.

Описание исполнителей на функциональном уровне (набор операций).

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

  1. Сделать список пустым.

  2. Список пуст / не пуст?

  3. Установить указатель в начало списка .

  4. Перейти к следующему элементу.

  5. Добавить элемент Е в

  6. Взять элемент Е (из ) начало(а), середину(ы), конец (конца)списка

  7. Удалить элемент (из )

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

  1. Сделать список пустым.

  2. Список пуст / не пуст?

  3. Установить указатель в начало (конец) списка .

  4. Перейти к следующему (предыдущему) элементу.

  5. Добавить элемент Е в

  6. Взять элемент Е (из ) начало(начала), середину(середины), конец (конца) списка.

  7. У

    Очередь (Queue)

    1. Сделать очередь пустой.

    2. Очередь пуста / не пуста?

    3. Добавить элемент Е в конец очереди.

    4. Взять элемент Е из

    начала очереди.

    1. Удалить начало очереди.

    6. Есть ли место в памяти?

    далить элемент (из )

Стек (Stack)

  1. Сделать стек пустым.

  2. Стек пуст / не пуст?

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

  4. Взять элемент Е из стека.

  5. Удалить вершину стека.

6. Есть ли место в памяти?

Дек (Deq)

  1. Сделать дек пустым.

  2. Дек пуст / не пуст?

  3. Добавить элемент Е в дек.

  4. Взять элемент Е из дека.

  5. Удалить начало (конец) дека.

6. Есть ли место в памяти?

Последовательность (File)

  1. Сделать последовательность пустой.

  2. Последовательность пуста / не пуста?

  3. Добавить элемент Е в конец последовательности.

  4. Встать в начало последовательности.

  5. Есть / нет в последовательности непрочитанные элементы?

  6. Прочитать очередной элемент в последовательности.

  7. Перейти к очередному непрочитанному элементу последовательности.

  8. Пропустить очередной элемент последовательности.

Пример к л/р 10

Задание. Написать процедуру, которая выполняет указанное преобразование данных.

Требования:

  1. предварительно выполнить задание к л/р 10, составив библиотеку процедур исполнителей;

  2. использовать библиотеку процедур для преобразования данных;

  3. желательно восстановить поврежденные данные.

  4. Процедура должна быть чистой и содержать поясняющие комментарии

Варианты.

  1. Взять из стека h-й и g-й злементы и добавить в начало дека.

  2. Добавить в стек i элементов из последовательности.

  3. Взять из очереди злементы до ключа С и добавить их в начало дека

  4. Переписать в последовательность n элементов из конца дека.

  5. Взять из стека злементы до ключа Р и добавить их в очередь.

  6. Взять из из начала дека злементы до ключа М и добавить их в стек.

  7. Взять из очереди r-й и s-й злементы и добавить в конец дека

  8. Добавить в очередь j элементов из последовательности

  9. .Взять из из дека последние v злементов и добавить их в стек

  10. Взять из конца дека злементы до ключа Т и добавить их в очередь.

  11. Переписать в последовательность n элементов из стека.

  12. Добавить в конец дека p элементов из последовательности

  13. Взять из стека злементы до ключа Т и добавить их в начало дека.

  14. Переписать в последовательность n элементов из конца дека.

  15. Взять из очереди злементы до ключа С и добавить их в начало дека.

  16. Переписать в последовательность m элементов из начала дека.

  17. Взять из очереди злементы до ключа К и добавить их в конец дека.

  18. Добавить в очередь j элементов из последовательности.

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

  20. Взять из стека i-й и j-й злементы и добавить их в очередь

  21. Переписать в последовательность v элементов из очереди.

  22. Взять из дека первые n элементов и добавить их в очередь.

  23. Взять из дека последние r элементов и добавить их в очередь.

  24. Взять из из конца дека злементы до ключа В и добавить их в стек

  25. Взять из стека злементы до ключа Р и добавить их в очередь.

  26. Взять из стека злементы до ключа М и добавить их в конец дека.

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

Соседние файлы в папке METOD2