Раздел 2 Программирование на языке Си
Тема 5 «Работа с двоичными файлами. Алгоритмы сортировки» Лабораторная работа 5 «Реализация алгоритмов сортировки» Задание. Написать программу, реализующую несколько алгоритмов сортировок, и провести их сравнительный анализ на одном входном наборе данных. Для выполнения лабораторной работы необходимо подготовить исходный файл данных со случайным набором данных. Каждый из алгоритмов сортировки считывает содержимое файла, производит сортировку и выводит результат в выходной файл. На экране отражается количество отсортированных элементов и затраченное время. Варианты заданий: 1. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка выбором, сортировка вставками. 2. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка Шелла, сортировка слиянием. 3. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка расческой, сортировка перемешиванием. 4. Произвести сортировку алгоритмами: сортировка пузырьком, гномья сортировка, быстрая сортировка. 5. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка слиянием, сортировка Шелла. 6. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка перемешиванием, быстрая сортировка. 7. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка расческой, гномья сортировка. 8. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка выбором, быстрая сортировка. 9. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка Шелла, сортировка выбором. 10. Произвести сортировку алгоритмами: сортировка пузырьком, сортировка слиянием, сортировка вставками. Тема 6 «Структуры. Массивы структур» Лабораторная работа 6 «Перевод выражения в обратную польскую запись» Задание. Написать программу, которая записывает с клавиатуры в файл структуру согласно выданному варианту задания. В качестве разделителя полей структуры использовать символ табуляции. В программе реализовать: а) дополнение существующего массива структур новыми структурами; б) поиск структуры с заданным значением выбранного элемента; в) вывод на экран содержимого массива структур; г) упорядочение массива структур по заданному полю (элементу), например государство по численности. Варианты заданий: 1. «Человек»: фамилия, имя, пол, рост, вес, дата рождения (число, месяц, год), номер телефона, домашний адрес (индекс, страна, область, город, улица, дом, квартира). 2. «Покупатель»: фамилия, имя, отчество, город, улица, номер дома, номер квартиры, номер кредитной карточки, код покупки. 3. «Пациент»: фамилия, имя, отчество, год рождения, телефон, адрес, номер медицинской карты, группа крови, резус-фактор, диагноз. 4. «Футбольная команда»: название, город, количество сыгранных игр, количество очков (проигрыши, выигрыши, ничьи), количество игроков, фамилия тренера. 5. «Студент»: фамилия, имя, отчество, дата рождения, факультет, кафедра, группа, домашний адрес, успеваемость (плохо, удовлетворительно, хорошо, отлично). 6. «Стадион»: название, вид спорта, год постройки, адрес, вместимость, количество площадок, вид табло (цифровое, таблички). 7. «Автомобиль»: марка, цвет, серийный номер, регистрационный номер, количество дверей, год выпуска, тип автомобиля (легковой, грузовой, джип, автобус), цена. 8. «Фильм»: название, режиссер (фамилия, имя, отчество), страна, год выпуска, стоимость (расходы на выпуск), кассовые сборы (доход). 9. «Владелец автомобиля»: имя, номер автомобиля, номер техпаспорта, дата рождения, телефон, отделение регистрации ГИБДД. 10. «Государство»: название страны, столица, язык, население, площадь территории, денежная единица, государственный строй. Тема 7 «Динамическое распределение памяти. Списки (односвязные, двусвязные),стек, очередь» Задание. Написать программы для работы с односвязным и двусвязным списками в соответствии с выданным вариантом задания. Предусмотреть в программах следующие функции: 1. Включить новый элемент в конец списка. 2. Включить новый элемент на заданное пользователем место списка. 3. Включить новый элемент после элемента с заданной информационной частью. 4. Включить новый элемент перед элементом с заданной информационной частью. 5. Включить новый элемент в середину списка. 6. Исключить элемент из середины списка. 7. Исключить элемент с заданной информационной частью. 8. Исключить элемент из конца списка. 9. Исключить элемент из заданного пользователем места списка. 10. Исключить элемент из головы списка. Программы должны уметь обрабатывать структуру данных в соответствии с вариантом заданий. Варианты заданий: 1. Библиографическая карточка каталога библиотеки. 2. Карточка студента и его успеваемости деканата. 3. Структура учета автомобилей в ГАИ. 4. Учет материальных ценностей бухгалтерии. 5. Телефонная книга/справочник. 6. Домашний бюджет. Список покупок. 7. Расписание общественного транспорта. 8. Книга рецептов. 9. Адресная книга. 10. Ежедневник - деловой блокнот.
|