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

РГЗ

.pdf
Скачиваний:
16
Добавлен:
27.03.2015
Размер:
158.82 Кб
Скачать

Варианты для расчетно-графического задания по курсу “ИНФОРМАТИКА” за 2ой семестр обучения.

Для каждого задания РГЗ необходимо продумать интерфейс, оптимально подходящий для поставленной задачи. Согласовать интерфейс с преподавателем. Цветовая гамма должна быть выполнена в строгом и разумном стиле. Для каждой функции программы составить блок-схему в электронном виде.

Результат оформить в виде пояснительной записки. Состав пояснительной записки:

титульный лист;

задание;

блок-схемы;

скриншоты программы (всех окон программы и результов);

предложения по улучшению функционала программного продукта.

Студенту допускается выбирать самостоятельно вариант, с согласованием у преподавателя.

Блок дополнительного задания не является обязательным к выполнению. За выполнение дополнительного задания можно получить дополнительные баллы.

Вариант 1.

Создать две программы для шифровки и расшифровки текстовых файлов методом цезаря. Имя файла запрашивается с помощью стандартного диалогового окна. Файл с текстом должен иметь расширение txt. Зашифрованный текст создается с расширением czr.

Дополнительно: реализовать полиалфавитную подстановку и позволить пользователю выбирать алфавит из списка.

Вариант 2.

Написать программу реализующую игру крестики-нолики для двух игроков на поле 3x3. Программа должна определять победителя и вести счет. Каждый игрок должен попеременно играть ноликами или крестиками.

Дополнительно: реализовать алгоритм при котором функции игрока будет выполнять компьютер.

Вариант 3.

Написать программу для нахождения корней полинома произвольной степени. Степень полинома задается отдельным полем ввода. На основании значения этого поля формируются дополнительные поля ввода, для задания коэффициентов полинома. Корни полинома определять функцией roots.

Дополнительно: построить график полинома, с автоматическим подбором диапазона, в который бы входили все корни полинома.

Вариант 4.

Написать программу, генерирующую шахматное поле и расставляющую на нем 8 ферзей в позиции при которой они не бьют друг друга.

Дополнительно: программа должна позволять находить разные варианты расстановки.

Вариант 5.

Написать программу калькулятор. Программа должна выполнять четыре арифметических действия и по модели поведения повторять стандартный калькулятор windows. Дополнительно: реализовать функции памяти калькулятора.

Вариант 6.

Написать программу, имитирующую работу клавиатуры. Управление производится мышью. Должна быть возможность включать “caps lock” и производить смену языка. Дополнительно: реализовать управление с клавиатуры с подсветкой нажатых клавиш.

Вариант 7.

Написать программу, проводящую тест. Вопросы и варианты правильных ответов берутся из файла. Программа подсчитывает правильные ответы и выставляет оценку по 5 бальной системе.

Дополнительно: реализовать возможность разбивки вопросов по темам и формирования списка вопросов в тесте случайным образом с фиксированным количеством вопросов из каждой темы.

Вариант 8.

Написать программу, решающую произвольную систему уравнений. Количество уравнений задается с помощью поля ввода и равно количеству неизвестных величин.

Вариант 9.

Написать программу построения графиков тригонометрических функций. Функции выбираются из списка (не менее 4х). Параметры функций можно менять через интерфейс программы.

Вариант 10.

Написать программу расчета определителя произвольной матрицы. Размерность матрицы задается через интерфейс программы. Программа также должна находить максимальное, минимальное и среднее значение матрицы. При генерации полей ввода матрицы предусмотреть их заполнение случайными числами.

Вариант 11.

Написать программу позволяющую рассчитать ток и напряжения для заданной преподавателем схемы. Интерфейс программы должен содержать схему и, удобно расположенные, поля ввода. В результате расчета необходимо построить графики напряжений на всех элементах и токи во всех ветвях.

Дополнительно: произвести расчет переходного процесса в данной схеме.

Вариант 12.

Написать программу, позволяющую строить графики зависимостей измеренных величин при малых количествах измерений. Для построения использовать интерполяционные методы.

Вариант 13.

Написать программу расчета интеграла квадратного уравнения. Интерфейс программы должен позволять задавать коэффициенты уравнения, диапазон интегрирования и точность расчета.

Вариант 14.

Написать программу, позволяющую играть в морской бой двум игрокам, на одном компьютере. Правила игры: поле 8x8 и 10 одноклеточных кораблей. Игроки ходят по очереди, на время хода одного игрока, поле другого игрока скрывается. Программа рисует пораженные клетки и корабли и определяет победителя.

Дополнительно: реализовать алгоритм, при котором противником игрока будет компьютер.

Вариант 15.

Написать программу-часы. В программе должна быть возможность выбирать варианты цветового оформления фона и шрифта, а также типа шрифта (не менее 5-ти вариантов по каждой позиции). Программа должна выполнять функции будильника – будить человека при помощи стандартного звука Windows.

