Программа для работы с геометрическими фигурами

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

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

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

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

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

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

Содержание

  • Введение
  • 1. Постановка задачи
    • 1.1 Описание предметной области задачи
    • 1.2 Функциональное назначение программы
    • 1.3 Описание входных и выходных данных
    • 1.4 Характеристики программы
  • 2. Разработка программы
    • 2.1 Диаграмма иерархии классов и ее описание
    • 2.2 Описание классов
    • 2.3 Описание алгоритмов и методов решения
    • 2.4 Интерфейс программы
  • 3. Описание программы
    • 3.1 Общие сведения
    • 3.2 Описание модулей программы
    • 3.3 Текст программы
    • 3.4 Спецификация состава программы
    • 3.5 Тестирование программы
  • Источники, использованные при разработке
  • Приложение

Введение

Объектно-ориентированное программирование (ООП) - парадигма программирования, в которой основными концепциями являются понятия объектов и классов. Данная концепция в настоящее время является ведущей в области программирования. Количество прикладных языков программирования, реализующих объектно-ориентированную парадигму, является наибольшим по отношению к другим парадигмам. Данный подход реализован в таких языках программирования как С, C++, Object Pascal, Java, С# и другие.

C++ - компилируемый, статически типизированный язык программирования общего назначения. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником - языком C - наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.

Целью данной курсовой работы является разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С++ средствами Microsoft Visual Studio 2019.

Задачами данной курсовой работы являются:

- разработать иерархию классов согласно заданию;

- использовать полиморфизм для обработки объектов;

- реализовать задачу средствами C++.

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

1.1 Описание предметной области задачи

Необходимо разработать программу, реализующую работу с объектами двух типов О1 и О2. Создать иерархию классов: базовый и два наследника.

Каждый объект разработанной иерархии должен иметь имя (произвольная строка символов) и одно или несколько полей для хранения атрибутов объекта, набор обязательных для всех объектов иерархии операций (полиморфные методы) и набор заданных операций (методы обработки).

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

Клиент (функция main) должен работать со списком объектов (массив, список, последовательные классы STL), где предусмотрены следующие операции: добавить объект в список, удалить объект из списка, показать идентификатор, атрибуты, характеристики объекта и дополнительные операции (зависят от варианта). Реализовать работу со списком указателей на объекты базового класса.

Предусмотреть форму интерфейса, позволяющую продемонстрировать все методы разработанных типов.

1.2 Функциональное назначение программы

Функциональным назначением программы является работа с геометрическими фигурами.

1.3 Описание входных и выходных данных

Входными данными программы являются:

- команды пользователя

- данные фигур

Выходными данными программы являются:

- результаты команд

- характеристики и свойства фигур

1.4 Характеристики программы

Программа должна быть кроссплатформенна, т.е. быть легко переносимой на другую платформу.

Программа должна быть масштабируема, т.е. иметь легко расширяемую архитектуру.

Язык разработки должен поддерживать парадигму ООП.

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

2 Разработка программы

2.1 Диаграмма иерархии классов и ее описание

Рисунок 1. Диаграмма иерархии классов

2.2 Описание классов

Таблица 1. Класс Point

Параметр

Значение

Комментарий

Класс представляющий собой точку на двумерном пространстве

Поля

x: double - позиция по горизонтали

y: double - позиция по вертикали

Методы

distanceTo() - вычисление расстояния до другой точки

Таблица 2. Класс Figure

Параметр

Значение

Комментарий

Класс представляющий собой фигуру

Поля

name_: string - имя фигуры

Методы

getName() - получение имени

setName() - установка имени

move() - сдвиг фигуры

scale() - изменение масштаба фигуры

printAttributes() - выводатрибутовфигуры

printProperties() - вывод свойств фигуры

area() - вычисление площади фигуры

calculateArea() - вычисление площади фигур

compare() - сравнение двух фигур по свойству

Все операции имеют модификатор доступа - public.

Таблица 3. Класс Circle

Параметр

Значение

Комментарий

