2K_programuvanna / Программирование на С. Курсовая. 2 курс
.rtfТребования к курсовым работам
Работа должна быть оформлена согласно требованиям к оформлению курсовых работ (http://chekalov.sumdu.edu.ua/senior/bak/rules/index.htm).
Работа должна содержать:
-
Титульный лист.
-
Оглавление.
-
Постановка задачи.
-
Описание математической модели (если требуется).
-
Описание алгоритма работы программы, перечень основных функций, описание правил использования программы, скриншоты.
-
Литература.
-
Текст программы, оформленный, как приложение.
Тема курсовой работы может быть выбрана из списка предложенных, но им не ограничивается. Согласование темы курсовой работы с преподавателем обязательно.
Варианты тем курсовой работы
База данных
Необходимо реализовать базу данных. Данные необходимо хранить в одном или нескольких бинарных файлах. Программа должна предоставлять пользователю возможность просматривать, создавать, удалять и изменять любую информацию. Программа должна учитывать большие объемы данных, а именно использовать динамические структуры данных для хранения информации во время работы. При выводе на экран данные должны разбиваться на страницы с навигацией.
-
Задание на 3: Программа должна реализовывать базовые функции.
-
Задание на 4: Программа должна быть оптимизирована для поиска по конкретному (одному) полю.
-
Задание на 5: Программа должна давать возможность пользователю сортировать и фильтровать данные по любому полю.
Варианты заданий:
-
Создать базу данных, которая содержит сведения об ассортименте детских книг в магазине. Структура записи: название книги, цена, количество, возрастные ограничения, например 2-5, то есть от 2 до 5 лет. Количество записей произвольно. Написать программу, в результате выполнения которой выдаются такие данные:
-
названия книг, которые подходят детям от Х до У лет;
-
стоимость наиболее дешевой книги и ее наименование;
-
названия книг, которые по стоимости не превышают x грн. и подходят ребенку возрастом от a до b лет. Значения x, a, b ввести с терминала.
-
-
Создать базу данных, которая содержит сведения о телефонах абонентов. Каждая запись имеет поля: фамилия абонентов, год установки телефона, номер телефона, адрес. Количество записей произвольно. Написать программу, которая выдает информацию такого вида:
-
по введенной фамилии абонента выдается номер телефона;
-
по введенному номеру телефона выдается фамилия и адрес абонента;
-
определяется количество установленных телефонов с ХХХХ года. Номер года вводится с клавиатуры.
-
-
Создать базу данных, которая содержит сведения об ассортименте игрушек в магазине. Структура записи: название игрушки, цена, количество, возрастные ограничения, например 2-5, то есть от 2 до 5 лет. Количество записей произвольно. Написать программу, в результате выполнения которой выдаются такие сведения:
-
названия игрушек, которые подходят детям от Х до У лет;
-
стоимость наиболее дорогой игрушки и ее наименование;
-
название игрушки, которая по цене не превышает x грн. и подходит ребенку возрастом от a до b лет. Значения x, a, b ввести с терминала.
-
-
Создать базу данных, которая содержит сведения о сдаче студентами сессии. Структура записи: индекс группы, фамилия студента, оценки по пяти экзаменам, признак участия в общественной работе: "1" - активное участие, "0" - неучастие. Количество записей произвольно. Написать программу начисления стипендии студентам группы X. Студент, который получи все оценки "5" и активно принимал участие в общественной работе, зачисляется на повышенную стипендию (доплата 50%), неактивно принимал участие - доплата 25%. Студенты, которые получили "4" и "5", зачисляются на обычную стипендию. Студент, который получил оценку "3", но активно занимается общественной работой, также зачисляется на стипендию, в противном случае начисления не проводится. Индекс группы и базовая стипендия вводятся с клавиатуры.
-
Создать базу данных, которая содержит сведения о личной коллекции книголюба. Структура записи: шифр книги, фамилия автора, название, год издания, место размещения (номер стеллажа и др.). Количество записей произвольно. Написать программу, которая выдает следующую информацию:
-
местонахождение книги автора X названия Y. Значения X, Y ввести с терминала;
-
список книг автора Z , которые находятся в коллекции;
-
количество книг издания XX года, которые есть в библиотеке.
-
-
Создать базу данных, которая содержит сведения о наличии билетов и рейсы Аэрофлота. Структура записи: номер рейса, пункт назначения, время вылета, количество свободных мест в салоне. Количество записей произвольно. Написать программу, которая выдает следующую информацию:
-
время отправления самолетов в город X;
-
наличие свободных мест на рейс в город X, время отправления Y; Значения X, Y вводятся по запросу с клавиатуры.
-
-
Создать базу данных, которая содержит сведения об ассортименте обуви в магазине фирмы. Структура записи: артикул, наименование, количество, стоимость одной пары. Количество записей произвольно. Артикулы начинаются из буквы Д для дамской обуви, М для мужской, П для детского. Написать программу, которая выдает такую информацию:
-
о наличии и стоимости обуви артикула Х;
-
ассортиментный список дамской обуви с указанием наименования и наличия количества пар каждой модели.
-
Использование структур данных
Задание на 3: В файле найдите и выведите все анаграммы, то есть слова полученные перестановкой букв. Например “Мир”-”Рим”, “Остр”-”Рост”.
Арифметика
Реализовать калькулятор – программу которая вычисляет выражение записанное в обратной польской нотации.
-
Задание на 3. Операции +, -, *, /, (,).
-
Задание на 4. Операции +,-, (,). Реализовать использование чисел произвольной точности.
-
Задание на 4 (вариант 2). Реализовать преобразование введенного выражения из инфиксной формы в польскую запись и его вычисление. Операции +, -, *, /, (,).
-
Задание на 5. Операции +, -, *, /, (,). Реализовать использование чисел произвольной точности.
Арифметика 2
Задание на 4. Реализует программу, которая позволяет складывать и вычитать целые числа произвольной точности в позиционной системе счисления с основанием A. (-10 <A<1000)
Логика
Задание на 4. Реализовать калькулятор – программу которая вычисляет логическое выражение записанное во входной строке. Операции “не”, “и”, “или”.
Геометрия
Задание на 4. В файле записан набор точек. Выпуклая оболочка – наименьший выпуклый многоугольник, содержащий данные точки. Найдите периметр выпуклой оболочки. При работе с точками использовать динамическую структуру.
Фильтрация данных
Задание на 4. В файле записаны данные про курс южно-африканского тугрика по отношению к северо-гвинейскому бобрику за последнее столетие. Найдите время когда нужно купить тугрики и время, когда их нужно продать, чтобы получить максимальную прибыль.
Архивация данных
Реализовать программу, которая сжимает и разархивирует данные по алгоритму Хаффмана.
Задание на 4. Словарь определен заранее.
Задание на 5. Словарь строится автоматически по входным данным и сохраняется вместе со сжатыми данными.
Матрицы
Реализуйте программу работы с матрицами произвольного размера.
Задание 3. Умножение матриц.
Задание 4. Умножение матриц, наложение обратной матрицы.
Задание 5. Умножение матриц, наложение обратной матрицы, нахождение ранга матрицы.
Работа с файловой системой
Реализовать программу выполняющую подсчет размера, занимаемого данным каталогом, с учетом подкаталогов. Вывести на экран размер указанного каталога и его подкаталогов.
Задание на 3. Оформить вывод на экран. Предусмотреть возможность фильтрации по размеру каталога.
Задание на 4. Тоже, что и на 3. Предусмотреть возможность сортировки по размеру или имени каталога.
Задание на 5. Тоже, что и на 4. Использовать для хранения структуры файловой системы динамическую структуру, реализовать возможность ее сохранения на диск.