Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / Other / ЯП_лаб_8

.doc
Скачиваний:
2
Добавлен:
18.02.2023
Размер:
56.83 Кб
Скачать

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

Тема: Программирование с использованием алгоритмов сортировки

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

Ход работы

В задании необходимо разработать программу, в которой выполняется ввод списка записей определенного типа, а затем - сортировка списка двумя алгоритмами (в соответствии с вариантом). Сначала в программе должен вводиться размер списка (целое число), а сам список создается в виде динамического массива структур (использовать функции malloc, calloc, free). Ввод одной записи осуществляется в одной строке в соответствии с форматом.

Описание структур приводится после вариантов задания. Выбор алгоритма осуществляется пользователем. Поле и направление сортировки выбирает разработчик (смотреть раздел дополнительно после вариантов задания). Учитывать, что названия книг, наименования товаров, тексты сообщений могут состоять из нескольких слов и заключаются в двойные кавычки. Варианты заданий:

1

СООБЩЕНИЕ 1

Вставки

Шелла

20 баллов

2

КНИГА

Пузырек

Хоора

20 баллов

3

ТОВАР

Минимаксный

Флойда

20 баллов

4

СООБЩЕНИЕ 2

Перечисления

Шелла

20 баллов

5

СТУДЕНТ

Вставки

Хоора

20 баллов

6

СООБЩЕНИЕ 1

Пузырек

Флойда

20 баллов

7

КНИГА

Минимаксный

Шелла

20 баллов

8

ТОВАР

Перечисления

Хоора

20 баллов

9

СООБЩЕНИЕ 2

Вставки

Флойда

20 баллов

10

СТУДЕНТ

Пузырек

Шелла

20 баллов

11

СООБЩЕНИЕ 1

Минимаксный

Хоора

20 баллов

12

КНИГА

Перечисления

Флойда

20 баллов

13

ТОВАР

Вставки

Шелла

20 баллов

14

СООБЩЕНИЕ 2

Пузырек

Хоора

20 баллов

15

СТУДЕНТ

Минимаксный

Флойда

20 баллов

ДОПОЛНИТЕЛЬНО:

 Реализация выбора направления сортировки премируется 10 баллами.

 Реализация выбора поля сортировки премируется 10 баллами.

 Реализация выбора алгоритма, направления и поля сортировки через параметры командной строки премируется 10 баллами.

Параметры командной строки должны быть следующими:

 a:скорость - алгоритм сортировки (slow - медленный, fast - быстрый);

 d:направление - направление сортировки (inc - по возрастанию, dec - по убыванию);

 f:поле - поле сортировки (1 - первое, 2 - второе и т.д.).

СТУДЕНТ:

  • фамилия, имя, отчество (строки по 15 символов);

  • курс (целое число от 1 до 5);

  • средний балл (вещественное число от 1 до 10).

Формат ввода: Фамилия Имя Отчество [курс], средний балл

КНИГА:

  • фамилия и инициалы автора (строка 15 символов);

  • название книги (строка 20 символов);

  • год издания (целое положительное четырехзначное число);

  • количество страниц (целое положительное число).

Формат ввода: код ISBN: Фамилия И. О. «Название», год, кол-во страниц

ТОВАР:

  • наименование товара (строка 15 символов);

  • единицы измерения (строка 5 символов);

  • цена (вещественное число с двумя знаками после запятой);

  • количество (целое положительное число).

Формат ввода: «Наименование» «Ед. изм.», цена, количество

СООБЩЕНИЕ 1:

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

  • текст сообщения (строка 50 символов);

  • дата пересылки (в формате ДД.ММ.ГГГГ).

Формат ввода: Отправитель - Получатель «текст» дата

СООБЩЕНИЕ 2:

  • номер устройства отправителя (целое положительное четырехзначное число);

  • текст сообщения (строка 50 символов);

  • время получения (в формате ЧЧ:ММ:СС).

Формат ввода: Номер устройства «текст сообщения» время

Контрольные вопросы

1. Что такое сортировка?

2. Приведите классификацию алгоритмов сортировки.

3. Как оценивается скорость сортировки медленными и быстрыми алгоритмами?

4. Поясните сущность и опишите алгоритм сортировки вставками.

5. Поясните сущность и опишите алгоритм сортировки пузырьком.

6. Поясните сущность и опишите минимаксный алгоритм сортировки.

7. Поясните сущность и опишите алгоритм сортировки перечислениями.

8. Поясните сущность и опишите алгоритм сортировки Шелла.

9. Поясните сущность и опишите алгоритм сортировки Хоора.

10. Поясните сущность и опишите алгоритм сортировки Флойда.

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