Разработка класса "массива вещественных чисел"

Создание методов для вывода элементов объекта в поток. Разработка информационной системы о технологических маршрутах и рабочих центрах. Описание логической структуры базы данных. Требования к интерфейсу пользователя. Особенность тестирования программы.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 10.06.2016
Размер файла 661,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ЗАДАНИЕ 1

1.1 Постановка задачи

1.2 Результаты работы

2. ЗАДАНИЕ 2

2.1 Постановка задачи

2.2 Определение структуры данных

2.3 Руководство программой

2.4 Результаты программы

2.5 Тестирование программы

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЯ

ВВЕДЕНИЕ

Под объектно-ориентированным программированием (object-oriented programming, OOП) следует понимать методологию реализации, при которой программа организуется, как совокупность сотрудничающих объектов, каждый из которых является экземпляром какого-либо класса, а классы образуют иерархию наследования. При этом классы обычно статичны, а объекты очень динамичны, что поощряется динамическим связыванием и полиморфизмом (пока не обращайте внимания на то, что большая часть слов этого определения Вам не понятна). Несмотря на то, под OOP следует понимать только то, что было написано выше, под ним часто понимают объектно-ориентированный подход к созданию ПО. Последний наравне с OOP включает в себя объектно-ориентированный анализ (object-oriented analisys, OOA) н объектно-ориентированное проектирование (object-oriented design). Все это понятия тесно связанны с понятиями объекта, класса и объектной модели.

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

Объектно-ориентированная технология основывается на так называемой объектной модели. Основными ее принципами являются: абстрагирование, инкапсуляция, модульность, иерархичность, типизация, параллелизм и сохраняемость. Каждый из этих принципов сам по себе не нов, но в объектной модели они впервые применены в совокупности. Первые четыре принципа являются обязательными в том смысле, что без них модель не будет считаться объектной. Последние три дополнительными. Рассмотрим подробно все принципы.

1. ЗАДАНИЕ 1

Условие задачи:

Разработать класс «массив вещественных чисел». Реализовать методы создания, разрушения таких объектов, изменения элементов и получения среднего арифметического элементов. Создать методы для вывода элементов объекта в поток.

1.1 Постановка задачи

Описание используемых подпрограмм приведено в таблице 1.

Таблица 1 - Описание используемых подпрограмм

Название

Назначение

char* rus ()

Функция перекодировки в кириллицу

void set()

Метод присваивания значения элемента массива по индексу

double get ()

Метод получения элементов массива по индексу

double getAverage()

Метод получения среднего арифметического массива

void printToConsole()

Метод вывода элементов массива в консоль

int getSize()

Метод получения размера массива

Листинг программы представлен в приложении А.

1.2 Результаты работы

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

Рисунок 1 - Основное окно программы

Если введена положительная размерность массива (рисунок 2):

Рисунок 2 - Результат работы программы, если положительная размерность массива

Если введена неправильная размерность массива (рисунок 3):

Рисунок 3 - Результат работы программы, если отрицательная размерность массива

2. ЗАДАНИЕ 2

Условие задачи:

Разработать класс для работы с файлами СУБД dBase (DBF файлы). Реализовать основные операции (подключение, чтение данных, модификация данных, перемещение по записям, пометка на удаление, сжатие таблицы, добавление данных). На примере обработки данных о технологических маршрутов и рабочих центрах.

2.1 Постановка задачи

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

Планирование БД - очень ответственный и важный процесс. Перед началом работы необходимо иметь как можно более подробный план БД. Совершенно очевидно, что это поможет сэкономить силы и время её разработчику.

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

Задачи рабочего проекта:

изучить возможности C++ Builder 6;

создать такую БД, которая позволила бы качественно и быстро организовать работу оператора;

организовать добавление, удаление и редактирование данных;

организовать создание отчетов.

Окна информационной системы о технологических маршрутах и рабочих центрах предназначены для оператора.