Класс представляющий собой окружность

Поля

center: Point - центр круга

radius_: double - радиус окружности

Параметр

Значение

Методы

move() - сдвиг окружности

scale() - изменение масштаба

printAttributes() - выводатрибутов

printProperties() - выводсвойств

area() - вычисление площади

length() - вычисление длины

diameter() - вычисление диаметра

sectorArea() - вычисление площади сектора

Все операции имеют модификатор доступа - public.

Таблица 4. Класс Parallelogram

Параметр

Значение

Комментарий

Класс представляющий собой параллелограмм

Поля

horizontalSize_: double - длина ребра по горизонтали

leftDownPoint: Point - леваянижняяточка диагонали

rightUpPoint: Point - правая верхняя точка диагонали

Методы

move() - сдвиг параллелограмма

scale() - изменение масштаба

printAttributes() - выводатрибутов

printProperties() - выводсвойств

area() - вычисление площади

perimeter() - вычисление периметра

diagonalLength() - длина диагонали

horizontalSide() - длина ребра по горизонатали

verticalSide() - длина ребра по вертикали

height() - вычислениевысоты

sharpAngle() - вычисление острого угла

obtuseAngle() - вычисление тупого угла

2.3 Описание алгоритмов и методов решения

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

Все параметры фигур вычисляются по геометрическим формулам.

2.4 Интерфейс программы

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

3. Описание программы

3.1 Общие сведения

Наименование программы - OOP.

Идентификатор исполняемого файла - oop.exe.

Программное обеспечение, необходимое для функционирования программы - Windows 10, MicrosoftVisualC++.

Язык программирования - C++.

Методология и технология написания программы - объектно-ориентированное программирование.

3.2 Описание модулей программы

Таблица 5. Модули программы

Имя файла

Выполняемые функции

ConsoleApplication2.cpp

Содержит точку входа. Реализует пользовательский интерфейс.

Point.h

Описывает точку на плоскости

Point.cpp

Реализует точку на плоскости

Figure.h

Описывает абстрактную фигуру

Figure.cpp

Реализует абстрактную фигуру

Circle.h

Описывает окружность

Circle.cpp

Реализует окружность

Parallelogram.h

Описывает параллелограмм

Parallelogram.cpp

Реализует параллелограмм

3.3 Текст программы

Исходный код программы представлен в приложении.

3.4 Спецификация состава программы

Таблица 6. Состав программы

Обозначение

Наименование

Примечание

ConsoleApplication2.sln

Файл решения проекта

Описывает структуру проектов

ConsoleApplication2.vcxproj

Файл проекта

Описывает файлы проекта

ConsoleApplication2.cpp

Исполняемый код С++

Является точкой входа в программу

Point.h

Заголовочный файл

Описывает класс Point

Point.cpp

Исполняемый код С++

Figure.h

Заголовочный файл

Описывает класс Figure

Figure.cpp

Исполняемый код С++

Circle.h

Заголовочный файл

Описывает класс Circle

Circle.cpp

Исполняемый код С++

Parallelogram.h

Заголовочный файл

Описывает класс Parallelogram

Parallelogram.cpp

Исполняемый код С++

программа интерфейс геометрический

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

Microsoft Visual Studio - линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментов. Данные продукты позволяют разрабатывать как консольные приложения, так и игры, и приложения с графическим интерфейсом, а также веб-сайты, веб-приложения, веб-службы как в родном, так и в управляемом кодах.

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

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

Тест 1: Главное меню.

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

Алгоритм тестирования:

1. запускаем программу.

Вывод: результаты теста совпали с ожидаемыми.

Тест 2: Добавление окружности.

Ожидаемый результат: при выборе опции «Добавить окружность» в меню, в результате в программу добавляется окружность.

Алгоритм тестирования:

1. запускаем программу;

2. выбираем первую команду «Добавить окружность»;

3. вводим имя, координаты и радиус;

4. выводим список фигур третьей командой.

Вывод: результаты теста совпали с ожидаемыми.