Дополнительно: программа должна позволять проигрывать wav-файл по выбору пользователя, а также у пользователя должна быть возможность установить количество и интервалы между повторами звукового файла, если пользователь не “отключает будильник”.

Вариант 16.

Написать программу-проигрыватель аудио файлов (wav). Программа должна позволять выбирать файлы с помощью стандартных диалоговых окон, формировать плейлист. Также должна быть возможность выставления громкости воспроизведения, наличие соответствующих кнопок воспроизведения (воспроизведение, пауза, стоп, следующая композиция, предыдущая композиция).

Дополнительно: пользователь должен иметь возможность проигрывания файлов из плейлиста: последовательно или вразброс. Плейлист должен сохраняться на жесткий диск, а также загружаться с него.

Вариант 17.

Написать программу, реализующую функции текстового процессора. Программа должна позволять открывать, редактировать и сохранять файлы в формате txt с помощью стандартных диалоговых окон. При редактировании у пользователя должна быть возможность в изменении оформления оболочки (цвет фона, цвет и тип шрифта, кегль, по каждой позиции не менее пяти вариантов).

Дополнительно: программа должна “запоминать” позицию окна и размеры, а также иные упомянутые параметры при закрытии. У пользователя должна быть возможность копировать данные в буфер обмена, а также вставлять данные из него. Пользователь должен иметь возможность сохранять файлы в бинарном виде, а также архивировать и разархивировать документ (txt) в формате zip.

Вариант 18.

Написать программу для просмотра осциллограмм из файлов формата csv. Программа должна позволять строить один файл-осциллограмму при фиксированном количестве информационных каналов (4 канала). Пользователь должен иметь возможность указывать цвет, толщину и тип кривых сигналов перед построением графиков (по каждой позиции – не менее пяти вариантов), а также добавлять подписи к осям и легенду.

Дополнительно: пользователь должен иметь возможность выставлять произвольные коэффициенты умножения по каждому каналу. У пользователя должна быть возможность пропускать часть csv-файла, в которой хранится рабочая информация. Пользователь должен иметь возможность сохранения данных в формате cdf (Common Data Format), по выбору заменяя имеющийся файл или добавляя в него данные, а также их считывания.

Вариант 19.

Написать программу-видеоплеер. Программа должна позволять формировать плейлист с помощью стандартных диалоговых окон. У пользователя должна быть возможность воспроизводить файлы из плейлиста в произвольном порядке или последовательно. Программа должна иметь кнопки управления проигрыванием (предыдущий, следующий файл, воспроизведение, стоп).

Дополнительно: пользователь должен иметь возможность сохранять и загружать плейлист, а также экспортировать его в формате xls. В случае, если в плейлист попадает файл иного формата (doc, xls и т.д.), должна запускаться соответствующая программа из Windows, файл должен автоматически удаляться из плейлиста с сообщением о событии, а программа должна проигрывать следующий файл.

Вариант 20.

Написать программу, позволяющую осуществлять простейшую обработку данных (усреднение) из рабочей области (workspace) Matlab, выбрав необходимую переменную из списка. У пользователя должна быть возможность задавать количество точек, по которому осуществляется усреднение. После завершения обработки обе кривых (исходная и обработанная) должны быть построены на одном графике.

Дополнительно: программа должна позволять при необходимости использовать технологию распараллеливания задач, а также выводить время, затраченное на обработку данных. Пользователь должен иметь возможность сохранения обработанных и исходных данных в форматах cdf (Common Data Format) и xls.

Вариант 21.

Написать программу, позволяющую вести заметки. Заметки должны храниться в базе данных (отдельный файл в формате mat) на жестком диске компьютера. Заметки должны разбиваться по нескольким категориям, а также должна быть возможность изменять/удалять/создавать заметки в имеющихся категориях.

Дополнительно: программа должна записывать при закрытии информацию о позиции окна и его размерах, а также должна быть возможность создавать новые категории заметок и удалять/переименовывать старые. У пользователя должна быть возможность экспортирования заметок в формате xls, причем каждая категория заметок должна быть на отдельном листе.

Вариант 22.

Написать программу-календарь. Пользователь должен иметь возможность изменять просматриваемый месяц/год, а также иметь как минимум три разных формы представления количества дней на одном листе календаря (например, одна неделя/месяц/три месяца). Программа должна позволять изменять фоновый цвет календаря, а выходные дни должны выделяться особым цветом.

Вариант 23.

Написать программу-генератор, позволяющую создавать (с выводом в окне) и записывать на жесткий диск сигналы синусоидальной, пилообразной формы или меандр, при этом

должны задаваться произвольно длительность сигнала, амплитуда сигнала, количество записываемых точек. Формат файла - бинарный или csv (должна быть возможность выбора).

Дополнительно: у пользователя должна быть возможность выбрать символ-разделитель (в случае записи в формате csv), а также записать некоторую служебную информацию (умещающую в пределах двух столбцов и пяти строк). Пользователь должен иметь возможность записи в формате cdf (Common Data Format).