Интерфейс программы полностью совместим с интерфейсом Windows 7 и XP, интуитивно понятен, легко осваивается начинающими пользователями и позволяет в кратчайшее время приступить к работе даже операторам с низкой квалификацией.

Требования к интерфейсу пользователя:

- единообразие экранов приложения;

- самая важная информация - в левом верхнем углу;

- простая навигация;

- размещение рядом связанных компонентов;

- приятные визуальные эффекты (баланс, симметрия);

- разработка системного меню;

- выбор подходящих элементов управления;

- ограничение количества используемых шрифтов и цветов;

- выравнивание компонентов и полей данных по левому краю.

2.2 Определение структуры данных

БД состоит из шести взаимосвязанных таблиц: предмет, технологический маршрут, типы предметов, группы предметов, рабочие центры и типы рабочих центров. Каждая таблица имеет ключевое поле. Тип связи между таблицами «один-ко-многим».

Описание логической структуры данных с выделением основных сущностей представлена на рисунке 4:

Рисунок 4 - Схема базы данных

2.3 Руководство программой

В главном рабочем окне программы, представленном на рисунке 5, размещаются следующие элементы:

СТРОКА МЕНЮ, открывающего доступ ко всем командам;

Дополнительно открываются:

ОКНО СПРАВОЧНИКА РАБОЧИХ ЦЕНТРОВ, помогающее оператору просматривать и вносить информацию о рабочем центре;

ОКНО СПРАВОЧНИКА ПРЕДМЕТОВ, помогающее оператору просматривать и вносить информацию о предмете;

ОКНО СПРАВОЧНИКА ТЕХНОЛОГИЧЕСКОИХ МАРШРУТОВ, помогающее оператору просматривать, вносить и редактировать информацию о технологическом маршруте;

ОКНО ЗАГРУЗКИ РАБОЧИХ ЦЕНТРОВ, помогающее оператору получить справку о загрузке рабочих центров;

ОКНО ПРОИЗВОДСТВЕННАЯ ПРОГРАММА РАБОЧЕГО ЦЕНТРА, помогающее оператору получить справку о производственной программе рабочего центра;

ОКНО О ПРОГРАММЕ, содержащее краткие сведения о разработанной информационной системе.

Главное меню рабочего окна содержит в себе пункты меню, представленные в таблице 2.

Таблица 2 - Элементы главного меню рабочего окна

Пункт меню

Пункт выпадающего меню

Файл

Выход

Справочники

Рабочие центры

Предметы

Технологические маршруты

Типы предмета

Группы предмета

Типы рабочих центров

Отчеты

Загрузка рабочих центров

Производственная программа рабочего центра

Справка

Помощь

О программе

Листинг программы представлен в приложении Б.

2.4 Результаты программы

Экранные шаблоны, разработанные в соответствии с предъявленными требованиями представлены на рисунках:

Рисунок 5 - Экранный шаблон главного рабочего окна

Рисунок 7 - Экранный шаблон диалога «Справочник рабочих центров»

Рисунок 8 - Экранный шаблон диалога «Справочник предметов»

Рисунок 9 - Экранный шаблон диалога «Справочник технологических маршрутов»

Рисунок 10 - Экранный шаблон диалога «Ввод технологического маршрута»

Рисунок 11 - Экранный шаблон диалога «Изменение технологического маршрута»

Рисунок 12 - Экранный шаблон диалога «Загрузка рабочих центров»

Рисунок 13 - Экранный шаблон диалога «Производственная программа рабочего центра»

Рисунок 14 - Экранный шаблон диалога «О программе»

2.5 Тестирование программы

При работе программы на экране могут появляться следующие сообщения:

- «Вы действительно хотите выйти из программы?» (рисунок 15);

- «Необходимо заполнить все поля!» (рисунок 16);

- «Вы действительно хотите удалить запись?» (рисунок 17);

В первом случае при желании выйти из программы необходимо просто подтвердить свои намерения, нажав кнопку «Да», а иначе - кнопку «Нет». Во втором случае при добавлении записи в базу необходимо учесть, чтобы все поля формы были заполнены. В третьем случае, при желании удалить запись необходимо подтвердить свои намерения нажатием кнопки «Да».