Тест 3: Добавление параллелограмма.

Ожидаемый результат: при выборе опции «Добавить параллелограмм» в меню, в результате в программу добавляется параллелограмм.

Алгоритм тестирования:

1. запускаем программу;

2. выбираем первую команду «Добавить параллелограмм»;

3. вводим имя, сторону, точки диагонали;

4. выводим список фигур третьей командой.

Вывод: результаты теста совпали с ожидаемыми.

Тест 4: Показать характеристики.

Ожидаемый результат: при выборе опции «Добавить параллелограмм» в меню, в результате в программу добавляется параллелограмм.

Алгоритм тестирования:

1. запускаем программу;

2. выбираем первую команду «Добавить параллелограмм»;

3. вводим имя, сторону, точки диагонали;

4. выводим список фигур третьей командой.

Вывод: результаты теста совпали с ожидаемыми.

Тест 5: Вычислить площадь всех фигур.

Ожидаемый результат: при выборе опции «Посчитать площадь всех фигур» в меню, в результате выдается суммарная площадь фигур.

Алгоритм тестирования:

1. запускаем программу;

2. добавляем фигуры;

3. вводим команду вычисления суммы всех фигур.

Вывод: результаты теста совпали с ожидаемыми.

Тест 6: Сдвиг фигуры.

Ожидаемый результат: при выборе опции «Сдвиг фигуры» в меню, выбранная фигура сдвигается требуемое значение.

Алгоритм тестирования:

1. запускаем программу;

2. добавляем фигуру;

3. вводим команду сдвига фигуры и вводим значение по координатам.

Вывод: результаты теста совпали с ожидаемыми.

Тест 7: Масштабирование фигуры.

Ожидаемый результат: при выборе опции «Масштабировать фигуру» в меню, выбранная фигура масштабируется на коэффициент.

Алгоритм тестирования:

1. запускаем программу;

2. добавляем фигуру;

3. вводим команду масштабирования фигуры и вводим коэффициент масштабирования.

Вывод: результаты теста совпали с ожидаемыми.

Тест 8: Сравнение фигур.

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

Алгоритм тестирования:

1. запускаем программу;

2. вводим фигуры;

3. вводим команду сравнения фигур по площади и их индексы.

Вывод: результаты теста совпали с ожидаемыми.

Источники, использованные при разработке

1. С/С++. Программирование на языке высокого уровня: учебник для студентов вузов, обучающихся по направлению «Информатика и вычислительная техника» / Т.А. Павловская. - М. [и др.]: Питер, 2008. - 461 с.: ил. - (Учебник для вузов)

2. С/С++. Структурное и объектно-ориентированное программирование []: практикум / Т.А. Павловская, Ю.А. Щупак. - Москва [и др.]: Питер, 2010. - 348 с.: ил. - (Учебное пособие).

3. Ахо Альфред В., Хопкрофт Джон, Ульман Джеффри Д., Структуры данных и алгоритмы.: Пер. с англ.: Уч. пос. - М.: Издательский дом «Вильямс», 2000. - 384 с.: ил.

4. Введение в теорию автоматов, языков и вычислений, 2-е изд. / Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман. - Пер. с англ. - М.: Издательский дом «Вильямс». 2002 - 528 с.: ил.

5. Каррано Ф.М., Причард Дж. Дж. Абстракция данных и решение задач на C++. Стены и зеркала, 3-е издание.: Пер. с англ. - М.: Издательский дом «Вильямс», 2003. - 848 с.: ил.

Приложение

Исходный текст программы

Main.cpp:

#include <iostream>

#include «Circle.h»

#include «Parallelogram.h»

using namespace std;

void addCircle (vector<shared_ptr<Figure>>& figures)

{

string name;

cout << «Enter name:»;

getline (cin, name);

double x, y, r;

cout << «Enter x:»;

cin >> x;

cout << «Enter y:»;

cin >> y;

cout << «Enter radius:»;

cin >> r;

figures.push_back (make_shared<Circle>(name, x, y, r));

}

