OOP_kurs_2


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
МІНІСТЕРСТВО ОСВІТИ
І НАУКИ, МОЛОДІ ТА С
ПОРТУ УКРАЇНИ
ДЕРЖАВНИЙ ВИЩИЙ НАВЧ
АЛЬНИЙ ЗАКЛАД
ДОНЕЦЬКИЙ НАЦІОНАЛЬН
ИЙ ТЕХНІЧНИЙ УНІВЕРС
КАФЕДРА АВТОМАТИЗОВА
НИХ СИСТЕМ УПРАВЛІНН
МЕТОДИЧНІ ВКАЗІВКИ
до виконання
курсової роботи
з ди
сципліні
«Об’єктно
орієнтоване програмування»
для студентів
напряму
6.05010
«Комп’ютерні науки»,
спеціальності «
Інформаційні управляючі системи т
технології
» (шифр 05010
Розглянуто
на засіданні кафедри АСУ
протокол №
від
__________
Затверджено
на засіданні
навчально
видавничої ради ДВНЗ
«ДонНТУ»
протокол №
від
__________
Донецьк
УДК 681.3.01
Методичні вказівки до виконання
курсової роботи
з дисципліни «
Об’єктно
орієнтоване програмування
» для студентів спеціальності «
Інформаційні
управляючі системи та технології
» (шифр 6
05010
денної форми
навчання. /
Скл. доц., к.т.н. Пр
валов М.В.
, ас. Поляков О.І.
Донецьк, 2010
с.
Приведено теоретичний матеріал, необхідний для виконання лабораторних робіт,
вимоги до
зміст
звіту
нтрольні запитання.
Укладачі:
валов М.В., доцент, к.т.н.
Поляков О. І., асистент
Рецензент
ЗМІСТ
Вступ…
………………………………
………………………………….

1. Загальні положення…………………………………………………………….5
2. Вимоги до виконання курсової
роботи…….………………………………….6
3. Вимоги до оформлення курсової роботи…….………………………………..7
4. Приклади екранних форм та графіків, що вимагаються……………………..9
5. Рекомендована література………………….………………………………...13
Додаток А.
Варіанти індивідуальних завдань
………………
………….








ВСТУП
Дисципліна
Об’єктно
орієнтоване програмування

призначена для вивчення
основ побудови програмного забезпечення на об’єктно
орієнтованих принципах.
дисципліни
вивчаються наступні основні питання:
Класи, об’єкти,
взаємовідносини між ними
Наслідування, поліморфізм.
Абстрактні класи.
Перевизначення
операцій
Загальні типи, шаблони функцій та класів
Лабораторні роботи з курсу
націлені на практичне освоєння навичок з зазначених
розділів шляхом
створення об’
єктно
орієнтованих програм, які
побудовані із
використанням парадигм ООП
ОБЩИЕ ПОЛОЖЕНИЯ
Цель и задачи курсовой работы.
Целью курсовой работы по дисциплине «Объектно
ориентированное
программирование» является практическое закрепление приобретенных
навыков
алгоритмизации и программирования с использованием современных средств
вычислительной техники.
В результате выполнения курсовой работы студенты должны приобрести
следующие практические навыки и умения:
выбор и использование математических методов
решения задачи;
формализация и алгоритмизация поставленной задачи, определение
необходимых классов и объектов;
разработка и отладка программ с использованием объектно
ориентированного
языка высокого уровня
++;
проведение и анализ результатов вычислительны
х экспериментов;
оформление документации с соответствии с ГОСТ и ЕСПД.
Содержание и этапы выполнения курсовой работы.
В процессе выполнения курсовой работы студент в соответствии с
индивидуальным заданием должен:
а) уяснить и сформулировать развернутую п
остановку задачи программирования;
б) произвести анализ и выбор метода решения задачи;
в) выполнить необходимые этапы формализации и алгоритмизации математической
задачи
если таковая присутствует
г) выполнить необходимые этапы объектно
ориентированного
анализа,
проектирования и программной реализации для поставленной задачи;
д) решить поставленную задачу на ПК;
е) проанализировать полученные результаты;
ж) оформить и защитить курсовую работу.
ТРЕБОВАНИЯ К ВЫПОЛНЕ
НИЮ КУРСОВОЙ РАБОТЫ
Указанные
вариантах заданий
программы должны
быть реализован
в виде
набора классов
, инкапсулирующего исходные данные и методы их обработки
объединенные
различными вариантами ассоциации
и наследования.
В случае построения графиков функций и
нформация об итерациях
пройденных в процессе решения,
и необходимых для вывода результатов и
построения графиков, должна быть сохранена в отдельном классе. В этом классе
требуется переопределить операцию индексирования для доступа к результатам, а
также операции потокового выв
ода в файл и на экран.
Для хранения любых массивов данных необходимо создать шаблон вектора,
который будет инстанцирован требуемым типом в каждом конкретном случае.
Построение графика должно быть реализовано в виде отдельного класса.
Построение должно вып
олняться на основании данных об итерациях и информации
о том, какая величина будет откладываться по оси
, а какая по
Все элементы пользовательского интерфейса должны быть выполнены в виде
классов. Перечень возможных элементов приведен ниже:
a.
меню пользо
вателя
окно для вывода информации
c.
поле ввода
кнопка
e.
радиокнопка и группа радиокнопок
триггер
список
Использование элементов управления 5д, 5е или 5ж и вид меню в программе
определяется вариантом.
Запрещается использовать при выполнении курсовой работы визу
альные
средства программирования или готовые объектно
ориентированные
библиотеки для создания пользовательского интерфейса: все элементы
должны быть реализованы самостоятельно.
a.
Исключение
согласование
задания
с преподавателем
ТРЕБОВАНИЯ К ОФОРМЛЕ
НИЮ
КУРСОВОЙ РАБОТЫ
Результаты выполнения курсовой работы выполняются каждым студентом в
виде пояснительной записки, содержащей следующие материалы:
титульный лист типовой формы;
лист индивидуального задания;
реферат;
содержание;
введение;
основная часть, со
держащая в себе пункты и подпункты, описывающие все
стороны выполнения курсовой работы;
заключение (выводы по курсовой работе);
список литературы;
приложения (листинги программ, сложные схемы, числовой материал и
результаты вычислительного эксперимента).
Реферат должен включать:
сведения об объеме пояснительной записки, количестве рисунков, таблиц,
использованных источников;
перечень ключевых слов реферируемого отчета, которых включает от 5 до 15
слов в именительном падеже;
текст реферата.
Основная часть
пояснительной записки должна включать как минимум
следующие разделы:
Постановка задачи.
Анализ существующих методов решения задачи
(или способов реализации
компонентов ОО
программы)
Описание разработанных алгоритмов решения задачи (если имеются)
Описание
разработанного объектно
ориентированного
решения поставленной
задачи:
4.1.
Описание основных абстракций, созданных для решения задачи
4.2.
Описание и обоснование заданных отношений между классами и
примененных паттернов проектирования
обязательно наличие
диа
граммы
классов
проекта
4.3.
Подробное описание структуры ключевых классов
(назначение основных
атрибутов и методов)
4.4.
Инструкция по работе с разработанной программой.
Анализ полученных результатов.
Выводы
ПРИМЕРЫ
ТРЕБУЕМЫХ
ЭКРАННЫХ ФОРМ И ГРАФ
ИКОВ
Примеры
экранных форм программы
(реализация
Borland
Примеры требуемых графиков:
График приближения к точке решения
График зависимости количества итераций от точности
График
изменения нормы от количества итераций.
РЕКОМЕНДОВАННАЯ ЛИТЕРАТУРА
Б. Страуструп. Язык программирования С++. Специальное издание.
Бином,
2006.
1104с.
Ю.Ю. Громов, С.И. Татаренко. Программирование на языке Си: Учебное
пособие.
Тамбов,
1995.
169с.
Скляров В.А. Программирование на языках Си и Си++.
М.: Высшая школа,
1996.
Березин Б.И., Березин С.Б. Начальный курс С и С++.
М.: ДИАЛОГ
МИФИ,
1999.
Г. Буч. Объектно
ориентированный анализ и проектирование с примерами
приложений на C++.
Бином, 1998.
560с.
Т. А. Павловская, Ю. А. Щупак, С++, объектно
ориентированное
программирование: практикум.
СПб: Питер, 2006.
265 с.
Т. А. Павловская, Ю. А. Щупак
С/С++, программирование на языке высокого
уровня: практикум. СПб: Питер, 2003.
40 с.
Х. Дейтел, П. Дейтел. Какпрограммировать на С++. М.:Бином. 1998Р. Лафоре.
Обьектно
ориентированное
программирование в С++.
СПб: Питер, 2003
928 с
Брюс Эккель. Философия С++. Введение в стандартный С++ (2
е издание).
СПб: Питер, 2004
573 с
Приложение
Варианты индивидуальных заданий на курсовую работу по дисциплине "Объектно
ориентированное программирование" для студентов специальности "Информационные
управляющие системы
и технологии
Элементы управления, редакторы, моделирование
Вариант
Создать класс, представляющий элемент интерфейса пользователя
таблицу. Входными
данными для отображения в таблице являются поля динамического массива записей о студентах
группы.
Основное меню приложения:
Файл, Данные, Помощь
. Подменю
Файл
Открыть,
Сохранить,
Сохранить как..., Выход
. Подменю
Помощь
Инструкция, О программе
. Исходные данные
должны считываться из файла. Результаты тоже должны записываться в файл.
Поведение.
Для выбора файла для чтения или записи необходимо создать диалог, в котором
будет поле ввода
"Имя", кнопки Ок, Отмена и 2 радиокнопки, позволяющие выбрать формат файла: текстовый или
двоичный.
Курсор должен перемещаться по ячейкам. Реакция на нажатие Enter должна открывать диалог для
редактирования значения ячейки, в котором имее
тся поле ввода и кнопки Ок и Отмена.
Запись должна выполняться как путём выбора пункта меню, так и по нажатию F2. Открытие
файла
аналогично, по нажатию F3. При наличии измененного,
но не сохраненного списка и
попы
тке откр
ть файл должен быть выдан диалог
с кнопками "Да", "Нет" для подтверждения
автоматического сохранения или отказа от изменений.
Внутреннее устройство.
Для хранения массива записей должен быть создан шаблон вектора, в котором переопределена
операция индексирования.
Вариант 2.
Создать кла
простой текстовый редактор. Входная информация должна считываться из
текстового файла, отредактированный текст записываться в него же или в отдельный файл.
Основное меню приложения:
Файл, Статистика, Помощь
. Подменю
Файл
Открыть,
Сохранить,
Сохранить как..., Выход
. Подменю
Статистика
О файле, О тексте
. Подменю
Помощь
Инструкция, О программе
Поведение.
Редактор должен представлять собой на экране окно с рамкой и текстом внутри, а также статусной
строкой внизу
самой нижней строкой
экрана, в которой отображается текущая позиция курсора
в виде "строка:столбец" и строка "Изменён" или "Сохранён", в зависимости от наличия не
сохраненных изменений. Редактор должен обеспечивать простейшие операции: ввод, вставку,
удаление, прокрутку текста
и перемещение курсора. Курсор реализовать как знакоместо с фоном,
отличающимся от основного.
Открытие и сохранение помимо меню должны соответственно выполняться по нажатию клавиш
F3 и F2.
При попытке открыть файл и наличии не сохраненных изменений должен
быть выдан диалог с
кнопками "Да", "Нет" для подтверждения автоматического сохранения или отказа от изменений.
Статистика файла: имя размер, дата модификации.
Статистика текста: количество строк (для данного окна), количество слов, количество абзацев.
риант 3.
Создать класс
построитель графиков функций. Функция должна быть задана массивом точек X
и Y в файле.
Основное меню приложения:
Файл, График, Помощь
. Подменю
Файл
Открыть, Выход
Подменю
График
Доб. в текущую сетку, Добавить в новую сетку,
Удалить
. Подменю
Помощь
Инструкция, О программе
Поведение.
Добавление графика должно выполняться либо на текущую сетку координат, либо на новую. В
первом случае должен быть изменен масштаб сетки так, чтобы обе функции, заданные массивами
точек, полнос
тью поместились на графике. Во втором
чтобы корректно изменить размер
графика и координатной сетки. Для перехода между несколькими координатными сетками следует
использовать клавишу TAB. Добавление графика на текущую сетку координат должно
осуществляться
по кнопке "+" Num Pad. Добавление на новую сетку координат
по клавише
Insert. Удаление
по клавише Delete. запретить отображение более 4х сеток. Запретить удаление
последнего графика.
При добавлении графика должно отображаться диалоговое окно для выбор
а файла с данными. В
диалоговом окне должно присутствовать поле ввода для имени файла, кнопка
триггер (checkbox)
для указания, что исходный файл двоичный и кнопки Ок и Отмена.
Текстовые и двоичные файлы с таблично заданными функциями подготовить самостоят
ельно.
Основное требование: функции должны иметь разные, пересекающиеся, диапазоны значений
абсцисс и ординат.
Внутреннее устройство.
Для упрощения выполнения данного задания рекомендуется создать отдельные классы для сетки
координат и графика. Оценка "от
лично" по курсовой работе может быть выставлена только при
выполнении данного требования.
Вариант 4.
Создать класс, реализующий часы
будильник, которые можно было бы отображать в любой
заданной позиции текстового экрана. Основное меню приложения:
Файл, Ч
асы, Будильник,
Помощь
. Подменю
Файл
Выход
. Подменю
Часы
Показать, Скрыть, Переместить,
Установить время
. Подменю
Будильник
Включить, Выключить, Установить время
Подменю
Помощь
Инструкция, О программе
Поведение.
При выборе пункта меню
Показать
должен быть отображен диалог, в котором имеется два поля
ввода для указания координат X и Y для отображения часов. Аналогичный диалог показывается
при выборе пункта
Переместить
. По умолчанию устанавливается текущее время. Его можно
изменить с помощью пункт
Установить время.
При установке указываются часы и минуты.
Подобный диалог отображается для задания времени срабатывания будильника. Будильник
должен срабатывать только во включенном состоянии.
В нижней строке экрана должно отображаться состояние будильн
ика: Вкл/выкл и установленное
время.
Внутреннее устройство.
Возможной реализацией будильника является циклическое считывание текущего времени с
помощью функции time внутри метода класс, "запускающего" будильник. В цикле также должны
обрабатываться нажатия
клавиш и передаваться на обработку в меню.
Вариант 5.
Создать класс
примитивный графический редактор. В нём реализовать добавление линий и
прямоугольников. Основное
графическое
меню приложения:
Файл, Правка, Помощь
. Подменю
Файл
Открыть, Сохранить,
Выход
. Подменю
Правка
Добавить линию, Добавить
прямоугольник, Установить цвет
. Подменю
Помощь
Инструкция, О программе
Поведение.
При добавлении линии должен появиться графический курсор
крестик из двух линий длиной 3
пикселя. Он должен перемещатьс
я по рабочему окну клавишами управления курсором. Нажатие
Enter фиксирует первую точку линии, и курсор начинает перемещаться как вторая точка,
отображая текущую линию. Повторное нажатие Enter фиксирует вторую точку и линия остаётся
на экране. Для прямоугол
ьника
аналогично, но фиксируется левый верхний и правый нижний
угол. Выбор цвета осуществляется в диалоге, в котором представлен список доступных цветов
(четыре
достаточно).
Внутреннее устройство.
Рабочая область
это графическое окно (реализуется в
виде класса), с которым должен быть
ассоциирован массив добавленных фигур (реализуется как шаблон вектора). При добавлении
новых фигур возможны пересечения с уже отрисованными, поэтому перед отрисовкой нового
положения курсора, второй точки фигуры или её о
кончательного положения желательно
перерисовать имеющиеся.
Вариант 6.
Создать класс
примитивный редактор диаграмм. Для упрощения блоки диаграммы можно
располагать только в строчку на одном уровне, разрешается несколько строк блоков, диаграмма
последова
тельная. Основное
графическое
меню приложения:
Файл, Правка, Помощь
. Подменю
Файл
Открыть, Сохранить
Выход
. Подменю
Правка
Добавить блок, Добавить стрелку
Подменю
Помощь
Инструкция, О программе
Поведение.
При добавлении блока должен появиться гр
афический курсор
крестик, составленный из двух
линий длиной 5 пикселей. Он должен перемещаться по рабочему окну клавишами управления
курсором. Нажатие Enter фиксирует левый верхний угол блока. Размер блока стандартный. Сразу
же после фиксации блока польз
ователю должно быть выдано диалоговое окно, в котором
пользователю предлагается ввести текст блока. Аналогично, но без ввода текста, добавляются
стрелки.
Внутреннее устройство.
Рабочая область
это графическое окно (реализуется в виде класса), с которым
должен быть
ассоциирован массив добавленных фигур (реализуется как шаблон вектора). При добавлении
новых фигур возможны пересечения с уже отрисованными, поэтому перед отрисовкой нового
положения курсора желательно перерисовать имеющиеся.
Вариант 7.
Созд
ать класс, визуализирующий перемещение шарика внутри прямоугольной области.
Считается, что все удары о стенки абсолютно упругие. Через меню программы должна задаваться
начальная скорость шарика и величина отрицательного ускорения. Подсчитать количество уда
ров,
время полёта шарика и вывести информацию обо всех соударениях: номер, время, скорость.
Основное текстовое меню приложения:
Файл
Сохранить, Загрузить, Выход
, Моделирование
Параметры,
Пуск/Стоп
Справка
О программе, Помощь
Поведение.
При запуске
программы должно появиться меню и рабочая область. При попытке первый раз
запустить моделирование, не выполнив настройки, должно быть показано окно настроек.
Моделирование возможно только если параметры заданы. Моделирование в любой момент можно
приостано
вить, войдя в меню. После этого модель можно сохранить в текстовый файл.
Обеспечить возможность загрузки сохраненных моделей и запуск.
Внутреннее устройство.
Объектно
ориентированное меню с обязательным выделением базовых классов, класс
сущность
для хране
ния и загрузки/выгрузки настроек, класс
контейнер для хранения списка данных о
соударениях, моделирующий класс.
Вариант 8.
Создать программу, выполняющую вычисление определенного интеграла методом левых, правых
прямоугольников и трапеций. Исходные данные
: функция, шаг, пределы и метод интегрирования.
Результат: значение интеграла, визуальное представление функции и процесса интегрирования.
Обеспечить изменение шага, пределов и метода интегрирования с помощью горячих клавиш и
через меню с автоматическим пе
рерасчётом значения интеграла и обновлением визуального
представления. Приращение шага, пределов и масштаба тоже задавать через меню.
Функция должна вводиться с клавиатуры во время работы программы!
Интерфейс пользователя: графический.
Меню горизонтальное,
расположено слева: Файл , Параметры, Справка
Внутреннее устройство.
Объектно
ориентированное меню с обязательным выделением базовых классов, класс для
синтаксического разбора и выполнения функции (плюс класс
стек), классы, реализующие методы
(реализовать
с абстрактным).
Вариант 9.
Создать программу, выполняющую построение линий уровня поверхностей второго порядка.
Исходные данные: уравнение поверхности, шаг линий уровня, точность вычислений, область
построения линий уровня. Результат: графическое изображ
ение линий уровня. Предусмотреть
возможность масштабирования графика (шаг задаётся), смены цвета линий, смену шага с
помощью горячих клавиш.
Уравнение поверхности должно вводиться с клавиатуры во время работы программы!
Интерфейс пользователя графический,
меню горизонтальное.
Внутреннее устройство.
Объектно
ориентированное меню с обязательным выделением базовых классов, класс для
синтаксического разбора и вычисления уравнения, класс
координатная сетка, графический
класс.
Вариант 10.
Разработать программу
для игры пользователя с компьютером в лото. Пользователь выбирает себе
карточку из списка доступных, после этого программа генерирует случайным образом число и
заполняет карточки. Выигрыш должен определяться программой. Обеспечить хранение профиля
пользов
ателя и общего количества побед и поражений для каждого профиля.
Текстовое горизонтальное меню.
Внутреннее устройство.
Объектно
ориентированное меню с обязательным выделением базовых классов, класс
карточка
(при необходимости, игровые графические элемент
ы реализовать отельными классами), класс
профиль с возможностями загрузки и сохранения.
Вариант 11.
Разработать класс, представляющий собой элемент управления
ComboBox, который
позволяет работать с произвольным количеством элементов и обеспечивать возможность из
добавления как программно, так и из текстового фйла. Должны задаваться размер по горизонтал
и,
количество отображаемых записей в выпадающем списке. Разворачивание списка должно
выполняться по комбинации клавиш Ctrl+Down, перемещение по элементам
с помощью Up,
Down, горизонтальная прокрутка
Left, Right, выбор элемента
Enter, отмена выбора с
сохранением предыдущего
Esc. Должна быть возможность определить индекс выбранного
элемента и его текст. С помощью созданного элемента решить следующую задачу.
В расписании движения самолетов из аэропорта г. Донецка указаны следующие сведения:
номер рейс
а (4 цифры), аэропорт назначения, расстояние в км, стоимость билета (взрослый билет,
детский билет), время в часах и мин. (отправление, прибытие в аэропорт назначения). Определить
список рейсов для заданного аэропорта назначения. При редактировании или доб
авлении записей
архива вид билета (взрослый, детский), а также пункты назначения должны выбираться с
помощью выпадающего списка. Возможный набор пунктов назначения задаётся в текстовом
файле, поставляемом с программой.
Внутреннее устройство.
Объектно
ориен
тированное меню с обязательным выделением базовых классов, класс
выпадающий список, класс
шаблон для хранения списка элементов.
Вариант 12.
Разработать класс, представляющий собой элемент управления
группу радиокнопок. Выбор
варианта должен осуществлять
ся с помощью пробела, количество элементов
произвольное.
каталоге студии звукозаписи имеются следующие данные: название группы, название альбома,
год выпуска альбома, название студии, записавшей альбом. Необходимо сформировать каталог
групп, выпустивших
альбомы в заданном году. Определить две группы, записавшие альбомов
больше других. Каталоги сгруппировать по названию групп в алфавитном порядке. Обеспечить
фильтрацию информации по 1 или 2 полям, которые может выбрать пользователь, а также
индивидуальную
отмену критериев фильтрации.
Программы
калькуляторы
Создать программу
калькулятор для обработки целых чисел, имеющих до 25
ти знаков.
Выполняемые операции (в режиме калькулятора): сложение, вычитание, умножение,
деление, целочисленное деление, остаток от деления. Обеспечить пакетную обработку:
операнды и о
перации содержатся во входном файле, в выходном
исходные данные и
результаты.
Интерфейс пользователя: графический.
Меню: горизонтальное.
Создать программу
калькулятор для обработки обыкновенных дробей. Выполняемые
операции (в режиме калькулятора): сложен
ие, вычитание, умножение, деление, упрощение
дроби. Обеспечить пакетную обработку: операнды и операции содержатся во входном
файле, в выходном
исходные данные и результаты.
Интерфейс пользователя: текстовый.
Меню: горизонтальное.
Создать программу
кальку
лятор для обработки целых двухбайтовых чисел в двоичной
системе. Выполняемые операции (в режиме калькулятора): сложение, вычитание,
умножение, деление, И, ИЛИ, инверсия, исключающее ИЛИ. Дополнительно обеспечить
пакетную обработку: операнды и операции соде
ржатся во входном файле, в выходном
исходные данные и результаты.
Интерфейс пользователя: текстовый.
Меню: вертикальное слева.
Создать программу
калькулятор для перевода чисел из одной системы счисления (
другую систему
. Исходные данные: основани
я входной и выходной системы счисления,
точность представления дробной части числа (
ичных разрядов). Предусмотреть
включение/выключение отображения двоичного и шестнадцатеричного представления
переводимого числа. Дополнительно обеспечить пакетную обработ
ку: набор чисел
хранится во входном файле, результат перевода записывается в выходной.
Интерфейс пользователя: текстовый.
Меню: вертикальное справа.
Создать программу
калькулятор для деления двух многочленов, вводимых пользователем.
Должно отображаться час
тное и остаток. Обеспечить дополнительно пакетную обработку,
когда исходные многочлены расположены во входном файле, а результат должен
выводиться в выходной в виде
)=(
))+(
, где
частное,
остаток.
Обеспечить возможность дублиро
вания вывода: в файл и на экран.
Интерфейс пользователя: текстовый.
Меню: горизонтальное.
Графики функций и
математика
Создать программу, выполняющую построение графиков функций, в том числе и
комплексной переменной. Задать по три типовых функции
с комп
лексной частью и без
неё, в которых не заданы коэффициенты. Обеспечить выбор функции через меню и ввод
коэффициентов с помощью формы. Реализовать отрисовку графиков от 1 до 6 функций на
одной сетке координат, масштабирование и смещение (приращения задаются
) начала
координат с помощью клавиш и через меню.
Интерфейс пользователя: графический.
Меню: вертикальное, расположено справа.
Создать программу, выполняющую построение линий уровня поверхностей второго
порядка. Исходные данные: не менее 3
х уравнений пове
рхности (согласовываются с
руководителем), шаг линий уровня, точность вычислений, область построения линий
уровня. Результат: графическое изображение линий уровня. Предусмотреть возможность
масштабирования графика (шаг задаётся), смены цвета линий, смену ш
ага с помощью
горячих клавиш.
Интерфейс пользователя: графический.
Меню: горизонтальное.
Создать программу, выполняющую вычисление определенного интеграла методом левых,
правых прямоугольников и трапеций. Исходные данные: функция (обеспечить выбор не
менее
чем из 5 функций), значения констант и коэффициентов для каждой функции, шаг,
пределы и метод интегрирования. Результат: значение интеграла, визуальное
представление функции и процесса интегрирования. Обеспечить изменение шага, пределов
и метода интегриро
вания с помощью горячих клавиш и через меню с автоматическим
перерасчётом значения интеграла и обновлением визуального представления. Приращение
шага, пределов и масштаба тоже задавать через меню.
Интерфейс пользователя: графический.
Меню: вертикальное рас
положено слева.
Создать программу, выполняющую обращение матрицы методом Жордановых
исключений. Обеспечить ввод размерности и самой матрицы в программе, либо
считывание матрицы из файла. Вывод обратной матрицы обеспечить в файл, на экран либо
одновременно
в файл и на экран.
Интерфейс пользователя: графический.
Меню: вертикальное расположено слева.
Игры
Разработать программу игры двух пользователей в крестики
нолики. Обеспечить хранение
профиля пользователей с выбором символа (крестик или нолик), хранение и
отображение
общего счёта, хранение результатов 3х последних партий. Выигрыш должен определяться
программой. Обеспечить «проигрывание» на экране любой из сохраненных партий.
Интерфейс пользователя: графический.
Меню: горизонтальное.
Разработать программу дл
я игры двух пользователей в лото. Каждый пользователь
выбирает себе карточку из списка доступных, после этого программа генерирует
случайным образом число и заполняет карточки. Выигрыш должен определяться
программой. Обеспечить хранение профиля пользовател
ей и общего количества побед и
поражений для каждого.
Интерфейс пользователя: текстовый.
Меню: горизонтальное.
Разработать программу игры двух пользователей в рэндзю. Обеспечить хранение профиля
пользователей с выбором символа (крестик или нолик), хранение
и отображение общего
счёта, хранение результатов 3х последних партий. Выигрыш должен определят
ься
программой. Обеспечить «про
рывание» на экране любой из сохраненных партий.
Интерфейс пользователя: графический.
Меню: горизонтальное.
Разработать программу
игры двух пользователей в реверси. Обеспечить хранение профиля
пользователей с выбором символа (крестик или нолик), хранение и отображение общего
счёта, хранение результатов 3х последних партий. Программа должна рассчитывать счёт
для текущего положения до
ски после каждого хода. Обеспечить «прои
рывание» на экране
любой из сохраненных партий.
Интерфейс пользователя: графический.
Меню: вертикальное, слева.
Разработать программу, реализующую игру «зенитка». В игре периодически появляется
самолёт, который лети
т с определённой скоростью, которая может незначительно меняться
случайным образом. В центре нижней части экрана расположена зенитка, меняющая угол
поворота и стреляющая не чаще определенной максимальной частоты. Задача
сбивать все
самолёты в течение опр
еделённого времени. Пропущенный самолёт
проигрыш. После
определенного времени скорость самолётов увеличивается (повышается сложность). Чтобы
выиграть, надо сбить все самолёты на 3х уровнях.
Интерфейс пользователя: графический.
Меню: горизонтальное.
Разра
ботать программу, реализующую игру в «морской бой» пользователя с компьютером
(поле 10х10)
Реализовать хранение профилей пользователей со статистикой игр.
Разработать программу, реализующую игру в «морской бой» (
боевой поход подводной
лодки
Реализовать хранение профилей пользователей со статистикой игр.
Разработать программу, реализующую игру «тетрис» (соблюдение скоростных
характеристик необязательно).
Реализовать хранение профилей пользователей со
статистикой игр.
Разработать программу, ре
ализующую
игру
, в которой
вместо
пронумерованных
фишек использую
тся
фрагменты изображения. Изображения должны храниться в
подкаталоге директории с приложением и выбираться случайным образом.
Рекомендуется использование
Visual
Обработка записей
текстовом редакторе подготовить файл, содержащий не менее 10 записей заданной структуры.
Количество записей может быть произвольным.
Разработать программу для обработки записей, содержащей интерактивное меню, позволяющее выбрать
действия: работа с файлом,
работа с записями, получение отчетов и завершение программы.
Первый пункт меню должен предусматривать открытие и чтение информации из имеющегося файла в
статический массив записей заданной структуры; сохранение изменений в исходном или новом файле.
После о
ткрытия файла считанные записи должны быть выведены на экран в виде таблицы.
Во втором пункте меню следует предусмотреть возможность добавления записи вводом с клавиатуры,
корректировки отдельных полей (указано в задании) или всех полей выбранной записи; у
даление
выбранной записи.
Третий пункт меню должен содержать подпункты для обработки записей согласно задания. При этом
предусмотреть возможность вывода результатов в виде таблицы на экран и в файл.
Программа должна содержать функции, реализующие указанны
е выше действия.
В расписании движения самолетов из аэропорта г. Донецка указаны следующие сведения:
номер рейса (4 цифры), аэропорт назначения, расстояние в км, стоимость билета (взрослый билет,
детский билет), время в часах и мин. (отправление, прибытие
в аэропорт назначения). Определить
список рейсов для заданного аэропорта назначения, сформировать таблицу сведений о трех
рейсах, имеющих наибольшую продолжительность полета. Записи в архиве должны быть
сгруппированы по номеру рейса. При коррекции записей
архива предусмотреть включение в
расписание дополнительных рейсов.
Обеспечить возможность выбора любых двух полей для
дальнейшей группировки.
В каталоге студии звукозаписи имеются следующие данные: название группы, название
альбома, год выпуска альбома,
название студии, записавшей альбом. Необходимо сформировать
каталог групп, выпустивших альбомы в заданном году. О
пределить две группы, записавшие
альбомов больше других. Каталоги сгруппировать по названию групп в алфавитном порядке.
Обеспечить фильтрацию и
нформации по 1 или 2 полям, которые может выбрать пользователь, а
также индивидуальную отмену критериев фильтрации.
В журнале успеваемости академ
ической
группы по программированию имеются
следующие данные: фамилия
, имя, отчество
студента, оценки по пяти ла
бораторным работам,
количество пропусков занятий. Сформировать список студентов, не сдавших какую
либо работу
(номер ее задается)
, либо набор лабораторных работ (номера задаются), либо сдавших
определенное количество работ
. Определить трех студентов, имеющ
их наибольшее количество
пропусков (студентов, сдавших все работы не включать). Записи расположить в алфавитном
порядке.
Обеспечить возможность комбинирования фильтрации лабораторных работ по
критериям И, ИЛИ. Например: «Список не сдавших 1 И 4 лабораторны
е работы». Либо: «Список
не сдавших 1 ИЛИ 3 ИЛИ 5 работы».
В магазине имеются следующие данные о товарах: название, единица измерения, цена,
норма отпуска в одни руки. Составить таблицу товаров,
с возможностью отбора тех,
норма
отпуска которых не
более
двух единиц, а также спис
наиболее дорогих товаров
задаётся
пользователем, вызов диалога через меню или по горячей клавише
. Списки упорядочить по
названию товаров в алфавитном порядке.
Цены вывести в файл в словесном представлении.
На заводе радиоэ
лектроники выпускают звукопроизводящую технику и имеются
следующие данные: название прибора, назначение( магнитофон, магнитола, проигрыватель), год
создания, стоимость, гарантийный срок эксплуатации. Составить список магнитофонов,
разработанных в заданном
году, а также список проигрывателей, гарантийный срок эксплуатации
которых более 3
х лет.
В каталоге программного обеспечения имеются следующие данные: имя файла программы,
расширение, емкость файла, дата создания. Составить каталог текстовых файлов (расши
рение
TXT
), а также таблицу файлов, емкостью более 64 Кбайт. Каталоги отсортировать по имени
файла в алфавитном порядке.
При подведении итогов референдума в г. Донецке от разных районов была получена
информация: название района, общее число жителей, и
меющих право голоса, число жителей,
принявших участие в референдуме, число жителей, голосовавших «Да» и число жителей,
голосовавших «Нет». Определить процент, проголосовавших «Да» по районам, а также 3 района,
имеющих наименьший процент активности избирате
лей.
В больнице ведется учет больных по следующим данным: фамилия больного, номер
палаты, дата поступления, диагноз (название болезни). Необходимо выдать список больных,
лежавших в больнице на заданную дату. Список сортировать по номеру палаты.
На станции
технического обслуживания автомобилей (СТО) ведется учет автомобилей,
прошедших капитальный ремонт, по следующим данным: марка машины, серийный номер, пробег
(в км) после предыдущего ремонте, год выпуска автомобиля. Необходимо составить список
машин, имею
щих пробег более 100
000 км, а также список пяти самых новых автомобилей,
прошедших ремонт. Список сортировать по году выпуска машины.
В библиотеке имеются следующие данные о книгах: название, фамилия автора,
год издания, издательство, количество экземпляр
ов книг в библиотеке. Необходимо вывести
список книг, изданных в заданном году и список книг, имеющихся в библиотеке в одном
экземпляре. Список упорядочить по названию книг в алфавитном порядке.
В военкомате ведется учет юношей допризывного и призывного во
зраста.
Имеются следующие данные: фамилия, год рождения, номер личного дела, годность к службе
(«годен» или «не годен»). Необходимо вывести список юношей, призываемых на службу в
заданном году (по достижении 18 лет). Списки упорядочить по году рождения.
аптеке ведется учет лекарственных средств. Имеются следующие данные:
название лекарства, цена одной упаковки, количество упаковок в аптеке, год выпуска, срок
хранения (в годах). Необходимо вывести список лекарств, не годных к употреблению на заданный
год,
и пять самых дорогих лекарств. Упорядочить по названию лекарства в алфавитном порядке.
В заводском цеху ведется журнал расхода материалов по следующим данным:
название материала, ГОСТ, расход в сутки, количество имеющихся в цеху. Необходимо вывести
список
материалов, которые закончатся через заданное количество дней, а также список 5
ти
наименее расходуемых материалов. Списки упорядочить по названию материала в алфавитном
порядке.
За материально ответственным лицом числятся материальные ценности,
записанные
в журнале: название предмета, количество, дата приобретения (год), срок службы (в
годах). Необходимо вывести список предметов, подлежащих списанию в заданный год, а также
список пяти самых долгосрочных предметов. Списки упорядочить по дате приобретения.
заводском цеху ведется учет электроэнергии, расходуемой машинами и
приборами. Имеются следующие данные: название машины или прибора, инвентарный номер,
потребляемая мощность, количество таких приборов в цеху. Вывести список десяти наиболее
энергоемких пр
иборов, а также суммарную мощность, потребляемую цехом при всех включенных
приборах. Список упорядочить по инвентарному номеру.
На АТС ведется учет междугородних разговоров абонентов по следующим
данным: фамилия абонента, домашний адрес, номер телефона, су
мма междугородних телефонных
разговоров за месяц (в гривнах). Необходимо вывести список из 10
ти абонентов, наиболее
широко использующих междугороднюю сеть. Списки упорядочить по номеру телефона.
В заводском цеху ведется учет рабочего времени. В журнал зан
осятся
следующие данные: фамилия рабочего, должность, общее количество рабочих часов в неделю,
количество отработанных часов, количество часов, пропущенных по болезни, количество часов
прогулов. Необходимо вывести список из 10
самых болезненных рабочих, а
также посчитать
процент использования рабочего времени в среднем по цеху.
Диспетчер автовокзала отмечает автобусы, прибывшие и ушедшие с вокзала.
Журнал ведется по следующим данным: номер рейса. Номер автобуса, фамилия водителя, время
отправки, время при
бытия. Составить список автобусов, находящихся в пути на заданное время.
Списки упорядочить по номеру рейса.
На кафедре программирования для преподавателей имеется расписание занятий
на каждый день недели. Оно составлено по следующим данным: фамилия препод
авателей и
номера аудиторий на 1
й, 2
й, 3
й, 4
й паре соответственно. Необходимо вывести список
преподавателей, бывающих в заданный день в заданной аудитории, а также общее число часов,
отработанных преподавателями кафедры в этот день.
На метеостанции ве
дется учет погодных условий в течении месяца. В журнал
вносятся следующие данные на каждый день: число, температура воздуха, давление воздуха,
процент содержания кислорода, радиоактивный фон, продолжительность светового дня.
Необходимо вывести список погод
ных условий дней, радиоактивный фон в которые превышал
заданную величину. Списки упорядочить по числам дней.
В книге заявок жилищного ремонтного управления содержатся свения о заявках:
ФИО заявителя, адрес, тип ремонта (малый, средний, большой), даты заявк
и и планового
выполнения ремонта, фактический срок выполнения ремонта (начало и конец). Необходимо
вывести список очередников, у которых ремонт выполнен с опозданием в три и более месяцев.
Вывести сведения о трех первоочередниках на малый ремонт. При корре
кции записей
предусмотреть заполнение двух последних реквизитов. Записи упорядочить в порядке
поступления заявлений.
В часовой мастерской имеются сведения о проведении ремонтов в текущем году:
ФИО заказчика и его адрес, дата поступления в ремонт и плановый
срок исполнения, дата
окончания ремонта. Предусмотреть анализ и печать сведений о задержках выполнения ремонта в
заданном месяце. Определить максимальную и среднюю задержки на выполнение ремонта. При
корректировке предусмотреть заполнение последнего рекви
зита записей. Упорядочить записи в
порядке поступления заявлений.
В справочном бюро имеются следующие сведения о проживающих: ФИО, дата
рождения, адрес (район, улица, дом, квартира), домашний телефон (при его отсутствии пробелы).
Необходимо вывести список
о гражданах с заданными ФИО и возрастной группой (например,
старше 55 лет). Определить трех старейших жителей города. Записи упорядочить по районам, а в
пределах района расположить в алфавитном порядке.
В жилищном управлении имеются следующие данные о про
живающих: адрес
(улица, номер дома, номер квартиры), ФИО квартиросъемщика, количество проживающих, дата
переезда по данному адресу. Необходимо вывести список квартиросъемщиков, у которых имеется
лишняя жилплощадь (норма на человека 13 кв. м). Определить т
рех квартиросъемщиков, которые
занимают минимальную площадь в расчете на одного человека. Упорядочить записи по номерам
домов, а в пределах дома по номерам квартир. При корректировке записей предусмотреть
изменение последних трех реквизитов.
В личных карто
чках рабочих предприятия имеются следующие данные: табельный номер (5
цифр), номер цеха, ФИО, дата рождения, профессия, год приема на работу, разряд. Коррекции
могут подвергаться номер цеха и разряд. Вычислить и вывести для заданного цеха общее
количество
рабочих и количество рабочих, имеющих соответственно 3
й, 4
й, 5
й, 6
й разряды
(абсолютные значения и относительные в процентах к общему количеству). Определить номер
цеха, имеющего в среднем самый молодой состав рабочих. Упорядочить записи по номерам цех
ов,
а для каждого цеха по ФИО в алфавитном порядке.

Приложенные файлы

  • pdf 17456250
    Размер файла: 285 kB Загрузок: 0

Добавить комментарий