Контрольная: Разработка и стандартизация - текст контрольной. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Контрольная

Разработка и стандартизация

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Контрольная работа
Язык контрольной: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 4145 kb, скачать бесплатно
Обойти Антиплагиат
Повысьте уникальность файла до 80-100% здесь.
Промокод referatbank - cкидка 20%!

Узнайте стоимость написания уникальной работы



Министерство общего и профессионального образования Московский Государственный Университет

Экономики Статистики и Информатики Институт экономических информационных систем и

программирования

Контрольная работа

по дисциплине

“Разработка и стандартизация

программных средств и информационных

технологий”

Руководитель: Смирнов А.А. Студентка: Волкова А.В. Группа: ЗКП-401 Зачетная книжка № 97122

Москва 2001г.

Содержание:

1. Руководство пользователя. __________________________3

1.1. Назначение программы. _______________________________ 3

1.2. Описание предметной области в табличной форме._____________ 3

1.3. Граф предметной области. ____________________________ 4

1.4. Грамматика входного языка. ____________________________ 5

1.5. Примеры задания программ на входном языке. ________________ 5

2. Описание программы. ______________________________ 6

2.1. Общие сведения. ___________________________________ 6

2.2. Описание логической структуры программы. _________________ 6

2.3. Вызов и загрузка.___________________________________ 8

2.4. Входные данные. ___________________________________ 8

2.5. Выходные данные. ___________________________________ 8

2.6. Модуль лекси ческого разбора. ___________________________ 8

3. Приложения. ____________________________________10

3.1. Результаты выполнения программы._____________________ 10

3.2. Тексты модулей. __________________________________ 11

3.3. Распечатка экрана. _________________________________17

4. Список использованной литературы. ___________________18

1. Руководство пользователя.

1.1. Назначение программы.

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

1.2. Описание предметной области в табличной форме.

Область деятельности, к которой относятся задачи, решаемые ППП, называется предметной областью пакета.

Для разработки пакета прикладных программ предметная область представляется в виде модели.

Модель предметной области может быть представлена следующими вариантами:

- с помощью таблиц;

- с помощью графа предметной области.

Использование табличного варианта предполагает формирование нескольких таблиц (табл.№1, табл.№2, табл.№3).

Таблица №1. Таблица данных.









I


Количество книг


KolKn


Целое


2


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


Name


Текстовый


3


Автор книги


Avtor


Текстовый


4


Издательство


Izdat


Текстовый


5


И т.д.






Таблица №2. Таблица связей по определению,

||||И||11||в:;:;


Старшее даккоё


II


^ШШШШЩ^Ш^З'Й^Й^^:)!!:^^^


ЁЙЙЧИ1№Н^^:^




1


Name




KolKn,


Avtor,


Izdat


Таблица №3. Таблица задач.



Ш^^^ШШ|:ШШв^^Ш11111Ш


ШШШШШШЩЩЖ*


1||111|11ШШЩ||Ж


Ш|||||Щррр|||;


IE










1


Модуль обмена


OBMEN


VHST


INFORM


2


Лексический разбор


LEXRAZ


VHST


INFORM, YPST


3


Синтаксический анализ


SINAN


YPST


PRST, INFORM


4


Модуль управления


YPRAVL


YPST, PRST


INFORM


5


Информатор


INFORM


INFORM


KODV


б


Модуль помощи


HELPER






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


7.4. Грамматика входного языка.

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

Для описания формальной грамматики используем метаязык и нотацию Бэкуса-Наури. Эта нотация предусматривает использование следующих символов:

::= - по описанию есть;

| - логическое сложение (или);

<...> - скобка для обозначения нетерминального символа;

[...] - обозначение необязательного элемента.

Формальная грамматика G задается четырьмя элементами:

G={N,Z,T,F}, где N - множество нетерминальных символов (нетерминальный словарь);

Z - начальный символ (аксиома);

Т - множество терминальных символов

(терминальный словарь);

F - множество порождений.

Формальная грамматика позволяет описать входной язык пакета.

1.5. Примеры задания программ на входном языке.

<ПВЯ>::=<оператор>[<оператор>]

<оператор>::=<имя оператора> <разделитель> [<параметр>]

<признак конца оператора>

<имя оператора>::=ввод| проем| ред сохр| упоряд| экр |

печ

<разделитель>::= =

<параметр>::=<символьная константа>

<символьная константа>::=<буква>[<буква>|<цифра>]

<буква>::=А Б..Я

<цифра>::=0|1..9

<признак конца оператора>::= ;

Пример:

ВВОД=КЛАВИАТУРА; ПРОСМ=ЛЕРМОНТОВ; СОХР-С:\KATALOG_BOOK;