void addParallelogram (vector<shared_ptr<Figure>>& figures)

{

string name;

cout << «Enter name:»;

getline (cin, name);

cout << «Enter horizontal side:»;

double side;

cin >> side;

double x1, y1, x2, y2;

cout << «Enter left down point (x y):»;

cin >> x1 >> y1;

cout << «Enter right up point (x y):»;

cin >> x2 >> y2;

figures.push_back (make_shared<Parallelogram>(name, side, Point({x1, y1}), Point({x2, y2})));

}

static int readIndex (const vector<shared_ptr<Figure>>& figures)

{

int index;

cout << «Enter figure index from 0 to» << figures.size() - 1 <<»: «;

cin >> index;

return (index >= 0 && index < figures.size())

? index

: -1;

}

int main()

{

vector<shared_ptr<Figure>> figures;

while (true)

(

cout << «\nMenu\n0) Exit\n1) Add circle\n2) Add parallelogram\n3) Print figure attributes\n»

<< «4) Print figure properties\n5) Calculate all areas\n6) Move figure\n7) Scale figure\n»

<< «8) Compare by area\n»;

cout << «Enter your command:»;

int command;

cin >> command;

cin.get();

if (command == 0)

break;

if (command == 1)

{

addCircle(figures);

}

else if (command == 2)

{

addParallelogram(figures);

}

else if (command == 3)

{

for (const auto& figure: figures)

cout << figure->printAttributes() << endl;

}

else if (command == 4)

{

for (const auto& figure: figures)

cout << figure->printProperties() << endl;

}

else if (command == 5)

{

cout << «Total area of all figures =» << Figure:calculateArea(figures) << endl;

}

else if (command == 6)

{

const auto index = readIndex(figures);

if (index!= -1)

{

double xOffset, yOffset;

cout << «Enter x offset:»;

cin >> xOffset;

cout << «Enter y offset:»;

cin >> yOffset;

figures.at(index)->move (xOffset, yOffset);

}

else

cout << «Wrong index\n»;

}

else if (command == 7)

{

const auto index = readIndex(figures);

if (index!= -1)

{

double scale;

cout << «Enter scale:»;

cin >> scale;

figures.at(index)->scale(scale);

}

else

cout << «Wrong index\n»;

}

else if (command == 8)

{

const auto index1 = readIndex(figures);

const auto index2 = readIndex(figures);

if (index1!= -1 && index2!= -1)

{

const auto result = Figure:compare (figures.at(index1), figures.at(index2), CompareAttribute: Area);

cout << (result == -1

? figures.at(index1)->getName() + «is smaller than» + figures.at(index2)->getName()

: result == 0

? figures.at(index1)->getName() + «is equal to» + figures.at(index2)->getName()

: figures.at(index1)->getName() + «is bigger than» + figures.at(index2)->getName())

<< endl;

}

else

cout << «Wrong index\n»;

}

else

cout << «Invalid command. Try again\n»;

cin.get();

}

}

Point.h:

#pragma once

class Point

{

public:

double X = 0;

double Y = 0;

double distanceTo (const Point& anotherPoint) const;

};

Point.cpp:

#include «Point.h»

#include <cmath>

double Point:distanceTo (const Point& anotherPoint) const

{

return sqrt (pow(X - anotherPoint.X, 2) + pow (Y - anotherPoint.Y, 2));

}

Figure.h:

#pragma once

#include <vector>

#include <memory>

#include <string>

using namespace std;

enum class CompareAttribute{Area};

class Figure

{

public:

Figure (const string& name);

virtual ~Figure() = default;

string getName() const;

void setName (const string& name);

virtual void move (double x, double y) = 0;

virtual void scale (double coeff) = 0;

virtual string printAttributes() const = 0;

virtual string printProperties() const = 0;

virtual double area() const = 0;

static double calculateArea (const vector<shared_ptr<Figure>>& figures);

static int compare (shared_ptr<Figure> lhs, shared_ptr<Figure> rhs, CompareAttribute attr);

private:

string name_;

};

