ВВЕДЕНИЕ
1 СОЗДАНИЕ ИНФОРМАЦИОННО-ПОИСКОВОГО СПРАВОЧНИКА
1.1 Постановка задачи
1.2 Структура данных
1.3 Общая структурная схема программы
1.4 Специальные алгоритмы
1.4.1 Сортировка методом выбора
1.4.2 Сортировка методом Шелла
1.4.3 Сортировка методом быстрой сортировки
1.5 Описание назначения функции
1.6 Результаты работы программы на примере конкретных данных
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
ВВЕДЕНИЕ
Си (C) является языком функций, типов данных, операторов присваивания и управления последовательностью вычислений. Программируя на Си (C), вы осуществляете обращение к функциям, и большинство функций возвращают некоторые значения. Значение, возвращаемое функцией, будь то значение переменной или константа, может использоваться в операторе присваивания, который изменяет значение другой переменной. Дополненный операторами управления последовательностью вычислений (while, for, do, switch), Си (C) превращается в язык высокого уровня, способствующий хорошему стилю программирования. Си (C) имеет небольшой набор типов данных: целые числа, числа с плавающей запятой, битовые поля и перечислимый тип. В языке Си (C) вы можете описать переменную типа указатель, который связывается с объектом, принадлежащим к любому типу данных.
Адресная арифметика языка Си (C) является чувствительной к типу данных того объекта, с которым связан используемый указатель. Разрешены также указатели к функциям. Вы можете расширить список типов данных путем создания структур с иерархической зависимостью входящих в него типов данных. Каждый тип данных может принадлежать либо к основному типу, либо к ранее описанному структурному типу. Объединения напоминают структуры, но определяют различные виды иерархических зависимостей, в которых данные разных типов располагаются в памяти.
Допустимо описание массивов данных различных типов, включая структуры и объединения. Массивы могут быть многомерными. Функции Си (C) являются рекурсивными по умолчанию. Вы можете, правда, создать функцию, которая не будет рекурсивной, но сам язык по своей природе стремится поддерживать рекурсивность и требует минимальных усилий при программировании рекурсий.
Цель данной курсовой работы - закрепить и расширить знания по программированию на языке С и С++. Задача курсовой работы – разработать и реализовать на языке С информационно-поисковый справочник «ЖК индикаторы».
В ходе разработки данной программы были использованы различные возможности языка C и C++. Например, функции работы со строками и символами, операторы ветвления, выбора, циклические операторы и т.д.
Программа рассчитана на информацию о ЖК индикаторах. Эти данные хранятся в структуре из 5 полей (марка, цена, цвет свечения, тип дисплея, срок годности).
При работе с программой были использованы реальные типы ЖК индикаторов.
1 СОЗДАНИЕ ИНФОРМАЦИОННО-ПОИСКОВОГО СПРАВОЧНИКА
1.1 Постановка задачи
В курсовой работе необходимо разработать и реализовать на языке С и С++ информационно-поисковый справочник «Операционные усилители».
При запуске программы на исполнение появляется числовое меню, посредством которого пользователь вызывает следующие пункты, реализованные в программе как отдельные функции:
- создание справочника в памяти (ввод данных);
- вывод справочника на экран с использованием функций языка С;
- сортировка методом вставок по числовому полю (на усмотрение разработчика);
- поиск записи в справочнике по части названия марки радиодетали;
- сохранение справочника в файле;
- открытие справочника из файла;
- выход из программы.
Каждая запись состоит из 5 полей: марка (строковый тип) и остальные 4 поля выбираются самостоятельно из справочников и должны представлять реальные марки и соответствующие им параметры деталей.
При разработке программы использовался собственный заголовочный файл, включающий директивы препроцессора, определение структуры данных, объявление массива структур, прототипы используемых функций.
В программе предусмотрена защита от ввода пользователем некорректных данных.
1.2 Структура данных
При написании программы был объявлен тип пользователя GkInd (сокращение «ЖК индикаторы»). Данный тип представляет собой структуру, содержащую в себе 5 полей, и предназначен для хранения справочной информации о стабилизаторе напряжения:
- marka – марка ЖК индикатора. Тип поля – строка из 20 символов. Размер строки хранится в константе и его можно изменить;
- price – цена. Тип поля – целое число (int);
- color – цвет свечения. Тип поля – строка из 30 символов. Размер строки хранится в константе и его можно изменить;
1.3 Общая структурная схема программы
Построим структурную схему программы (Рисунок 1.1). Показывающую обработку пользовательского выбора в меню программы и ее функциональное взаимодействие.
1.4 Специальные алгоритмы
1.4.1 Сортировка методом выбора
На первом проходе цикла выбирается минимальный элемент из текущей последовательности и меняется местами с первым элементом последовательности. На следующей итерации цикла поиск минимального элемента осуществляется со второй позиции, после меняется местами найденный минимальный элемент со вторым в списке. Такую процедуру выполняем до конца массива, пока он весь не будет отсортирован.
При сортировке методом выбора среднее число сравнений пропорционально 0,5N², а число перестановок за всё время сортировки пропорционально числу N/2 (N – число элементов в последовательности). Алгоритм данной сортировки схематично показан на рисунке 2.
1.5 Описание назначения функции
Функция void vvod() – предназначена для ввода новой информации и добавления ее в массив. Схема функции представлена на рисунке 5.
1.6 Результаты работы программы на примере конкретных данных
На рисунке 10 представлено числовое меню программы: (...)
ЗАКЛЮЧЕНИЕ
В результате выполнения курсовой работы, была разработан справочник «ЖК индикаторы». Для взаимодействия программы с пользователем был разработан текстовый пользовательский интерфейс.
Для написания любой программы на ЭВМ необходимо выбрать подходящую структуру данных, и алгоритм обработки этих данных, что и было сделано в процессе выполнения курсовой работы. Также в процессе выполнения были получены обширные знания и навыки процедурного программирования, а также закреплены фундаментальные знания, полученные при изучении предмета «Основы алгоритмизации и программирования».
Было проведено тестирование, в результате которого программа показала себя как стабильное приложение, устойчивое к некорректному вводу данных.
Программа имеет специфическую направленность – вся работа ведётся над информацией о ЖК индикаторах. Поэтому использовать её сможет узкий круг людей, но для них она окажется очень полезной.
В процессе выполнения курсовой работы были освоены навыки работы со структурами данных. Получен опыт разработки программы, которая была бы удобна в использования для других людей. Сделаны соответствующие выводы о необходимости внедрения информационных технологий в различные сферы жизнедеятельности, о том, как это действительно упрощает работу с информацией.