УПОРЯД=АВТОР; ЭКР=ЭКРАН;

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

2.1. Общие сведения.

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

Управляющая программа составлена из следующих модулей:

2.2. Описание логической структуры программы.

Управляющая программа состоит из следующих модулей: 1.Ведущий блок, который обеспечивает выполнение требуемой последовательности других модулей. Является центральным элементом управляющей программы. 2. Модуль обмена предназначен для обеспечения связи ППП с источниками и получателями информации. Он обеспечивает: ввод ПВЯ; ввод словарей; ввод данных и вывод результатов решения.

3. Модуль лексического разбора предназначен для распознавания лексических конструкций (лексем) и преобразования ПВЯ в вид, удобный для дальнейшей обработки.

4. Модуль синтаксического анализа предназначен осуществлять проверку грамматической правильности программы на входном языке посредством анализа управляющего вектора. Он обеспечивает следующие действия: контролирует соответствие управляющего вектора графу предметной области; обеспечивает использование аппарата умолчания; обеспечивает использование макрокоманд.

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

6. Модуль информатора предназначен для выдачи сообщений о ходе решения задачи.

7. Модуль помощи предназначен для руководства действиями пользователя. Организация помощи пользователю является непременным условием эффективного функционирования прикладного программного обеспечения.

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

2.3. Вызов и загрузка.

Вызов и загрузка осуществляется запуском файла “KATALOG.PAS” из среды Turbo Pascal.

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:

Пользователем введена следующая программа: ВВОД=КЛАВИАТУРА; ПРОСМ=КИНГ; СОХР=С:/МОИ ДОКУМЕНТЫ; УПОРЯД=АВТОР; ЭКР=ВЫВОД;

Массив ГПО имеет вид:

1


2


2


3


3


4


4


5


5


6


YPST: 1;2;4;5;6;

KODV=0 - операторы введены грамматически правильно и в нужной последовательности.

Пример 2:

Пользователем введена следующая программа: ПРОСМ=ТЮТЧЕВ; ВВОД=КЛАВИАТУРА; ПЕЧ=ПРИНТЕР;

YPST: 2;1;7;

KODV=8 - операторы введены грамматически правильно, но их последовательность не соответствует ГПО.

3.2. Тексты модулей.

program katalog;

uses printer, crt; type zapis=record

prizn:integer;{признак блока}

kodvlv:integer; {код возврата}

end;

masvhst=array [1..40] of string; masypst=array [1..80] of integer; masprst=array [1..80] of string; var

vhst:masvhst; {исходный текст ПВЯ) ypst:masypst; {управляющий вектор} prst:masprst; {вектор параметров} kolzap:integer; {количество записей ПВЯ} rash:integer; {количество расшифрованных слов ПВЯ} ko:integer;{ключ окончания} tabl:zapis; {таблица информатора}

{Заглушки} procedure input (xistring; kodvl:integer);

{Процедура ввода данных о книгах} begin

writeln('Выполнилась процедура ввода.'); writeln('Для продолжения нажмите любую клавишу!'); readkey; end;

procedure prosm (x:string; kodvl:integer);

{Процедура просмотра данных о книгах} begin

writeln('Выполнилась процедура просмотра.'); writeln('Для продолжения нажмите любую клавишу!'); readkey; end;

procedure korr (x:string; kodvl:integer);

{Процедура редактирования данных о книгах} begin

writeln('Выполнилась процедура редактирования.'); writeln('Для продолжения нажмите любую клавишу!'); readkey; end;

procedure soxr (x:string; kodvl:integer);

{Процедура сохранения данных о книгах} begin

writeln('Выполнилась процедура сохранения.'); writeln('Для продолжения нажмите любую клавишу!'); readkey; end;

procedure uporyad (x:string; kodvl:integer);

{Процедура упорядочивания данных по книгам} begin

writeln('Выполнилась процедура упорядочивания.'); writeln('Для продолжения нажмите любую клавишу!'); readkey; end;

procedure ekran (x:string; kodvl:integer);

{Процедура просмотра каталога} begin

