Проектирование управляющей программы в Delpi7
Программа для создания упорядоченного каталога книг. Описание предметной области в табличной форме. Грамматика входного языка. Описание логической структуры программы и данных. Модуль лексического разбора. Результаты выполнения программы. Тексты модулей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 20.01.2012 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ,
СТАТИСТИКИ И ИНФОРМАТИКИ
ИНСТИТУТ КОМПЬЮТЕРНЫХ ТЕХНОЛОГИЙ
Контрольная работа
По дисциплине «Проектирование и стандартизация прикладного программного обеспечения»
Задание: Проектирование управляющей программы ППП
МОСКВА 2011
Содержание
1. Руководство пользователя
1.1 Назначение программы
1.2 Описание предметной области в табличной форме
1.3 Граф предметной области
1.4 Грамматика входного языка
1.5 Примеры задания программ на входном языке
2. Описание программы
2.1 Общие сведения
2.2 Описание логической структуры программы
2.3 Вызов и загрузка
2.4 Входные данные
2.5 Выходные данные
2.6 Модуль лексического разбора
3. Приложения к программе
3.1 Результаты выполнения программы
3.2 Тексты модулей
Список использованной литературы
Приложение
1. Руководство пользователя
1.1 Назначение программы
Данная программа предназначена для создания упорядоченного каталога книг (каталог упорядочивается по названию книги).В программе предусмотрен ввод данных о книгах, просмотр и редактирование ранее введенной информации, сохранение информации на жестком диске компьютера, а также обработка информации и упорядочение ее в алфавитном порядке по названию книг, вывод каталога на экран и его распечатка на принтере. Таким образом, посредством перечисленных операций создается каталог книг.
1.2 Описание предметной области в табличной форме
Область деятельности, к которой относятся задачи, решаемые ППП, называется предметной областью пакета.
Для разработки пакета прикладных программ предметная область представляется в виде модели.
Модель предметной области может быть представлена следующими вариантами:
- с помощью таблиц;
- с помощью графа предметной области.
Использование табличного варианта предполагает формирование нескольких таблиц (табл.№1, табл.№2, табл.№3).
Таблица №1. Таблица данных.
Номер п\п |
Старшее данное |
Подчиненное данное |
||||
1 |
Name |
KolKn, |
Avtor, |
Izdat |
Таблица №2. Таблица связей по определению,
Номер п\п |
Название данного |
Тип данного |
||
I |
Количество книг |
KolKn |
Целое |
|
2 |
Наименование книги |
Name |
Текстовый |
|
3 |
Автор книги |
Avtor |
Текстовый |
|
4 |
Издательство |
Izdat |
Текстовый |
|
5 |
И т.д. |
Таблица №3. Таблица задач.
Номер п\п |
Функции модуля |
Идентификатор модуля |
Входные параметры |
Выходные параметры |
|
1 |
Модуль обмена |
OBMEN |
VHOD |
INFORM |
|
2 |
Лексический разбор |
LAN |
VHOD |
INFORM, YV |
|
3 |
Синтаксический анализ |
SAN |
YV |
PAR, INFORM |
|
4 |
Модуль управления |
YPRAVA |
YV PAR |
INFORM |
|
5 |
Информатор |
INFORM |
INFORM |
KODV |
|
б |
Модуль помощи |
HELP |
1.3 Граф предметной области
Граф предметной области (в дальнейшем ГПО) используется для описания взаимосвязи различных элементов предметной области. Стадии обработки обозначаются вершинами, а модули, которые позволяют выполнить требуемую обработку - соответствующими дугами.
Вершинами обозначены следующие стадии обработки:
1. Ввод информации о книгах;
2. Работа с уже введенной информацией;
3. Сохранение информации;
4. Обработка информации;
5. Выдача результатов обработки;
6. Завершение работы.
Дугами обозначены следующие алгоритмы:
1. Ввод данных с клавиатуры;
2. Просмотр введенной информации;
3. Редактирование введенной информации;
4. Сохранение каталога на жестком диске;
5. Упорядочение данных о книгах в алфавитном порядке для получения каталога;
6. Вывод на экран сформированного каталога;
7. Вывод на печать готового каталога.
Массив ГПО имеет вид:
1 |
2 |
|
2 |
3 |
|
2 |
3 |
|
3 |
4 |
|
4 |
5 |
|
5 |
б |
|
5 |
6 |
1.4 Грамматика входного языка
Входной язык ППП представляет собой специально разработанный программный язык. Как правило, он ориентируется на терминологию, привычную для пользователя прикладного программного обеспечения. Правильность предложений входного языка определяется специальным набором правил, так называемой формальной грамматикой. Для описания формальной грамматики используем метаязык и нотацию Бэкуса-Наури. Эта нотация предусматривает использование следующих символов:
::= - по описанию есть;
| - логическое сложение (или);
<...> - скобка для обозначения нетерминального символа;
[...] - обозначение необязательного элемента.
Формальная грамматика G задается четырьмя элементами:
G={N,Z,T,F}, где N - множество нетерминальных символов (нетерминальный словарь);
Z - начальный символ (аксиома);
Т - множество терминальных символов
(терминальный словарь);
F - множество порождений.
Формальная грамматика позволяет описать входной язык пакета.
1.5 Примеры задания программ на входном языке
<ПВЯ>::=<оператор>[<оператор>]
<оператор>::=<имя оператора> <разделитель> [<параметр>]
<признак конца оператора>
<имя оператора>::=ввод| просм| ред сохр| упоряд| экр |
печ
<разделитель>::= =
<параметр>::=<символьная константа>
<символьная константа>::=<буква>[<буква>|<цифра>]
<буква>::=А Б..Я
<цифра>::=0|1..9
<признак конца оператора>::= ;
Пример:
ВВОД=КЛАВИАТУРА; ПРОСМ=НАБОКОВ\C:\Мои документы\Таблица; СОХР=С:\Мои документы;
УПОРЯД=АВТОР \C:\Мои документы\Таблица; ЭКР=ЭКРАН;
2. Описание программы
2.1 Общие сведения
Данная программа выполняет необходимые действия в соответствии с командной информацией, заданной пользователем. Командная (управляющая) информация представляется на входном языке пакета. Программа на входном языке обрабатывается специальной управляющей программой, которая обеспечивает вызов необходимых программных модулей.
Управляющая программа составлена из следующих модулей:
2.2 Описание логической структуры программы
Управляющая программа состоит из следующих модулей:
1. Ведущий блок, который обеспечивает выполнение требуемой последовательности других модулей. Является центральным элементом управляющей программы.
2. Модуль обмена предназначен для обеспечения связи ППП с источниками и получателями информации. Он обеспечивает: ввод ПВЯ; ввод словарей; ввод данных и вывод результатов решения.
3. Модуль лексического разбора предназначен для распознавания лексических конструкций (лексем) и преобразования ПВЯ в вид, удобный для дальнейшей обработки.
4. Модуль синтаксического анализа предназначен осуществлять проверку грамматической правильности программы на входном языке посредством анализа управляющего вектора. Он обеспечивает следующие действия: контролирует соответствие управляющего вектора графу предметной области; обеспечивает использование аппарата умолчания; обеспечивает использование макрокоманд.
5. Модуль управления обеспечивает выполнение обращений к обрабатывающим программам. Порядок обращения к обрабатывающим программам задается в управляющем векторе. При вызове обрабатывающей программы осуществляется передача параметров, часть из которых является входными данными, а остальные параметры являются результатными, для которых вычисляются новые значения.
6. Модуль информатора предназначен для выдачи сообщений о ходе решения задачи.
7. Модуль помощи предназначен для руководства действиями пользователя. Организация помощи пользователю является непременным условием эффективного функционирования прикладного программного обеспечения.
Программные модульные пакеты, реализующие алгоритмы обработки данных, затребованные в ПВЯ, реализуются в обрабатывающем модуле. Поддержание пакета в рабочем состоянии обеспечивается обслуживающими модулями. ППП представляет собой объединение входного языка, информационной базы, управляющих, обслуживающих и обрабатывающих модулей.
2.3 Вызов и загрузка
Вызов и загрузка осуществляется запуском файла “Project1.PAS” из среды Delphi.
2.4 Входные данные
2.5 Выходные данные
2.6 Модуль лексического разбора
Модуль лексического разбора предназначен для распознавания лексических конструкций (лексем) и преобразования ПВЯ в вид, удобный для дальнейшей обработки.
Лексический разбор представляет собой сложный алгоритм, для реализации которого может быть использована модель с конечным числом состояний, то есть конечный автомат.
Детерминированным конечным автоматом называется упорядоченная система из пяти символов:
А = (X,S,S0,B,F) , где
X - множество входных символов;
S - множество внутренних состояний;
S0 - начальное состояние;
В - функция, отображающая переход в новое состояние;
F - заключительное состояние.
Таблица конечного автомата представлена далее:
Таблица №4. Таблица конечного автомата.
Ввод |
ПроемРедакт |
Сохр |
Упорядочен |
ЭкрПеч |
-- |
Пробел |
; |
Конец строки |
Неопозн символ |
||
SOST=0 |
l/Fl |
1/F1 |
1/F1 |
1/F1 |
1/F1 |
0 |
KODV =0 |
KODV=4 |
|||
SOST=1 |
2/F2 |
1 |
KODV=5 |
KODV= 6 |
|||||||
SOST=2 |
2 |
0/F3 |
KODV=7 |
2 |
F1- соответствует формированию управляющего вектора;
F2- поиск начала параметра;
F3- формирование вектора параметров.
Таблица описывает модель конечного автомата, состоящую из следующей системы символов:
X = {ВВОД, ПРОСМ, РЕДАКТ, УПОРЯД, ЭКР, ПЕЧ,=,,;} S={SOST=0, SOST=1, SOST=2} S0={SOST=0} B={F1, F2, F3} F={SOST=0}
3. Приложения к программе
3.1 Результаты выполнения программы
Пример 1:
Пользователем введена следующая программа: В
ВОД= C:\Мои документы \ Таблица; ПРОСМ=НАБОКОВ;РЕД=НАИМЕНОВАНИЕ; СОХР=С:\МОИ ДОКУМЕНТЫ ; УПОРЯД=АВТОР; ЭКР=ВЫВОД ; ПЕЧАТ=ПРИНТЕР;
Вершинами обозначены следующие стадии обработки:
1. Ввод информации о книгах;
2. Работа с уже введенной информацией;
3. Сохранение информации;
4. Обработка информации;
5. Выдача результатов обработки;
6. Завершение работы.
Дугами обозначены следующие модули:
1. Ввод данных с диска;
2. Просмотр введенной информации;
3. Редактирование введенной информации;
4. Сохранение каталога на жестком диске;
5. Упорядочение данных о книгах в алфавитном порядке;
6. Вывод на экран;
7. Вывод на печать.
Массив ГПО имеет вид:
1 |
2 |
|
2 |
3 |
|
3 |
4 |
|
4 |
5 |
|
5 |
6 |
|
5 |
6 |
|
6 |
7 |
YV: 1;2;3;4; 5;6;7.
KODV=0 - операторы введены грамматически правильно и в нужной последовательности.
Пример 2:
Пользователем введена следующая программа:
ПРОСМ=НАБОКОВ; ВВОД=КЛАВИАТУРА; ПЕЧ=ПРИНТЕР;
YV: 2;1;7;
KODV=8 - операторы введены грамматически правильно, но их последовательность не соответствует ГПО.
Приложения
ПВЯ :
'ВВОД=C: \Мои документы \ Таблица; ПРОСМ=НАБОКОВ; РЕД=НАИМЕНОВАНИЕ; СОХР=С:/МОИ ДОКУМЕНТЫ;УПОРЯД=АВТОР;ЭКР=ВЫВОД;ПЕЧАТ=ПРИНТЕР;
3.2 Тексты модулей
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
cmdInput: TButton;
cmdProcess: TButton;
cmdExit: TButton;
lbPVJA: TLabel;
edPVJA: TEdit;
mesInf: TMemo;
lbHelp1: TLabel;
lbHelp2: TLabel;
cmdHelp: TButton;
procedure FormActivate(Sender: TObject);
procedure cmdProcessClick(Sender: TObject);
procedure cmdInputClick(Sender: TObject);
procedure cmdExitClick(Sender: TObject);
procedure cmdHelpClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
PVJA: string; {Программа на входном языке}
implementation
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
begin
Caption:='Управляющая программа';
cmdInput.Caption:='Ввод ПВЯ';
cmdProcess.Caption:='Выполнение';
cmdExit.Caption:=' Выход ';
cmdHelp.Caption:='Справка';
lbPVJA.Caption:='Программа на входном языке';
lbPVJA.AutoSize:=true;
mesInf.Text:='Выполняется управляющая программа';
lbHelp1.Visible:=false;
lbHelp2.Visible:=false;
edPVJA.Text:= ``;
edPVJA.SetFocus;
end;
procedure TForm1.cmdInputClick(Sender: TObject);
{Ввод программы на входном языке пакета }
begin
PVJA:=edPVJA.Text;
cmdProcess.SetFocus;
end;
procedure TForm1.cmdProcessClick(Sender: TObject);
{Нажатие клавиши «Выполнение»}
Type
TypeTinf= Record
KV: integer; {Код возврата}
PB: integer; {Признак блока}
end; {TypeTinf}
T_YV=array[1..80] of integer;
T_Par=array [1..80] of string;
Var
YV: T_YV; {Управляющий вектор}
Par: T_Par; {Вектор параметров}
Ksl: integer; {Количество расшифрованных слов ПВЯ}
Tinf: TypeTinf; {Таблица информатора}
Procedure Lan (PVJA: string
var YV: T_YV;
var Par: T_par;
var Ksl: integer;
var Tinf: TypeTinf);
{Блок лексического разбора}
var
Slov: array [1..7] of string; {Терминальный словарь}
Kts: integer; {Количество элементов в терминальном словаре}
Sost: integer; {Состояние системы}
Stroka: string; {Рабочие переменные}
i,j,l,nom,ls,ln: integer;
begin
with Tinf do
begin
PB:=1;
KV:=0;
Ksl:=0;
Kts:=7;
Sost:=0;
Slov[1]:='ВВОД';
Slov[2]:= 'ПРОСМ';
Slov[3]:= ' РЕД'
Slov[4]:='СОХР;
Slov[5]:=' УПОРЯД ';
Slov[6]:= ЭКРАН ';
Slov[7]:='ПЕЧАТ';
j:=1;
ln:=length(PVJA);
while (j<=ln) and (KV=0) do
begin
Stroka:=copy(PVJA,j,ln-j+1);
if copy(Stroka,1,1)=' ' then
j:=j+1
else
begin
case Sost of
0: begin {Поиск оператора}
ls:=0;
for l:=1 to Kts do
begin
nom:=Pos(Slov[l],Stroka);
if nom=1 then
begin
Ksl:=Ksl+1;
YV[Ksl]:=l;
Par[Ksl]:='';
ls:=length(Slov[l]);
j:=j+ls;
Sost:=1;
end;
end;
if ls=0 then KV:=4; {Оператор не найден}
end;
1: begin {Поиск разделителя}
if copy(Stroka,1,1)='=' then
begin
Sost:=2;
j:=j+1;
end
else KV:=6; {Разделитель не найден}
end;
2: begin {Засылка параметра}
if copy(Stroka,1,1)=';' then
begin
Sost:=0;
j:=j+1;
end
else
begin
Par[Ksl]:=Par[Ksl]+copy(Stroka,1,1);
j:=j+1;
end;
end;
end; {case}
end; {else}
end; {while}
if (Sost=1) and (KV=0) then KV:=5;
if (Sost=2) and (KV=0) then KV:=7;
end; {with}
end; {procedure Lan}
Procedure San (YV: T_YV; Ksl: integer; var Tinf: TypeTinf);
{Блок лексического анализа}
var
GPO: array[1..1,1..2] of integer; {Граф предметной области}
n_ver: integer; {номер начальной вершины}
k_ver: integer; {номер конечной вершины}
i: integer;
begin
with Tinf do
begin
PB:=2;
KV:=0;
{загрузка ГПО}
GPO[1,1]:=1; GPO[1,2]:=2;
GPO[2,1]:=1; GPO[2,2]:=2;
GPO[3,1]:=2; GPO[3,2]:=3;
GPO[4,1]:=2; GPO[4,2]:=3;
GPO[5,1]:=3; GPO[5,2]:=4;
GPO[6,1]:=3; GPO[6,2]:=4;
GPO[7,1]:=4; GPO[7,2]:=5;
n_ver:=1;
k_ver:=5;
i:=1;
while (i<=Ksl) and (KV=0) do
begin
if GPO[YV[i],1]=n_ver
then n_ver:=GPO[YV[i],2]
else KV:=8;
i:=i+1;
end;
if (n_ver<>k_ver) and (KV=0) then KV:=16;
end; {with}
end; {procedure San}
Procedure Yprava (YV: T_YV; Par: T_Par; Ksl: integer; var Tinf: TypeTinf);
{Модуль управления}
var
Parm: string;
j,Kvo: integer;
procedure Vvodk (Parm: string; var Kvo: integer);
{ заглушка STUB процедуры, предназначенной для ввода информации с клавиатуры}
begin
Kvo:=0;
end;
procedure Pechat (Parm: string; var Kvo: integer);
{ заглушка STUB процедуры, предназначенной для распечатки информации }
begin
Kvo:=0;
end;
procedure Ekran (Parm: string; var Kvo: integer);
{ заглушка STUB процедуры, предназначенной для информации на экран }
begin
Kvo:=0;
end;
procedure Soxr (Parm: string; var Kvo: integer);
{ заглушка STUB процедуры, предназначенной для сохранения информации на диске }
begin
Kvo:=0;
end;
procedure Korr (Parm :string; var Kvo: integer);
{заглушка STUB процедуры, предназначенной для проверки}
begin
Kvo:=0;
end;
procedure Uporyad (Parm :string; var Kvo : integer);
{заглушка STUB процедуры, предназначенной для упорядочивания по автору}
begin
Kvo:=0;
end;
procedure Prosm (Parm: string; var Kvo : integer) ;
{заглушка STUB процедуры, предназначенной для просмотра}
begin
Kvo:=0;
end;
begin
with Tinf do
begin
PB:=3; KV:=0;
Kvo:=0;
for j:=1 to Ksl do
begin
Parm:=Par[j];
Case YV[j] of
1: Vvodk (Parm,Kvo);
2: Prosm (Parm,Kvo);
3: Korr (Parm,Kvo);
4: Soxr (Parm,Kvo);
5: Uporyad (Parm,Kvo);
6: Ekran (Parm,Kvo);
7: Pechat (Parm,Kvo);
end; {case}
if KV<Kvo then KV:=Kvo;
end; {for}
end; {with}
end; {procedure Yprava}
Procedure Inform (Tinf: TypeTinf);
{Блок информатора}
begin
with Tinf do begin
case PB of
1: begin
mesInf.Lines.add('Выполнен лексический разбор');
Case KV of
0: mesInf.Lines.add('Нормальное завершение');
4: mesInf.Lines.add('Оператор задан не верно');
5: mesInf.Lines.add('Отсутствует параметр после имени оператора');
6: mesInf.Lines.add('Разделитель задан неверно');
7: mesInf.Lines.add('Отсутствует символ конца оператора');
end;
end;
2: begin
mesInf.Lines.add('Выполнен синтаксический анализ');
Case KV of
0: mesInf.Lines.add('Нормальное завершение');
8: mesInf.Lines.add('Неверный порядок операторов');
16: mesInf.Lines.add('Программа не завершена');
end;
end;
3: mesInf.Lines.add('Выполнились обрабатывающие процедуры');
end; {case}
end; {with}
end; {procedure}
begin
with Tinf do
begin
Lan (PVJA, YV, Par, Ksl, Tinf); {Выполнение блока лексического разбора}
Inform (Tinf);
If KV=0 then
begin
San (YV, Ksl, Tinf); {Выполнение блока синтаксического анализа}
Inform (Tinf);
If KV=0 then
begin
Yprava (YV, Par, Ksl, Tinf); {Выполнение блока управления}
Inform (Tinf);
end;
end;
end; {with}
mesInf.lines.add ('Завершение работы управляющей программы');
end;
procedure TForm1.cmdExitClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.cmdHelpClick(Sender: TObject);
{Метод, обеспечивающий помощь пользователю}
begin
lbHelp1.Caption:='Структура оператора';
lbHelp2.Caption:='<Имя оператора>=<Параметр>;';
lbHelp1.AutoSize:=true;
lbHelp2.AutoSize:=true;
lbHelp1.Visible:=true;
lbHelp2.Visible:=true;
cmdProcess.SetFocus;
end;
end.
программа язык данные модуль
Список литературы
1. Смирнов А.А. «Разработка прикладного программного обеспечения», М. 2004г. Изд. МЭСИ
Приложение
Таблица
НАИМЕНОВАНИЕ |
АВТОР |
ИЗДАТЕЛЬСТВО |
ГОД ИЗДАНИЯ |
КОЛ-ВО СТР |
|
«Машенька» |
Владимир Набоков |
«АСТ» |
2003 |
451 |
|
Казус Кукоцкого |
Людмила Улицкая |
«КРОН-ПРЕСС» |
2005 |
478 |
|
Иерусалим обреченный |
Стивен Кинг |
«АСТ» |
1997 |
331 |
|
Белая гвардия |
Михаил Булгаков |
«Классика» |
2003 |
504 |
|
Размещено на Allbest.ru
Подобные документы
Функции компилятора как системной обрабатывающей программы. Этапы компиляции: анализ и синтез. Разработка лексического анализатора. Алгоритм и программа лексического анализа. Реализация двухфазного компилятора. Описание логической структуры программы.
курсовая работа [310,4 K], добавлен 26.03.2010Требования к функциональным характеристикам программы, составу и параметрам технических средств, программной совместимости. Особенности программирования в среде Access. Описание интерфейса программы, ввод и редактирование данных, добавление новых книг.
курсовая работа [1,5 M], добавлен 17.11.2010Постановка задачи, описание предметной области, входная и выходная информация. Выбор и основание инструментов разработки. Программно-аппаратные ресурсы. Описание логической структуры, проектирование системы меню. Тестирование, способ установки программы.
курсовая работа [107,5 K], добавлен 07.09.2015Разработка многопоточного приложения, выполняющего обмен данными между двумя процессами и анализ содержимого служебной области системного диска. Описание логической структуры программы, создание программы-инсталлятора, методика и результаты испытаний.
курсовая работа [4,3 M], добавлен 27.03.2011Преимущества использования электронных каталогов. Структурное и функциональное проектирование компьютерной программы. Особенности процесса загрузка базы данных книг, сохранение базы данных. Вывод каталога книг на экран, меню сортировки программы.
контрольная работа [94,5 K], добавлен 24.12.2017Описание предметной области и процессов обработки информации, требующих автоматизации. Обзор существующих программных продуктов. Описание структуры системы бронирования гостевого дома. Назначение и функции программы. Описание методов защиты данных в ИС.
дипломная работа [154,6 K], добавлен 08.02.2013Использование массива данных о сотрудниках небольшой фирмы для создания программы. Введение информации, ее хранение в файле workers.dat. Процедуры и функции программы, дополнительные файлы, описание предметной области и алгоритма задачи, листинг.
курсовая работа [22,0 K], добавлен 29.11.2009Развитие компьютерных технологий. Системы корпоративной безопасности. Особенности среды MASM32. Анализ математических методов. Постановка задачи. Описание программы. Назначение и логическая структура. Экранные формы программы. Тексты модулей программы.
курсовая работа [381,6 K], добавлен 08.01.2009Проектирование и описание логической структуры программы для работы электронного магазина в среде Microsoft Visual C++. Инструкция, описывающая сведения для запуска программы. Обновление данных о доступных товарах. Поиск по каталогу доступных товаров.
курсовая работа [27,6 M], добавлен 27.04.2012Создание программы для обработки информации об объектах предметной области "Бытовая техника" в среде визуального программирования C++. Иерархия родственных классов. Описание логической структуры программы. Реализация файлового ввода/вывода данных.
курсовая работа [711,4 K], добавлен 27.07.2014