Вариант 24.

Написать программу, реализующую функции секундомера и таймера. Пользователь должен иметь возможность выставлять произвольную мелодию в wav-формате при запуске таймера. Работа таймера должна быть визуализирована. Пользователь должен иметь возможность запускать одновременно несколько (до трех) независимых друг от друга таймеров или секундомеров.

Дополнительно: реализовать возможность по истечении времени таймера запускать стороннюю программу. Реализовать возможность указания порядка запуска таймеров.

Вариант 25.

Написать программу-проводник, имеющий несколько панелей для одновременного отображения диска, каталога, а также содержимого текущего каталога. После закрытия в программе должен сохраняться последний открытый каталог, а после запуска программы последний открытый каталог должен вновь открываться. В разработанном проводнике при двойном клике мышкой на файле должно запускаться приложение, установленное для конкретного типа файлов по умолчанию. Пользователь должен иметь возможность удаления файлов с помощью специальной кнопки.

Дополнительно: все открытые файлы с полными путями должны записываться в отдельной области (история), а также должна быть возможность запускать эти файлы повторно из истории. У пользователя должна быть возможность копирования/перемещения выбранных файлов из одного окна в другое, а также создания/удаления новых папок. В случае неудачного завершения операции (нет прав на запись и т.д.) пользователю должно выводиться соответствующее сообщение.

Вариант 26.

Написать программу, напоминающую пользователю о различных событиях (дни рождения, день зачета или экзамена и т.д.) с возможностью установки времени оповещения. У пользователя должна быть возможность классификации выводимых сообщений по группам событий и по объектам, к которым эти события относятся. Программа должна иметь файл базы данных (в формате mat или cdf), хранящийся на жестком диске компьютера.

Дополнительно: пользователь должен иметь возможность экспортировать необходимую информацию о датах в формате xls. Пользователь должен иметь возможность проигрывать один из десяти выбранных wav-файлов для различных категорий событий. Пользователь также должен иметь возможность выбирать разные картинки из имеющейся базы данных для определенных видов оповещений.

Вариант 27.

Написать программу, позволяющую динамически считывать листы таблицы Excel размерностью от 1х1 до 10х10 ячеек и сохранять их при необходимости в файлы ASCII с разделителем в виде запятой. Программа должна позволять самостоятельно создавать таблицы с такими размерностями (до 10х10) и сохранять их как в виде ASCII-файлов, так и в виде xls-файлов. У пользователя должна быть возможность сравнения двух различных xls-файлов.

Вариант 28.

Написать программу, реализующую функции генератора с возможностью задания суммы синусоид. Пользователь должен иметь возможность задания кроме основной гармоники (синусоиды) не менее пяти различных гармоник, при этом должна быть возможность задания амплитуды, фазы и частоты накладываемых гармоник. Полученный сигнал должен быть построен на графике, а также сохранен на диске в формате mat.

Дополнительно: программа должна позволять экспорт полученного сигнала в форматах xls и cdf. Количество записываемых точек при генерации сигнала и экспорте данных должно задаваться пользователем. Пользователь должен иметь возможность организации бесконечной записи сигнала в файл до нажатия некоторой контрольной кнопки. Данные о файле и записанной длительности сигнала должны выводиться в режиме реального времени в специальное окно программы. При переполнении диска у пользователя должна быть возможность продолжения записи программы без сбоя (при нажатии кнопки “возобновить”).

Вариант 29.

Написать программу-архиватор, позволяющую распаковывать и упаковывать файлы формата zip и tar. Программа должна иметь удобный и наглядный интерфейс с двумя панелями, позволяющий использовать открытый каталог в одной панели как источник для файлов, а каталог в другой панели – как приемник для запакованных/распакованных файлов.

Дополнительно: при следующем открытии программа должна открыть в каждой из панелей папки, открытые при последнем закрытии программы, а также должна восстановиться последняя позиция окна и его размеры. Пользователь должен иметь возможность сравнения двух архивов. Программа должна позволять копировать/переносить файлы из одной панели в другую, а также удалять их. В случае, если права на запись отсутствуют или приемник переполнен, пользователь должен получить соответствующее уведомление.

Вариант 30.

Написать программу, позволяющую анализировать график, находящийся в рабочей области (workspace) Matlab, заключающегося в нахождении максимумов, минимумов, медианы, среднего значения. В случае, когда на графике имеется несколько критических точек, пользователь должен иметь возможность выбора количества точек, которое необходимо выделить на графике.

Дополнительно: у пользователя должна быть возможность выбора графика из списка переменных, загруженных в рабочую область Matlab. Программа должна поддерживать формирование подписей мышкой на строящихся графиках. Переменная, используемая для отображения графика, должна при необходимости экспортироваться в одном из выбранных форматов: csv, cdf или xls.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]