Список использованных источников................................ 21
Приложение А Листинг программы................................. 22
Введение
Объектно-ориентированное, или объектное, программирование — парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Основные понятия:
Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Соответственно, абстракция — это набор всех таких характеристик.
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя.
Наследование — это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью. Класс, от которого производится наследование, называется базовым, родительским или суперклассом. Новый класс — потомком, наследником или производным классом. Класс может наследовать поведение одного класса (одиночное наследование) или нескольких классов ( множественное наследование).
Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Класс — это некое множество объектов, имеющих общую структуру и общее поведение.
Прототип — это объект-образец, по образу и подобию которого создаются другие объекты. Объекты-копии могут сохранять связь с родительским объектом, автоматически наследуя изменения в прототипе; эта особенность определяется в рамках конкретного языка.
Состояние объекта характеризуется перечнем всех свойств данного объекта и текущими значениями каждого из этих свойств.
Поведение — это то, как объект действует и реагирует. Поведение выражается в терминах изменения состояния объекта и передачи сообщений.
1 Постановка задачи
Создать программу «Расчет квартплаты» на языке Borland Delphi 7.
2 Анализ технического задания
Для решения данной задачи необходимо учесть следующие особенности:
- использование языка Delphi ;
- интерфейс MDI;
- конструктор;
- деструктор;
- свой класс;
- поля;
- наследование;
- строки состояния и подсказки;
- radio – группы и CheckBox;
- программирование клавиатуры;
- использование диаграмм;
- использование интерфейса Drag&Dock;
- помощь.
3 Кодирование программы
При написании программы для расчета квартплаты были использованы определенные зарезервированные идентификаторы, имеющие специальные значения для компилятора, которые описаны в этом разделе.
Типы значений:
- double — тип с плавающей запятой, поддерживающий приблизительно 15 цифр точности;
- boolean — позволяет принимать только значения true и false.
Ключевые слова:
- constructor — специальный блок инструкций, вызываемый при создании объекта. Конструктор схож с методом, но отличается от метода тем, что не имеет явным образом определённого типа возвращаемых данных, не наследуется, и обычно имеет различные правила для рассматриваемых модификаторов;
- inherited — вызов конструктора;
- uses — список использованных модулей;
- destructor — деструктор.
Модификаторы:
- public является модификатором доступа для типов и членов типов. Общий (public) доступ является уровнем доступа с максимальными правами. Ограничений доступа к общим членам не существует.
Операторы:
- if — оператор выбора, выбирает оператор для выполнения на основе значения выражения Boolean;
- for — оператор инерции, повторно выполняет оператор или блок операторов, пока определенное выражение не примет значение false.
4 Разработка алгоритма
Для описания алгоритма работы данной программы можно использовать блок- схему, которая отражает основной алгоритм программы. Блок-схемой называют графическое представление алгоритма, в котором он изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
На рисунке 4.1 представлена блок-схема функции TForm1.ptimerTimer, которая отвечает за уменьшение топлива и боеготовности. Если танк заглох, и игра окончена. Если бензина нет, то игра останавливается (game:=false).
Процедура TForm1.ptimerTimer:
Если tt=1 то выбираем танк 1 иначе выбираем танк 2. Если у танка 1 уровень бензина равен нулю (t1.petrol=0), то Game:=false (останавливаем игру), в статус бар выводим сообщение «Танк заглох. Игра окончена». Присваиваем всем таймерам значение false (останавливаем таймеры). Если у танка 2 уровень бензина равен нулю (t2.petrol=0) или закончились снаряды (t2.fight=0), то повторяем аналогичные действия (как для танка 1).
Если нажат пробел (это выстрел) (key=' ') и снаряда нет на поле (isTracer=false) и это второй танк (tt=2), то в зависимости от направления танка, рисуем снаряд. Если танк повёрнут налево, то снаряд летит влево, аналогично для других направлений. Отмечаем, что снаряд летит (isTracer:=true) в направлении, в котором повёрнут танк (trto:=t2.direction). Добавляем 5 снарядов (t2.fight:=t2.fight+5). Если снаряды закончились (t2.fight=0), то пополняем их запас (t2.fight:=100).
Если нажата клавиша управление танком: (key='w') or (key='W') or (key='ц') or (key='Ц'), то танк движется вверх; (key='s') or (key='S') or (key='ы') or (key='Ы'), то танк движется вниз; (key='a') or (key='A') or (key='ф') or (key='Ф'), то танк движется влево; (key='d') or (key='D') or (key='в') or (key='В'), то танк движется вправо.
Если на карте есть ресурс (himg.visible=true), то проверяем, не наехал ли танк на него (abs(himg.Top-timg.top)<timg.Width) and (abs(himg.Left-timg.Left)<timg.Height) – тогда ресурс исчезает (himg.Visible:=false) и меняем параметры. Если танк 1 наехал на аптечку, то если запас пуст и здоровья много, помещает её в запас, иначе восстанавливает здоровье (t1.health:=100). Аналогично для танка 2. Если танк 1 наехал на канистру, то если запас пуст и топлива много, помещает её в запас, иначе заправляется (t1.petrol:=100). Аналогично для танка 2.
В данном пункте будут предоставлены примеры поведения программы при введении тех или иных данных.
На рисунке 5.1 представлено окно ввода тарифов на различные услуги.
Рисунок 5.1 – Тарифы на услуги
На рисунке 5.2 представлен основное окно программы, в котором производится ввод значений, необходимых для расчета квартплаты.
Рисунок 5.2 - Окно программы
На рисунке 5.3 показано меню программы, с помощью которого можно посмотреть статистику, установить нужные тарифы и настроить пути сохранения и загрузки файлов.
Рисунок 5.3 – меню программы
На рисунке 5.4 изображено окно с настройками программы. Здесь можно определить путь к текстовому файлу, в который можно загрузить введенные данные и в дальнейшем их открыть. Так же можно определить путь к файлу статистики для построения диаграммы.
Рисунок 5.4 – Настройки программы
На рисунке 5.5 изображена статистика, которая отображает количество затраченных денег в различное время
Рисунок 5.5 – Диаграмма
На рисунке 5.6 изображено выпадающее меню с выбором периода для расчета квартплаты.
Рисунок 5.6 – Выбор периода
6 Руководство пользователя
Для того что бы запустить программу нужно использовать Borland Delphi 7
Borland Delphi 7 – это среда разработки программного обеспечения. После установки, запустите Borland Delphi 7. Появится начальная страница, изображенная на рисунке 6.1
Рисунок 6. Вид плавающ
Рисунок 6.1 – Начальная страница Borland Delphi 7
В меню File выберите пункт Open Project или нажмите CTRL+F11.
Рисунок 6.2 — Открытие программы в Borland Delphi 7
Для запуска программы в появившемся окне в меню Run выбираем пункт Run. Данное действие так же можно выполнить нажав клавишу F9 (Рисунок 6.3)
Рисунок 6.2 – Открытие файла
На рисунке 6.3 изображен открытый проект с программой расчета квартплаты.
Рисунок 6.3 — запуск программы Delphi 7
Рисунок 6.3 – Открытый проект
7 Тестирование программы
Тестирование программного обеспечения – процесс исследования программного обеспечения с целью получения информации о качестве продукта. На рисунке 7.1 изображена ситуация, когда не все поля для расчета заполнены.
Рисунок 7.1 – Незаполненные поля
На рисунке 7.2 изображена ситуация, когда в настройках загрузки указан путь к несуществующему файлу.
Рисунок 7.2 – Неправильный путь
Заключение
В ходе выполнения курсовой работы была разработана программа «Расчет квартплаты», созданная в среде Borland Delphi 7, где происходит расчет квартплаты для различных данных, при различных тарифах, льготах и в различные периоды. При создании программы были рассмотрены различные управляющие структуры программирования, разные компоненты и возможности Delphi 7.
Список использованных источников
1 Рубанцев В.Н. "Delphi в примерах, играх и программах", издательство "Наука и техника", Москва, 2011
2 Михаил Голованов, Евгений Веселов: Создание компонентов в среде Delphi.
3 Евгений Марков, Петр Дарахвелидзе Delphi 2005 для Win32
4 А. Я. Архангельский. - Программирование в Delphi для Windows. Версии 2006, 2007, Turbo Delphi
5 Дмитрий Осипов. Delphi. Профессиональное программирование