Figure.cpp:

#include «Figure.h»

#include <stdexcept>

double Figure:calculateArea (const vector<shared_ptr<Figure>>& figures)

{

double area = 0;

for (const auto& figure: figures)

area += figure->area();

return area;

}

int Figure:compare (shared_ptr<Figure> lhs, shared_ptr<Figure> rhs, CompareAttribute attr)

{

if (attr == CompareAttribute: Area)

{

if (lhs->area() < rhs->area())

return -1;

if (lhs->area() == rhs->area())

return 0;

return 1;

}

throw std:logic_error («not supported»);

return false;

}

Figure: Figure (const string& name): name_(name)

{

}

string Figure:getName() const

{

return name_;

}

void Figure:setName (const string& name)

{

name_ = name;

}

Circle.h:

#pragma once

#include «Figure.h»

#include «Point.h»

class Circle: public Figure

{

public:

Circle (const string& name, double x, double y, double radius);

void move (double x, double y) override;

void scale (double coeff) override;

string printAttributes() const override;

string printProperties() const override;

double area() const override;

double length() const;

double diameter() const;

double sectorArea (double angle) const;

private:

Point center;

double radius_;

};

Circle.cpp:

#include «Circle.h»

#include <iostream>

Circle: Circle (const string& name, double x, double y, double radius): Figure(name)

{

center.X = x;

center.Y = y;

radius_ = radius;

}

void Circle:move (double x, double y)

{

center.X += x;

center.Y += y;

}

void Circle:scale (double coeff)

{

radius_ *= coeff;

}

string Circle:printAttributes() const

{

return «Circe» + getName() +»: (» + to_string (center.X) +»,» + to_string (center.Y) +»), r=» + to_string (radius_);

}

string Circle:printProperties() const

{

double angle;

cout << «Enter angle for sector area:»;

cin >> angle;

return «Circe» + getName() +»: area=» + to_string (area()) +», length=» + to_string (length())

+», diameter=» + to_string (diameter()) +», area of sector=» + to_string (sectorArea(angle));

}

double Circle:area() const

{

return 3.1415*radius_* radius_;

}

double Circle:length() const

{

return 3.1415*diameter();

}

double Circle:diameter() const

{

return 2*radius_;

}

double Circle:sectorArea (double angle) const

{

return (area()*angle)/360;

}

Parallelogram.h:

#pragma once

#include «Figure.h»

#include «Point.h»

class Parallelogram: public Figure

{

public:

Parallelogram (const string& name, double sideSize, Point p1, Point p2);

void move (double X, double Y) override;

void scale (double coeff) override;

string printAttributes() const override;

string printProperties() const override;

double area() const override;

double perimeter() const;

double diagonalLength() const;

double horizontalSide() const;

double verticalSide() const;

double height() const;

double sharpAngle() const;

double obtuseAngle() const;

private:

double horizontalSize_ = 0;

Point leftDownPoint;

Point rightUpPoint;

};

Parallelogram.cpp:

#include «Parallelogram.h»

Parallelogram: Parallelogram (const string& name, double sideSize, Point p1, Point p2): Figure(name)

{

horizontalSize_ = sideSize;

leftDownPoint = p1;

rightUpPoint = p2;

}

void Parallelogram:move (double X, double Y)

{

leftDownPoint.X += X;

rightUpPoint.X += X;

leftDownPoint.Y += Y;

rightUpPoint.Y += Y;

}

void Parallelogram:scale (double coeff)

{

horizontalSize_ *= coeff;

rightUpPoint.X *= coeff;

leftDownPoint.Y *= coeff;

}

string Parallelogram:printAttributes() const

{

return «Parallelogram» + getName() +»: horizontal side=» + to_string (horizontalSize_)

+», left-down point=(» + to_string (leftDownPoint.X) +»,» + to_string (leftDownPoint.Y)

+»), right-up point=(» + to_string (rightUpPoint.X) +»,» + to_string (rightUpPoint.Y) +»)»;

}

string Parallelogram:printProperties() const