writeln ('Выполнилась процедура просмотра каталога.'); writeln(IДля продолжения нажмите любую клавишу!'); readkey; end;

procedure pechat (x:string; kodvl:integer);

{Процедура печати каталога} begin

writeln('Выполнилась процедура печати каталога.'); writeln('Для продолжения нажмите любую клавишу!'); readkey; end;

{Процедуры управляющей программы} procedure HELPER;

procedure OBMEN (var vhst:masvhst); procedure INFORM (tabl:zapis); procedure LEXRAZ (vhstimasvhst); procedure SINAN (ypst:masypst); procedure YPRAVL (ypst:masypst);

{Конец описаний}

{Модуль обмена}

procedure OBMEN (var vhst:masvhst; var kolzap:integer; var tabl:zapis); var fl:boolean; i:integer; vvod:string; begin {procedure} with tabl do begin {with} kodvlv:=0; prizn:=l; fl:=true;

writeln('ввод проем ред сохр обр экр печ'); 1:=0;

while (not fl) and (kodvlv=0) do begin {while} i:=i+l; readln(vvod); if vvod='конец' then begin {первый if) fl:=false; kolzap:=i-l; end {первый if} else

begin {первый else} if vvod='выход' then begin {второй if} fl:=false; kodvlv:=8; kolzap:=i-l; end {второй if} else

vhst[i]:=vvod; end; {первый else} end; {while}

{проверка на пустую порграмму} if (kolzap=0) and (kodvlv=0) then kodvlv:=16; if (kolzap<0) and (kodvlv=8) then kodvlv:=4; end; {with} end; {procedure}

{Модуль лексического разбора}

procedure LEXRAZ (vhst:masvhst; kolzap:integer; var ypst; var prst:masprst;

var ks:integer; var tabl:zapis);

var

termsl:array [1..7] of string; {терминальный словарь}

kolsl:integer; {количество слов в терминальном словаре}

sost:integer; {состояние системы}

tekzap:string; {текущая запись}

str:string[10];

i,j,1,k, number,lengl,1en:integer;

begin {procedure}

with tabl do

begin {with}

prizn:=2;

kodvlv:=0;

rash:=0;

kolsl:=7;

sost:=0;

termsl[1] ='ввод';

termsl[2] ='проем';

termsl[3] ='ред';

termsl[4] ='coxp';

termsl[5] ='обр';

termsl[6] ='экр';

termsl[7] ='печ';

for i:=l to kolzap do

begin {первый for}

tekzap:=vhst[i];

j :=i;

len:=length(tekzap);

while (j<=len) and (kodvlv=0) do

begin {первый while}

str:=copy(tekzap,j,len-j+1);

if copy(str,1,1)='' then j:=j+l

else

begin {первый else}

case sost of

0: begin {case 0}

lengl:=0;

for 1:=1 to kolsl do

begin {первый for)

Number:=pos(termsl[1],str);

if number=l then

begin {первый if}

rash:=rash+l;

prst[rash]:='';

ypst[rash]:=1;

lengl:=length(termsl[1]);

j:=j+lengl;

sost:=1;

end; {первый if}

end; {первый for}

if (lengl=0) then kodvlv:=4;

end; {case 0}

l:begin {case 1}

if copy(str,1,!)='=' then

begin {первый if}

sost:=2;

j:=j+l;

end {первый if}

else kodvlv:=6;

end; {case 1}

2:begin {case 2}

if copy(str,1,1)=';' then

begin {первый if}

sost:=0;

j:=j+l;

end {первый if}

else {первый else}

begin

prst[rash]:=prst[rash]+copy(str,1,1);

j:=j+l;

end; {первый else}

end;{case 2}

end; {case}

end; {while}

end; {else}

end; {for}

if (sost=l) and (kodvlv=0) then kodvlv:=5; if (sost=2) and (kodvlv=0) then kodvlv:=7; end; {with} end; {procedure}

{Модуль синтаксического анализа}

Procedure SINAN (ypst: masypst; rash: Integer; Var Tabl:zapis); Var

GPO: Array[1..1,1..2] of Integer; N_Ver: Integer; K_Ver: Integer; I: Integer; begin

With tabl do begin prizn:=3 kodvlv:=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:=l

K_Ver:=5

l:=l;

While (K=rash) and (kodvlv=0) do

begin

If GPO[ypst[i],l]=N_Ver then N_Ver:=GPO[ypst[i],2]

else kodvlv:=8;

i:=i+l;

end;

If (N_Ver<>K_Ver) and (kodvlv=0) then kodvlv:=16;

end;

end;

{Модуль управления}

Procedure YPRAVL (uprstr: masypst; prst: masprst; rash: Integer; Var tabl: zapis); Var x: String;

j, kodvl: Integer;

begin

With tabl do

begin

prizn:=4; kodvlv:=0;

For j:=l to rash do

Begin

x =prst[j];

Case uprstr[j] of

1 input(x, kodvl);

2 prosm(x, kodvl);

3 korr(x, kodvl);

4 soxr(x, kodvl);

5 uporyad(x, kodvl);

6 ekran(x, kodvl);

7 pechat(x, kodvl);

end;

If kodvlv

end;

end;

end;

{Модуль информатора} Procedure INFORM (tabl: zapis); {Блок информ тор } begin {procedure} With tabl do begin {with} Case prizn of

1: Writeln('Выполнился блок обмена'); 2: Writeln('Выполнился блок лексического разбора'); 3: Writeln('Выполнился блок синтаксического анализа'); 4: Writeln('Выполнился блок управления'); end; {case}

Writeln('С кодом возврата равным ',kodvlv); end; {with} end; {procedure}

{Модуль помощи} Procedure Help; begin

Writeln{'Стурктура оператора:'); Writeln('<Имя модуля>=<параметр>;');

Writeln('Конец сегмента определяется словом “конец”'); Writeln('Конец всей программы определяется словом “выход”'); readkey; end;

{Начало работы ведущего модуля} Begin clrscr; HELPER; ko:=l;

While (ko=l) do begin {while}

OBMEN (vhst, kolzap, tabl); INFORM (tabl); With tabl do begin {with} If kodvlv<>0 then ko:=0; If kodvlv<8 then begin {ifl} LEXRAZ (vhst, kolzap, ypst, prst, rash, tabl);

INFORM(tabl);

If kodvlv<5>

begin {if2}

SINAN (ypst, rash, tabl);

INFORM(tabl);

If kodvlv=0 then

begin {if3}

YPRAVL(ypst, prst, rash, tabl);

INFORM(tabl);

end; {if3}

end; {if2}

end; {ifl}

end; {with)

end; {while}

readkey;

end.

3.3. Распечатка экрана.

Стурктура оператора:

<Имя модуля>=<параметр>;

Конец сегмента определяется словом "конец"

Конец всей программы определяется словом "выход"

Ввод ПВЯ

ввод=клавиатура; прос=тютчев; сохр=с: \katalog; упоряд=название;

экр=вывод;

Выполнился блок обмена С кодом возврата равным О Выполнился блок лексического разбора С кодом возврата равным О Выполнился блок синтаксического анализа С кодом возврата равным О Выполнился блок управления С кодом возврата равным О

ввод прос ред сохр упоряд экр печ

4. Список использованной литературы.

1. Экономика, разработка и использование программного обеспечения ЭВМ. - Учебник/В.А.Благодатских, М.А. Енгибарян, Е.В. Ковалевская и др. - М.: Финансы и статистика, 1995.

2.Смирнов А.А. Прикладное программное обеспечение: Учебное пособие/Московский государственный университет экономики, статистики и информатики. - М., 2001.

1Авиация и космонавтика
2Архитектура и строительство
3Астрономия
 
4Безопасность жизнедеятельности
5Биология
 
6Военная кафедра, гражданская оборона
 
7География, экономическая география
8Геология и геодезия
9Государственное регулирование и налоги
 
10Естествознание
 
11Журналистика
 
12Законодательство и право
13Адвокатура
14Административное право
15Арбитражное процессуальное право
16Банковское право
17Государство и право
18Гражданское право и процесс
19Жилищное право
20Законодательство зарубежных стран
21Земельное право
22Конституционное право
23Конституционное право зарубежных стран
24Международное право
25Муниципальное право
26Налоговое право
27Римское право
28Семейное право
29Таможенное право
30Трудовое право
31Уголовное право и процесс
32Финансовое право
33Хозяйственное право
34Экологическое право
35Юриспруденция
36Иностранные языки
37Информатика, информационные технологии
38Базы данных
39Компьютерные сети
40Программирование
41Искусство и культура
42Краеведение
43Культурология
44Музыка
45История
46Биографии
47Историческая личность
 
48Литература
 
49Маркетинг и реклама
50Математика
51Медицина и здоровье
52Менеджмент
53Антикризисное управление
54Делопроизводство и документооборот
55Логистика
 
56Педагогика
57Политология
58Правоохранительные органы
59Криминалистика и криминология
60Прочее
61Психология
62Юридическая психология
 
63Радиоэлектроника
64Религия
 
65Сельское хозяйство и землепользование
66Социология
67Страхование
 
68Технологии
69Материаловедение
70Машиностроение
71Металлургия
72Транспорт
73Туризм
 
74Физика
75Физкультура и спорт
76Философия
 
77Химия
 
78Экология, охрана природы
79Экономика и финансы
80Анализ хозяйственной деятельности
81Банковское дело и кредитование
82Биржевое дело
83Бухгалтерский учет и аудит
84История экономических учений
85Международные отношения
86Предпринимательство, бизнес, микроэкономика
87Финансы
88Ценные бумаги и фондовый рынок
89Экономика предприятия
90Экономико-математическое моделирование
91Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Сергей Викторович настолько плохо парковался, что на машине ему писали - дура.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

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

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2017
Рейтинг@Mail.ru