ВВЕДЕНИЕ
1 ОПИСАНИЕ ВЫБРАННЫХ СРЕДСТВ РАЗРАБОТКИ
1.1 Описание языка разработки
1.2 Описание среды разработки
2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
2.1 Постановка задачи
2.2 Описание основных классов
2.3 Назначение и условие применения
3 АЛГОРИТМ РАБОТЫ ПРОГРАММЫ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А. БЛОК-СХЕМА
ПРИЛОЖЕНИЕ Б. КОД ПРОГРАММЫ
ПРИЛОЖЕНИЕ В. РАБОТА ПРОГРАММЫ
ВВЕДЕНИЕ
Цель работы: Создать программное средство, которое позволит реализовывать следующие функции:
- определение совпадают ли номер месяца и число дня;
- увеличивает дату на один месяц;
- определение количества прошедших дней с момента изготовления лекарства.
Для этого необходимо:
1) ввести требуемый набор данных в программу;
2) установить места для хранения информации (присвоить область памяти);
3) выполнить инструкции по обработке информации;
4) вывести информацию из программы;
5) организовать выполнение определенных инструкций только тогда, когда условие или набор условий задают требуемое значение (например, true или false);
6) реализовать возможность повторения инструкции или группы инструкций несколько раз;
7) выбрать группу инструкций, которые можно вызвать и выполнить в разных частях программы (просто указав название этой группы).
В вышеперечисленных пунктах определены семь основных элементов программирования: ввод, типы данных, операторы, вывод, проверка состояния, циклы и подпрограммы. В дополнение к этим обязательным компонентам, C++ также имеет некоторые дополнительные конструкции. Рассмотрим характеристики каждого из рассмотренных элементов.
Ввод – чтение данных с клавиатуры, магнитного диска, порта ввода / вывода или другой программы.
1 ОПИСАНИЕ ВЫБРАННЫХ СРЕДСТВ РАЗРАБОТКИ
1.1 Описание языка разработки
Бьерн Страуструп является разработчиком языка С++ и создателем первого транслятора. Он - сотрудник научно-исследовательского вычислительного центра AT&T Bell Laboratories в Мюррей Хилл (Нью-Джерси, США). Он получил звание магистра математики и вычислительной техники в университете г. Аарус (Дания), а докторское звание по вычислительной технике в кэмбриджском университете (Англия). Он специализируется в области распределенных систем, операционных систем, моделирования и программирования. Вместе с М. А. Эллис он является автором полного руководства по языку С++ - "Руководство по С++ с примечаниями".
Безусловно С++ многим обязан языку С, который сохраняется как его подмножество. Сохранены и все свойственные С средства низкого уровня, предназначенные для решения самых насущных задач системного программирования. С, в свою очередь, многим обязан своему предшественнику языку BCPL. Комментарий языка BCPL был восстановлен в С++. Еще одним источником вдохновения был язык SIMULA-67; именно из него была заимствована концепция классов (вместе c производными классами и виртуальными функциями). Возможность в С++ перегрузки операций и свобода размещения описаний всюду, где может встречаться оператор, напоминают язык Алгол-68. Более ранние версии языка, получившие название "С с классами", использовались, начиная с 1980 г. Этот язык возник потому, что автору потребовалось написать программы моделирования, управляемые прерываниями. Язык SIMULA-67 идеально подходит для этого, если не учитывать эффективность. Язык "С с классами" использовался для больших задач моделирования.
2 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
2.1 Постановка задачи
Этап постановки задачи является важным, поскольку именно здесь разработчиком рассматривается первоначальное создание виртуального программного обеспечения исходя из представленных требований. Поэтому требования должны быть сформулированы правильно, четко и корректно.
На этапе сбора требований производится подборка существующих в организации документов (входных, выходных) на основании которых разрабатывается приложение, а также производится определение требований к основным функциям разрабатываемой системы.
Требования к новому программному обеспечению были собраны и проанализированы с предоставлением некоторых аналогичных решений. Этот метод достаточно интересен тем что, при его использовании был рассмотрен некоторый предыдущий опыт в данной области.
В ходе выполнения курсового проекта следует выполнить следующие задачи:
- Создать класс с тремя целочисленными полями, которые будут являться частью даты: день, месяц, год;
- Создать конструктор по умолчанию для инициализации объектов в этом классе;
- Создать параметризированный конструктор для инициализации объектов в этом классе;
- Создать деструктор;
- Создать функцию формирования строки с информацией об объекте класса;
- Создать функцию обработки полей, которая будет определять совпадают ли номер месяца и число дня;
3 АЛГОРИТМ РАБОТЫ ПРОГРАММЫ
Основные действия программы выполняются после нажатия кнопок «Выполнить». При нажатии первой кнопки «Выполнить», которая предназначена для проверки работы первого класса, приложение выполняет следующие действия:
- Заносит значение из Edit1 в переменную day;
- Заносит значение из Edit2 в переменную month;
- Заносит значение из Edit3 в переменную year;
- Проверяет корректно ли был введен день;
- Проверяет корректно ли был месяц день;
- Проверяет корректно ли был год день;
- Создает новый экземпляр класса «MyDateClass» с именем «myDate», инициализируя его значениями переменных «day», «month» и «year» с помощью параметризированного конструктора;
- Выводит значение дня объекта «myDate»;
- Выводит значение месяца объекта «myDate»;
- Выводит значение года объекта «myDate»;
- Выводит информацию о объекте «myDate» с помощью функции «toString()»;
- Выводит информацию о сравнении номера месяца и дня, которая была получена с помощью функции «sovpad()»;
- Выводит информацию о дате после увеличения месяца на 1, которая была изменена с помощью функции «incMonth()»;
При нажатии второй кнопки «Выполнить», которая предназначена для проверки работы второго класса, приложение выполняет следующие действия:
- Повторяет все шаги по созданию объекта «myDate» из вышеописанного алгоритма;
ЗАКЛЮЧЕНИЕ
В ходе выполнения курсовой работы была получена работоспособная программа, удовлетворяющая начальному заданию. Кроме того, сделаны дополнения, которые усовершенствовали программу и сделали ее более удобной и эффективной.
После выполнения задания курсовой работы можно подвести итоги. Разработка данного курсового проекта позволила мне глубже вникнуть в возможности языка С++, лучше ознакомится со структурными методами программирования, оценить необходимость составления блок-схемы перед написанием программы.
Разработка программы позволила мне применить на практике и расширить полученные знания по программированию на языке С++.
Данная программа не требует специальной предварительной инсталляции и соответственно не содержит программы инсталлятора. Это избавляет пользователя от необходимости получать дополнительные сведения о процессе установки, и делает процесс подготовки программы к использованию максимально простым.
1 Литвиненко Н. А. Технология программирования на C++/Н. А. Литвиненко. -БВХ-Петербург, 2010. – 153с.
2 Крупник А. Изучаем Си/А. Крупник. – Питер, 2011. – 91с.
3 Самарский А. А. Введение в численные методы/ А. А. Самарский. – МГУ, 2005. – 58с.
4 Клочков А. В. Лекции по численным методам АГД/ А. В. Клочков. – Санкт-Петербург, 2004. – 103с.
5 Никита Культин – С++ Builder в задачах и примерах: Санкт-Петербург: «БХВ-Петербург», 2005. – 1c.
6 Глобальная статистика использования ОС [Электронный ресурс] – Режим доступа: http:// www.gs.statcounter.com/.
7 Роль компьютеров в современном мире [Электронный ресурс] – Режим доступа: http:// www.www.roscomputer.ru/.
8 Понятие и виды интерфейсов [Электронный ресурс] – Режим доступа: http:// www.studall.org/all-95003.html.
9 Современные виды пользовательских интерфейсов [Электронный ресурс] – Режим доступа: http:// www.edu.dvgups.ru/.
10 Графический интерфейс пользователя [Электронный ресурс] – Режим доступа: http:// www.microchip.com.ru/Support/GUI.html.
11 Графический интерфейс пользователя [Электронный ресурс] – Режим доступа: http:// www.ru.wikipedia.org.
12 Прикладное программное обеспечение [Электронный ресурс] – Режим доступа: http:// www.ru.wikipedia.org.
13 C++ Builder [Электронный ресурс] – Режим доступа: http:// www.ru.wikipedia.org.
14 Архангельский А.Я. – C++Builder 6. Справочное пособие. Книга 1: Москва: ЗАО «Издательство БИНОМ», 2002. – 18-19с.