
2K_programuvanna / kr
.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: Программа должна выводить решение СЛАУ по шагам с комментариями, чтобы проиллюстрировать метод Гаусса.
Аппроксимация функций
Построить аппроксимирующую зависимость для аналитического описания результатов 9
экспериментов, в каждом из которых на вход системы подается значение параметра Х, а
на выходе регистрируется реакция У.
-
Задание на 3: Выбрать вид функции, методом наименьших квадратов найти неизвестные коэффициенты избранной функции.
X 0,75 0,78 0,83 0,88 0,93 0,98 1,03 1,21 1,45
Y 10 32,5 47,7 46,1 90 91 95,6 98,2 102
Решение уравнений высоких степеней
Написать программу, которая находит корни уравнения, заданного полиномом произвольной степени (меньше 10).
-
Задание на 3: Решать уравнение методом Ньютона, вводя коэффициенты полинома и начальную точку.
-
Задание на 4: Находить максимальное количество корней, самостоятельно определяя начальные точки.
-
Задание на 5: Считывать полином в виде 5x2 + 6x - 2x2 + 3 - 1 = 6 + 2x3, самостоятельно приводя его к нормальному виду (тут под х2 понимается х2).
Система шифрования Цезаря
Написать программу шифрования/дешифрования файлов с использованием шифра Цезаря. Программа должна шифровать используя указанное смещение.
-
Задание на 3: Реализуйте программу взлома шифра цезаря.
Шифр Виженера
Написать программу шифрования/дешифрования файлов методом Виженера.
-
Задание на 3: Расшифровать следующую криптограмму (ключевое слово – EMPIRE), учитывая, что алфавит содержит пробел, за которым следуют символы латинского алфавита.
MRPPIFGOUMRYMAHNRYMDUNRWZOANJEF TIZNIMIQWREQUNGEIALWRNSMXRJEUASTWYENCMRYMRCIZJEEICXKJQPQ XEBDLBJYMLRKMETGJJXEEDIKMFFPBZJEZDWWCEIDCCIE DBRKFYAIFZY
Шифрование RSA
Написать программу шифрования с открытым ключом RSA.
Программа должна генерировать пару публичного/приватного ключей, шифровать/дешифровать файлы используя указанный ключ.
-
Задание на 4: Использовать 16-битный ключ.
-
Задание на 5: Использовать 128-битный ключ.