Рисунок 15 - Экранный шаблон сообщения подтверждающее или отменяющее выход из программы

Рисунок 16 - Экранный шаблон сообщения информирующего о том, что заполнены не все поля формы

Рисунок 17 - Экранный шаблон сообщения подтверждающее или отменяющее удаление записи

ЗАКЛЮЧЕНИЕ

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

В процессе создания были написаны программы, осуществляющие разработку класса «массива вещественных чисел» и информационная система о технологических маршрутах и рабочих центрах..

Программа автоматизирует внесение информации о технологических маршрутах и рабочих центрах и организует надежное хранение и обработку данных. информационный база данный интерфейс

Реализовали методы создания, разрушения таких объектов, изменения элементов и получения среднего арифметического элементов. Создали методы для вывода элементов объекта в поток

Корректные работы программ обеспечивается строгим следованием методическим указаниям, а также надёжной системой проверки промежуточных результатов в ходе выполнения самих программ.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Бином, 1998 г.

2. К. Ларман. Применение UML и шаблонов проектирования. Второе издание. Издательский дом "Вильямс", 2004 г.

3. Гамма, Хелм, Джонсон, Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования. Питер, 2001

4. М. Фаулер. Архитектура корпоративных программных приложений. Издательский дом "Вильямс", 2006 г.

ПРИЛОЖЕНИЯ

ПРИЛОЖЕНИЕ А

Листинг программы 1

#include <vcl.h>

#pragma hdrstop

#include "windows.h"

#include <iostream.h> //подключение стандартной библиотеки для работы с консолью

#include <conio.h>

#include <math.h>

using namespace std;

// Функция перекодировки в кириллицу

char* rus(char* st)

{

unsigned char* p = st; // при объявлении символов как char русские буквы

// кодируются отрицательными числами

while( *p ){

if(*p >= 192) // здесь русская буква

if(*p <= 239)

*p -= 64;

else

*p -= 16;

p++;

}

return st;

}

class FloatArray // имя класса

{

private: // спецификатор доступа private

int size; // размер массива

double* items; // элементы массива

public: // спецификатор доступа public

FloatArray (int capacity) // конструктор класса FloatArray

{

if (capacity < 0) {

cout << rus("\nРазмерность массива должна быть положительной!!!!");

}

items = new double[capacity];

size = capacity;

}

~FloatArray () // деструктор класса FloatArray

{

delete items;

}

double get(int index) // получение элементов массива по индексу

{

if (index > size || index < 0) {

cout << rus("\nНеправильный индекс!!!!");

}

return items[index];

}

void set(int index, double value) // Присваивание значения элемента массива по индексу

{

if (index > size || index < 0) {

cout << rus("\nНеправильный индекс!!!!");

}

items[index] = value;

}

double getAverage() // Получение среднее арифметическое массива

{

double summa = 0;

for (int i = 0; i < size; i++) {

summa += items[i];

}

return 1.00*summa / (double) size;

}

void printToConsole() // Вывод элементов массива в консоль

{

cout << rus("\nМассив вещественных чисел: ");

for (int i = 0; i < size; i++) {

cout << items[i] << " ";

}

cout << endl;

}

int getSize() // Получение размера массива

{

return size;

}

}; // конец объявления класса FloatArray

int main (int argc, char** argv){

int ARRAY_SIZE;

cout<<rus("Контрольная работа 1\n");

cout<<rus("\nСапотько А.Н., группа 41704314\n");

cout<<rus("\nВариант 5\n");

cout <<rus("\nВведите размерность массива = ");

cin >> ARRAY_SIZE;

FloatArray *array = new FloatArray(ARRAY_SIZE); // Передаем переменную ARRAY_SIZE в конструктор

for (int i = 0; i < ARRAY_SIZE; i++) {

double number;

cout << rus("Ввод ")<< i + 1<< rus(" элемента: ");

cin >> number;

array -> set(i, number);

}

array -> printToConsole();

cout << rus("\nСреднее арифметическое массива: ") << array -> getAverage() << endl;

system("pause");

return 0;

} // здесь вызывается деструктор

