Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 - Вопросы текущего контроля и самоконтроля.doc
Скачиваний:
13
Добавлен:
12.04.2015
Размер:
73.73 Кб
Скачать

Вопросы текущего контроля и самоконтроля лабораторная работа №1. Алгоритм сортировки методом «пузырька»

  1. Абстрактный тип данных (АДТ) «СПИСОК»

    1. Дайте определение абстрактного типа данных.

    2. Какова математическая модель абстрактного списка (какие понятия определяют абстрактный список)?

    3. Какие операции определяют абстрактный список? Опишите спецификацию каждой операции (суть действия, входные и выходные параметры, предусловие, постусловие, результат).

    4. Изобразите графическую схему абстрактного списка?

  2. Структуры данных (на примере ЯВУ С++).

    1. Дайте определение структурам данных.

    2. Чем отличаются статические и динамические структуры данных?

    3. Что такое массив? Изобразите графическую схему представления статического массива в оперативной памяти.

    4. Какие конструкции С++ используются для формирования статического массива?

    5. Что такое связный список? Какие понятия описывают структуру связного списка? Изобразите графическую схему структуры односвязного списка в оперативной памяти. Изобразите графическую схему структуры двусвязного списка в оперативной памяти.

    6. Какие конструкции С++ используются для формирования динамического массива?

    7. Какие конструкции С++ используются для формирования связного списка?

  3. Реализация АДТ «СПИСОК»

    1. Какие конструкции языка С++ используются для реализации АДТ «СПИСОК» при помощи динамического массива?

    2. Какие конструкции языка С++ используются для реализации АДТ «СПИСОК» при помощи связного списка?

    3. Какие функции созданы для реализации операций АДТ «СПИСОК»?

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

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

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

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

  4. Алгоритм сортировки методом «пузырька».

    1. Опишите формализованную постановку задачи сортировки по возрастанию (или по убыванию). Опишите в математической форме критерий «упорядоченного» списка.

    2. Опишите основные действия алгоритма сортировки методом «пузырька».

    3. С какой целью сравниваются два соседних элемента между собой?

    4. При выполнении какого условия можно утверждать, что рассматриваемые соседние элементы списка расположены в правильном порядке? Представьте данное условие в математической форме.

    5. При выполнении какого условия можно утверждать, что рассматриваемые соседние элементы списка расположены в неправильном порядке? Представьте данное условие в математической форме. Представьте данное условие в математической форме.

    6. В каком случае и с какой целью соседние элементы меняются местами?

    7. По какому принципу выбираются пары соседних элементов списка для сравнения для проверки факта его упорядоченности.

    8. При выполнении какого условия можно утверждать, что список упорядочен, после того, как завершится сравнение всех пар соседних элементов в списке. Представьте данное условие в математической форме.

    9. При выполнении какого условия нельзя считать, что список упорядочен, после того, как завершится сравнение всех пар соседних элементов в списке. Представьте данное условие в математической форме.

    10. Какие действия необходимо выполнить, если после сравнения всех пар соседних элементов в списке нельзя считать, что список упорядочен?

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

  5. Реализация алгоритма сортировки методом «пузырька»

    1. Каким образом в коде программы представлена пара соседних элементов, которые сравниваются между собой для проверки факта упорядоченности списка (какие переменные используются, какого они типа, что обозначает значение данных переменных по отношению к используемым структурам данных)?

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

    3. Укажите и прокомментируйте строки кода, в которых организуются последовательные итерации проверок факта упорядоченности списка.

    4. Укажите и прокомментируйте строки кода, в которых организуется перебор всех пар соседних элементов списка для проверки факта его упорядоченности.

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

    6. Укажите и прокомментируйте строки кода, в которых организуется перестановка элементов, расположенных в неправильном порядке. Изобразите графическую схему, отражающую структуры данных в оперативной памяти до и после перестановки элементов. Укажите на схеме пунктирными стрелками, из каких и в какие области памяти копируются значения при организации операции перестановки элементов.