
- •Федеральное агентство по образованию российской федерации
- •1. Виды программных документов и устанавливающие их госТы
- •К. Гр. Гд – кд
- •44. 4346. 04 - 13
- •2. Рекомендации по содержанию основной части программных документов
- •2.1. Текст программы. Требования к содержанию и оформлению
- •Procedure InitStack(Var Top:tp); { Процедура инициализации стека}
- •2.2. Описание программы. Требования к содержанию и оформлению
- •2.3. Описание применения. Требования к содержанию и оформлению
- •2.4. Спецификация. Требования к содержанию и оформлению
- •Литература
- •Содержание
- •Список госТов единой системы программной документации
44. 4346. 04 - 13
Руководитель Студентка гр.4346
доц. каф.44 Бровин Н.Н. Дергачева Е.В.
Нормоконтролер
доц. каф.44 Попов В.П.
2004
Рисунок 2 – Пример заполнения титульного листа программного документа
-
2 -
44. 4846. 00 - 13
СОДЕРЖАНИЕ
1. Описание математических методов получения случайных величин . 2
1.1. Получение псевдослучайных величин . . . . . . . . . . . . . . . .3
1.1.1. Метод середины квадрата . . . . . . . . . . . . . . . . . . .4
1.1.2. Метод вычетов . . . . . . . . . . . . . . . . . . . . . . .. . 7
1.2. Получение дискретных случайных величин . . . . . . . . . . . 12
Получение дискретных случайных величин из заданного
массива с заданным в виде массива законам распреде-
ления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Получение дискретных случайных величин из заданного
массива с распределением Пуассона . . . . . . . . . . 18
Рисунок 3 – Пример фрагмента содержания программного документа
– 84 –
44.4846.00 -13
Лист регистрации изменений
Номера
листов (страниц)
Входящ.
П Д
Всего Номер номер о а
Изме- Изме- Заме- Новых Аннули- листов доку- сопр. д т
не- нен- ненных рован- (стр.) мента докум. п. а
ние ных ных в и
докум. дата
Рисунок 4 – Форма листа регистрации изменений
2. Рекомендации по содержанию основной части программных документов
Материалы программного документа располагаются в следующей последовательности: титульный лист(первый лист документа),лист аннотации,лист(листы)содержания,текст документа(с рисунками, таблицами и т.д.),приложения,лист регистрации изменений.
Приложения выполняются при необходимости и служат для лучшего понимания принципа работы программы. Приложения могут содержать примеры использования программы, примеры расположения исходных данных в программных структурах и другие сведения, облегчающие понимание программы.
Аннотация располагается на отдельной пронумерованной странице документа с заголовком "АННОТАЦИЯ" и не нумеруется, как раздел документа.
Содержание документа располагается на отдельной пронумерованной странице (страницах) сразу после аннотации, снабжается заголовком "СОДЕРЖАНИЕ".
2.1. Текст программы. Требования к содержанию и оформлению
ГОСТ 19.101-77 определяет текст программы как запись программы с необходимыми комментариями. Программный документ "Текст программы" должен состоять из: титульной части, информационной части, основной части, части регистрации изменений.
В разделе "СОДЕРЖАНИЕ" информационной части должны быть указаны названия всех программных единиц (программ, подпрограмм, модулей, и т.д.), входящих в программный комплекс и номера страниц документа, на которых располагаются тексты соответствующих программных единиц. В основной части должны быть представлены тексты всех программных единиц, причем текст каждой программной единицы должен начинаться со спецификации и снабжаться необходимыми комментариями. Спецификацией назовем краткое определение функционального назначения программного продукта и описание входных и выходных данных, а также ряда внутренних структур данных, необходимых для понимания логики работы программы. Спецификация должна предварять общий текст программы и располагаться в отдельных строках комментария. Основной текст программы должен быть снабжен комментариями, определяющими логику работы программы. Бессмысленные комментарии типа "Цикл по I от 1 до 15" перед оператором цикла только мешают пониманию программы. Комментарии должны быть такими, чтобы прочитав их без текста программы, можно было восстановить логику работы программы. Лучшей документацией внутренней логики программы является простая и ясная структура текста программы, использование сдвига по строке в соответствии с уровнем вложенности, осмысленные имена и соблюдение других правил, касающихся хорошего стиля программирования [3, 4, 5, 6]. Пример программы приведен на рисунке 5.
Program Control;
{ Программа контроля правильности расстановки скобок в программах }
Uses Stack; { Подключение модуля для работы со стеком }
Procedure Brackets(NameF:String); { Процедура проверки правильности расстановки скобок в тексте программы - текстовом файле с именем NameF }
Procedure Error(n:Byte; s:Char); { Процедура расшифровки ошибок }
Begin Case n Of
1 : WriteLn(‘Нет соответствия ’,s,’ скобок !’);
2 : WriteLn(‘Лишняя закрывающая скобка ’,s,’ !’);
3 : WriteLn(‘Лишняя открывающая скобка ’,s,’ !’);
End;
End; { Error }
Var FT:Text; Top:TP; s,sz,sk:Char;
Begin
Assign(FT,NameF);
Reset(FT);
InitStack(Top); { Инициализация стека }
While Not Eof(FT) { Пока не конец файла }
Do Begin While Not EoLn(FT) { Пока не конец строки }
Do Begin Read(FT,s);
Case s of
‘(‘,’[‘,’{‘: InStack(s,Top);
‘}’,’]’,’)’: If Not EmptyStack(Top)
Then Begin { Стек не пуст }
OutStack(sk,Top);
Case sk of
‘(‘ : sz:=’)’;
‘[‘ : sz:=’]’;
‘{‘ : sz:=’}’
End;
If s<>sz
Then Begin Error(1,s); Exit
End
End
Else Begin { Стек пуст} Error(2,s); Exit
End
End; { Case }
End; { While }
ReadLn(FT)
End;
Close(FT);
If EmptyStack(Top) { Если стек пуст }
Then WriteLn(‘ Скобки расставлены правильно !’)
Else Begin OutStack(sk,Top); Error(3,sk)
End
End; { Brackets }
Рисунок 5 – Текст программы
Function FileExist(NameF:String):Boolean;
{ Функция проверки существования файла любого вида }
Var F:File; { Любой вид файла}
Begin Assign(F,NameF);
{$I-} { Отключение автоматического контроля чтения-записи }
Reset(F); { Открытие для чтения }
{$I+} { Включение автоматического контроля чтения-записи }
If IOResult=0 { Если файл существует }
Then Begin FileExist:=True;
Close(F)
End
Else FileExist:=False
End; { FileExist }
Var NameFT:String; s:Char;
Begin
Repeat
WriteLn(‘Полное имя файла с текстом проверяемой программы ?’);
ReadLn(NameFT);
If FileExist(NameFT) Then Brackets(NameFT)
Else WriteLn(‘Файл’,NameFT,’не существует!’);
WriteLn(‘Проверить еще одну программу ?’);
ReadLn(s);
Until Not (s in [‘Д’,’д’,’Y’,’y’]);
End.
UNIT Stack; { Модуль для работы со стеком }
INTERFACE { Интерфейсная часть модуля }
Type Tinf=Char; { Тип информации }
TP=^Tel; { Ссылочный тип }
Tel=Record
inf:Tinf; { Поле информации }
pSled:TP { Поле ссылки }
End;
Procedure InitStack(Var Top:TP); { Инициализация стека }
Function EmptyStack(Top:TP):Boolean; { Проверка пустоты стека }
Procedure InStack(X:Tinf;Var Top:TP); { Включение элемента }
Procedure OutStack(Var X;Tinf;Var Top:TP); { Извлечение элемента }
IMPLEMENTATION { Исполняемая часть модуля }