ПРИЛОЖЕНИЕ Б

Листинг программы 2

#pragma hdrstop

#include "Unit2.h"

#include "Unit1.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm_zapusk *Form_zapusk;

//---------------------------------------------------------------------------

__fastcall TForm_zapusk::TForm_zapusk(TComponent* Owner)

: TForm(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm_zapusk::Edit1KeyPress(TObject *Sender, char &Key)

{

if ((Key >= '0') && (Key <= '9') || (Key == '+') || (Key == '/')||

(Key == '*')|| (Key == '-')|| (Key == ',')|| (Key == '.')) Key=0;

}

//---------------------------------------------------------------------------

void __fastcall TForm_glav::N12Click(TObject *Sender)

{

if (DBG_grupp->Visible) {

if (MessageBox(Handle,"Удалить запись?","Подтверждение на удаление ",mbYes+mbNo+mbCancel)==ID_YES) {

DataModule3->ADOQ_del_grupp->Parameters->ParamByName("kod_gr")->Value=DataModule3->ADOQ_grupp->FieldByName("kod_gr")->AsInteger;

DataModule3->ADOQ_del_grupp->ExecSQL ();

DataModule3->ADOQ_grupp->Active=false;

DataModule3->ADOQ_grupp->Active=true; } }

Размещено на Allbest.ru


Подобные документы

  • Проектирование базы данных, информационной подсистемы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и общие требования к техническому обеспечению. Запуск программы и описание тестовых прогонов.

    дипломная работа [3,2 M], добавлен 30.06.2011

  • Описание структуры бинарного дерева поиска на языке C# среды Visual Studio. Требования к интерфейсу пользователя, структуре данных и программным средствам. Компоненты программных средств, результаты тестирования, диаграммы вариантов использования классов.

    курсовая работа [968,2 K], добавлен 26.01.2013

  • Моделирование предметной области. Состав программного модуля. Разработка логической структуры единой базы данных банковской информационной системы "БИС". Создание экранных форм для ввода и корректировки информации. Разработка интерфейса пользователя.

    курсовая работа [1,8 M], добавлен 17.05.2016

  • Описание разрабатываемой программы с точки зрения пользователя и программиста. Поэтапная разработка программной системы. Создание базы данных в Access. Разработка структуры классов. Создание структуры для хранения данных. Проектирование интерфейса.

    курсовая работа [1,4 M], добавлен 07.08.2013

  • Разработка информационной программы для риэлтерской конторы по учету клиентской базы и базы квартир с фиксированием всех операций по купле-продаже. Описание структуры базы данных. Создание запросов и отчетов. Инструкция по эксплуатации, текст программы.

    курсовая работа [2,4 M], добавлен 07.09.2012

  • Разработка логической и физической моделей базы данных предприятия и описание атрибутов. Порядок создания справочников и реквизитов базы данных на основе программы "1С:Предприятие 8.2", назначение связей таблиц. Пример сгенерированных SQL-кодов.

    курсовая работа [2,7 M], добавлен 02.12.2015

  • Технико-экономическая характеристика объекта автоматизации. Концептуальное, логическое и физическое проектирование базы данных, требования к системе. Разработка внешних приложений. Руководство пользователя автоматической информационной системы "Учёт".

    курсовая работа [3,1 M], добавлен 17.08.2015

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

    курсовая работа [421,6 K], добавлен 27.06.2015

  • Разработка программного обеспечения заданной информационной системы. Описание алгоритма и математического метода решения задачи. Этапы формирования и реализации программы, ее листинг и оценка функциональности. Разработка инструкции пользователя.

    курсовая работа [223,9 K], добавлен 23.06.2015

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

    дипломная работа [7,5 M], добавлен 24.06.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.