{

return «Parallelogram» + getName() +»: area=» + to_string (area()) +», perimeter=» + to_string (perimeter())

+», diagonal length=» + to_string (diagonalLength()) +», horizontal side=» + to_string (horizontalSide())

+», vertical side=» + to_string (verticalSide()) +», height=» + to_string (height())

+», angles=» + to_string (sharpAngle()) +»,» + to_string (obtuseAngle());

}

double Parallelogram:area() const

{

return horizontalSide()*height();

}

double Parallelogram:perimeter() const

{

return 2*(horizontalSide() + verticalSide());

}

double Parallelogram:diagonalLength() const

{

return leftDownPoint.distanceTo(rightUpPoint);

}

double Parallelogram:horizontalSide() const

{

return horizontalSize_;

}

double Parallelogram:verticalSide() const

{

return leftDownPoint.distanceTo({rightUpPoint.X - horizontalSide(), rightUpPoint.Y});

}

double Parallelogram:height() const

{

return leftDownPoint.Y - rightUpPoint.Y;

}

double Parallelogram:sharpAngle() const

{

return acos (abs(

(pow (horizontalSide(), 2) + pow (verticalSide(), 2) - pow (diagonalLength(), 2))

/ (2 * horizontalSide() * verticalSide())))

* 180/3.1415;

}

double Parallelogram:obtuseAngle() const

{

return 180-sharpAngle();

}

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

...

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

  • Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.

    курсовая работа [275,8 K], добавлен 28.06.2008

  • Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.

    курсовая работа [159,8 K], добавлен 26.01.2010

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

    курсовая работа [475,8 K], добавлен 18.07.2012

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

    курсовая работа [427,4 K], добавлен 10.10.2015

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

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

  • Разработка эскизного и технического проектов программы, моделирующей игру "Кости". Постановка задачи, описание алгоритма; написание программы, организация входных и выходных данных; выбор программных средств; спецификация, текст, условия выполнения.

    курсовая работа [93,8 K], добавлен 11.02.2012

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

    курсовая работа [352,8 K], добавлен 14.04.2011

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

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

  • Разработка эскизного и технического проектов программы, ее назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка рабочего проекта, спецификация программы.

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

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

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

  • Характеристика программы на языке VBA, которая вводит исходные данные, выполняет расчеты и выводит результаты на экран. Описание переменных в программе, ее блок-схема и алгоритм работы. Листинг программы. Описание входных данных и результат вычислений.

    курсовая работа [721,4 K], добавлен 10.11.2010

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

    курсовая работа [94,7 K], добавлен 30.01.2016

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

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

  • Разработка эскизного и технического проектов программы "Шифр Цезаря": назначение и область применения, описание алгоритма, организация входных и выходных данных. Выбор состава технических и программных средств, разработка, тест и внедрение программы.

    курсовая работа [563,7 K], добавлен 15.07.2012

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

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

  • Применение программного обеспечения для разработки игры "Быки и коровы". Описание алгоритма и интерфейса пользователя программы. Назначение и область применения и описание возможностей программы. Рассмотрение списка сообщений об ошибках программы.

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

  • Назначение программы "Учёт пациентов" и её подсистемы. Диаграмма классов предметной области, диаграмма последовательностей, описание автоматизируемых функций и характеристика функциональной структуры. Физическая схема и описание таблиц базы данных.

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

  • Технические характеристики: постановка задачи, описание основных типов входных и выходных данных. Описание алгоритмов основной программы и процедур удаления и исправления данных в таблицах. Выбор языка программирования. Технико-экономические показатели.

    курсовая работа [478,1 K], добавлен 28.12.2012

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

    лабораторная работа [43,1 K], добавлен 21.07.2012

  • Составление транслятора на языке С для перевода кода программы из языка Pascal в код программы на языке Cи. Распознавание и перевод конструкций: for, type, function, integer. Вешняя спецификация, описание, структура, текст программы; распечатка текстов.

    курсовая работа [287,8 K], добавлен 24.06.2011

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