3. ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ

Описание переменных

В разделе описаний переменных описаны переменные, назначение которых приведено в таблице 3.1.


Таблица 3.1– Описание переменных программы

Наименование Тип Назначение
FO,FS TextFile Переменная текстового файла исходного и результирующего
tmpstr,str,strslovo String Строковые переменные для чтения из файла
i,j integer Переменные счетчики для циклов
count integer Переменная хранит количество исправленных символов
answ Word Используется для определения ответа пользователя на вопрос об исправлении символа
UpCh set of char Множество заглавных символов
ZnCh set of char Множество символов разделителей слов
OFName String Строка, в которой хранится путь к исходному файлу
SFName String Строка, в которой хранится путь к результирующему файлу
Описание вспомогательной процедуры

В программе приведено описание одной вспомогательной процедуры.

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

Процедура Button1Click для отрытия исходного файла и сохранения пути к нему.

Процедура Button2Click для отрытия результирующего файла и сохранения пути к нему.

Алгоритм основной программы

Алгоритм выполнения основного тела программы приведен на рисунке А.1 в приложении А. Так в процедуре в первую очередь осуществляется привязка файла к файловой переменной и открытие текстового файла для чтения текстовой информации.

Затем производится чтение информации из файла построчно.

Затем в каждой строке выделяются слова.

Затем осуществляется поиск в выделенных словах заглавных символов.

Затем происходит запись в результирующий текстовый файл изменений.

В ходе выполнения работы использовались следующие операции работы с текстовыми файлами:

AssignFile (<Имя файловой переменной>,<Имя файла>);

Имя файла задается либо строковой константой, либо через переменную типа Sting. Имя файла должно соответствовать правилам работающей в данный момент операционной системы. Если строка имени пустая, то связь файловой переменной осуществляется со стандартным устройством ввода-вывода.

Reset (<Имя файловой переменной>);

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

После работы с файлом он, как правило, должен быть закрыт процедурой CloseFile (<Имя файловой переменной>). Вывод информации производит оператор WRITELN(f: TextFile;S: String). После его выполнения строка S заносится в конец файла, связанного с переменной f.

4. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ

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

5. ОПИСАНИЕ ВЫХОДНЫХ ДАННЫХ

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

Сообщение о завершении проверки файла на наличие в нем заглавных символов;

Сообщение о количестве исправленных символов;

Заполненный результирующий текстовый файл.

6. ИНСТРУКЦИЯ ОПЕРАТОРУ

Разработанная программа представляет собой исполняемый файл Luchshev.exe размером 405 Кбайт. В программе реализован алгоритм проверки текстового файла на наличие в нем заглавных символов.

После запуска программы появляется окно, изображенное на рисунке 4.1.

Рисунок 4.1 – Главное окно программы

После этого пользователь должен задать путь к файлу. На рисунке 4.2 показан пример диалогового окна для открытия файла.


Рисунок 4.2 – Пример отскрытия исходного файла

Пример сообщения о нахождении заглавного символа приведен на рисунке 4.3.

Рисунок 4.3– Сообщение о нахождении заглавного символа

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


Рисунок 4.4- Результирующее окно.

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

Функционирование программы полностью соответствует заданию.


Данная курсовая работа была выполнена в полном соответствии поставленному заданию и отлажена в среде Delphi 7.0. В ходе выполнения курсовой работы была разработана программа для проверки текстового файла.

В ходе выполнения курсового проекта были проведен - анализ технического задания и постановка задачи проектирования.

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

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

Согласно разработанному алгоритму была составлена и отлажена программа алгоритмическом языке программирования Delphi. В ходе разработки программы проводилось ее тестирование и отладка на тестовых наборах. Для написанной программы разработана инструкция оператора с указанием порядка выполняемых действий.

Результаты работы оформлены в виде пояснительной записки.

В ходе разработки программы были закреплены навыки работы:

Командами ввода-вывода как на экран, так и в текстовые файлы,

Использования процедур,

Команды обработки массивов,

Команды для реализации циклов с заданным числом повторений;

Команды проверки условий и реализации ветвлений.

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


Перечень ссылок

1. Зуев Е.А. Программирование на языке Delphi 6.0,7.0. – М.: Радио и связь, Веста, 1993.

2. Фаронов В.В. Delphi 7.0. Начальный курс. - М.: Нолидж, 2000.


ПРИЛОЖЕНИЕ А

Алгоритм программы

Рисунок А.1 – Алгоритм программы


Рисунок А.2 – Алгоритм основной процедуры программы


ПРИЛОЖЕНИЕ Б

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

4. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

5. Dialogs, StdCtrls;

7. TForm1 = class(TForm)

8. Button1: TButton;

9. Button2: TButton;

10. OpenDialog1: TOpenDialog;

11. SaveDialog1: TSaveDialog;

12. Button3: TButton;

13. Label1: TLabel;

14. Label2: TLabel;

15. Label3: TLabel;

16. Label4: TLabel;

17. Button4: TButton;

18. procedure Button1Click(Sender: TObject);

19. procedure Button2Click(Sender: TObject);

20. procedure FormCreate(Sender: TObject);

21. procedure Button3Click(Sender: TObject);

22. procedure Button4Click(Sender: TObject);

24. { Private declarations }

26. { Public declarations }

29. Form1: TForm1;

30. OFName,SFName:String;

31. implementation

33. procedure TForm1.Button1Click(Sender: TObject);

35. if OpenDialog1.Execute then

36. OFName:=OpenDialog1.FileName;

37. if OFName<>"" then begin

38. Button1.Enabled:=False;

39. Button2.Visible:=True;

40. Label1.Caption:="Путь к файлу для проверки: "+OFName;

41. Label2.Visible:=True;

45. procedure TForm1.Button2Click(Sender: TObject);

50. if SaveDialog1.Execute then

51. SFName:=SaveDialog1.FileName;

52. if Pos(".txt",SFName)=0 then SFName:=SFName+".txt";

53. if SFName=OFName then

54. ShowMessage("Выберите другой файл для сохранения результата")

57. if (SFName<>"") and (b) then begin

58. Button2.Enabled:=False;

59. Label2.Caption:="Путь к результирующему файлу: "+SFName;

60. Button3.Visible:=True;

61. Label3.Visible:=True;

62. Label3.Caption:="Для начала проверки нажмите на кнопку "Проверить"";

65. procedure TForm1.FormCreate(Sender: TObject);

67. Button2.Visible:=False;

68. Label2.Visible:=False;

69. Button3.Visible:=False;

70. Label3.Visible:=False;

71. Button4.Visible:=False;

72. Label4.Visible:=False;

73. Label1.Caption:="Нажмите на кнопку "Открыть" и выберите файл для проверки";

75. procedure TForm1.Button3Click(Sender: TObject);

77. FO,FS:TextFile;

78. i,j,count:integer;

79. str,strslovo,tmpstr:String;

80. ZnCh,UpCh:set of Char;

84. ZnCh:=[".",",","!","?"];

85. UpCh:=["A".."Z","А".."Я"];

86. AssignFile(FO,OFName);

87. AssignFile(FS,SFName);

91. if IOResult<>0 then begin

92. ShowMessage("Произошли проблемы с открытием файла. Программа будет завершена");

96. Rewrite(FS);

97. while not Eof(FO) do begin

98. Readln(FO,str);

99. strslovo:="";

100. for i:=1 to Length(str) do begin

101. if (str[i] in ZnCh) or (str[i]=" ") then begin

102. for j:=1 to Length(strslovo) do begin

a. if strslovo[j] in UpCh then begin

b. answ:=MessageDlg("В слове ""+strslovo+"" найдена заглавная буква ""+strslovo[j]+"". Заменить ее на малую?",mtInformation,,0);

c. if answ=mrYes then begin

i. tmpstr:=strslovo[j];

ii. tmpstr:=AnsiLowerCase(tmpstr);

iii. Delete(strslovo,j,1);

iv. Insert(tmpstr,strslovo,j);

104. Write(FS,strslovo+str[i]);

105. strslovo:="";

108. strslovo:=strslovo+str[i];

110. Writeln(FS,"");

112. CloseFile(FO);

113. CloseFile(FS);

114. Label3.Caption:="Проверка файла завершена. Исправлено "+IntToStr(count)+" заглавных букв.";

115. Button3.Enabled:=False;

116. Button4.Visible:=True;

117. Label4.Visible:=True;

120. procedure TForm1.Button4Click(Sender: TObject);

122. OFName:="";

123. SFName:="";

124. Button1.Enabled:=True;

125. Button2.Visible:=False;

126. Button2.Enabled:=True;

127. Button3.Visible:=False;

128. Button3.Enabled:=True;

129. Button4.Visible:=False;

130. Label2.Visible:=False;

131. Label3.Visible:=False;

132. Label4.Visible:=False;

133. Label1.Caption:="Нажмите на кнопку "Открыть" и выберите файл для проверки";


ПРИЛОЖЕНИЕ В

Результаты решения программы

ГОСТ 19.402-78

Группа Т55

МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ

Единая система программной документации

ОПИСАНИЕ ПРОГРАММЫ

Unified system for program documentation. Program description.


МКС 35.080

Дата введения 1980-01-01


Постановлением Государственного комитета CCCР по стандартам от 18 декабря 1978 г. N 3350 дата введения установлена 01.01.80

ИЗДАНИЕ (январь 2010 г.) с Изменением N 1, утвержденным в сентябре 1981 г. (ИУС 11-81).

1. Настоящий стандарт устанавливает состав и требования к содержанию программного документа "Описание программы", определенного ГОСТ 19.101-77 .

Стандарт полностью соответствует СТ СЭВ 2092-80*.
________________
* Доступ к международным и зарубежным документам, упомянутым в тексте, можно получить, обратившись в Службу поддержки пользователей . - Примечание изготовителя базы данных.

(Измененная редакция, Изм. N 1).

2. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78 .

Составление информационной части (аннотации и содержания) является обязательным.

3. Описание программы должно содержать следующие разделы:

общие сведения;

функциональное назначение;

описание логической структуры;

используемые технические средства;

входные данные;

выходные данные.

В зависимости от особенностей программы допускается вводить дополнительные разделы или объединять отдельные разделы.

4. В разделе "Общие сведения" должны быть указаны:

обозначение и наименование программы;

программное обеспечение, необходимое для функционирования программы;

языки программирования, на которых написана программа.

5. В разделе "Функциональное назначение" должны быть указаны классы решаемых задач и (или) назначение программы и сведения о функциональных ограничениях на применение.

6. В разделе "Описание логической структуры" должны быть указаны:

алгоритм программы;

используемые методы;

структура программы с описанием функций составных частей и связи между ними;

связи программы с другими программами.

Описание логической структуры программы выполняют с учетом текста программы на исходном языке.

3-6. (Измененная редакция, Изм. N 1).

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

способ вызова программы с соответствующего носителя данных;

входные точки в программу.

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

9. В разделе "Входные данные" должны быть указаны:

характер, организация и предварительная подготовка входных данных;

формат, описание и способ кодирования входных данных.

10. В разделе "Выходные данные" должны быть указаны:

характер и организация выходных данных;

формат, описание и способ кодирования выходных данных.

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

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

7-12. (Введены дополнительно, Изм. N 1).



Электронный текст документа
подготовлен АО "Кодекс" и сверен по:
официальное издание
Единая система программной документации:
Сборник национальных стандартов. -
М.: Стандартинформ, 2010

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

Пример.

Спецификация программы

В разделе спецификация приводится точное название программы и ее состав. Форма спецификации приведена в приложении 2. Графы спецификации заполняют следующим образом:

1. в графе "Обозначение" указывают обозначение основных программных
компонентов;

2. в графе "Наименование" указывают полное наименование соответствующего компонента;

3. в графе "Примечание" - дополнительные сведения, относящиеся к записанным в спецификации программам.

Исполняемый файл программы "Игра "Лабиринт"" имеет название Labirint.exe и расположен на диске F в каталоге Student\Kursov\Labirint. Состав проекта:

Наименование Обозначение Примечание
Acl Файл плана помещений Создается в приложении
Helpi Файл помощи Создается в приложении
Labirint.Dof Файл параметров проекта Содержит, текущие установки проекта: настройки компилятора и компоновщика, имена служеб­ных каталогов, условные дирек­тивы
Labirint.Dpr Файл проекта Связывает все файлы, из которых состоит приложение
Labirint.Dsk Файл, содержащий Desktop-настройки проекта Содержит информацию о том, какие окна открыты и в каких позициях они расположены
Labirint.Res Файл ресурсов Содержит пиктограммы, графи­ческие изображения
Unit 1. Pas Файл программного моду­ля для формы №1 Определяет функциональность формы №1.
Unit2.Pas Файл программного моду­ля для формы №2 Определяет функциональность формы №2.
U»it3.Pas Файл программного моду­ля для формы №3 Определяет функциональность формы №3.
Unitl.Dfm Файл формы №1 Содержит список свойств всех компонентов, включенных в форму №1.
Unit2.Dfm Файл формы №2 Содержит список свойств всех компонентов, включенных в форму №2.
Unit3.Dfm Файл формы №3 Содержит список свойств всех компонентов, включенных в форму №3.
Uuitl.Dcu Объектный файл для Unit1. Pas Откомпилированная версия Unit1.Pas.
Uuit2.Dcu Объектный файл для Unit2.Pas Откомпилированная версия Unit2.Pas.
Unit3.Dcu Объектный файл для Unit3.Pas Откомпилированная версия UnM.Pas.

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

Раздел "Описание программы" согласно ГОСТ 19.402-78 должен содержать следующие подразделы:

· общие сведения;

· функциональное назначение;

· описание логической структуры;

· используемые технические средства;



· входные данные;

· выходные данные.

Отдельные разделы можно объединять. Некоторые пункты этого раздела повторяют разделы технического проекта. Такие повторения предусмотрены ГОСТом, так как на этапе рабочего проекта возникают некоторые дополнения или изменения в составе технических средств или программе. Здесь приводятся более конкретные и точные данные.

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

В подразделе "Функциональное назначение" должны быть указаны классы решаемых задач и (или) назначение программы и сведения о функциональных ограничениях на применение.

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

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

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

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

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

Описание программы (ГОСТ 19.402-78 ) должно содержать:

1 Общие сведения о программе – полное наименование, обозначение, ее возможные применения, а также программное обеспечение, необходимое для функционирования программы, и языки программирования, на которых она написана. Например:

Программа "Автоматизированное рабочее место разработчика САУ" предназначена для… реализована на… Программа поддерживает…

Программа написана на языке…с использованием компилятора…

2 Функциональное назначение – назначение программы и общее описание функционирования программы, ее основные характеристики, сведения об ограничениях, накладываемых на область применения программы. Например:

Программа предназначена для решения задач… Программа представляет собой ядро автоматизированного рабочего места…

Пользователь имеет возможность…, осуществить…, запустить…, проанализировать…, получить результаты анализа и обработки…, построить… и т.п.

3 Описание логической структуры – используемые методы, алгоритмы программы, описание структуры и логики программы (c привязкой к тексту программы на исходном языке) и ее составных частей, их функций и связей между ними, а также связи программы с другими программами. Содержание этого раздела должно быть конкретным и опираться на текст программы.

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

Метод решения может быть представлен:

– в виде системы формул (безусловной или условной);

– в виде словесного изложения последовательности действий;

– в виде их комбинаций.

Описание метода может содержать ограничения на исходные данные, накладываемые методом.

Схемы алгоритмов, программ, данных и систем , приводимые в этом разделе, должны использовать метод пошаговой детализации. Причем уровень детализации должен быть таким, чтобы различные части программы и взаимосвязи между ними были понятны в целом. Другими словами сначала нужно описать обобщенную схему алгоритма, разбив программу логические блоки, а затем подробно рассмотреть схемы алгоритмов работы каждого из этих блоков. Условные обозначения и правила выполнения схем определяются ГОСТ 19.701-90 (Приложение Б) .

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

– пользовательский интерфейс;

– модуль определения путей в графе;

– модуль расчета передаточной функции;

– модуль построения амплитудно- и фазочастотных характеристик;

– модуль построения реакции на полиномиальное воздействие;

– текстовый редактор.

Интерфейсный модуль построен на двух типах диалогов: диалог "вопрос – ответ" и диалог типа "меню". Интерфейсный модуль управляет…

Модуль определения путей в графе основан на использовании метода… Он является…

Модуль расчета передаточной функции реализует метод… и т.д.

Алгоритм определения путей в графе имеет вид: …

4 Используемые технические средства – типы ЭВМ и устройств, используемых при работе программы. Например:

Программа эксплуатируется на персональном компьютере (ПК) типа IBM PC/AT. Для работы в диалоговом режиме используется экран дисплея, клавиатура и манипулятор типа "мышь". Для поддержки графического режима необходим адаптер S VGA. Входные данные хранятся на гибком и/или жестком дисках. Программа работает под управлением ОС…

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

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

Описание структуры входных данных включает указание типов данных, диапазонов их значений, форматов представления и т.д.

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

Входными данными для программы является текстовый файл, описывающий расширенную матрицу инциденций графа исследуемой системы. Этот файл имеет следующую структуру…

Используемый метод определения… не может быть использован при…, поэтому эти значения являются недопустимыми, а программа реагирует на них выводом сообщения…

7 Выходные данные – характер и организация выходных данных, их формат, описание и способ кодирования.

Описание структуры выходных данных включает указание типов данных, диапазонов их значений, форматов представления и т.д.

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

– выводимая на экран графическая и текстовая информация (результаты анализа системы);

– файлы в одном из графических форматов – копии изображения построенных характеристик (АЧХ, ФЧХ и т.д.);

– текстовые файлы – отчеты о проведенных исследованиях в формате… ;

– диагностика состояния системы и сообщения обо всех возникших ошибках.

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

Постановлением Государственного комитета СССР по стандартам от 18 декабря 1978 г. № 3350 срок введения установлен

с 01.01. 1980 г.

1. Настоящий стандарт устанавливает состав и требования к содержанию программного документа «Описание программы», определённого ГОСТ 19.101-77 .

Стандарт полностью соответствует СТ СЭВ 2092-80.

2. Структуру и оформление документа устанавливают в соответствии с ГОСТ 19.105-78 .

Составление информационной части (аннотации и содержания) является обязательным.

3. Описание программы должно содержать следующие разделы:

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

В зависимости от особенностей программы допускается вводить дополнительные разделы или объединять отдельные разделы.

4. В разделе «Общие сведения» должны быть указаны:

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

5. В разделе «Функциональное назначение» должны быть указаны классы решаемых задач и (или) назначение программы и сведения о функциональных ограничениях на применение.

6. В разделе «Описание логической структуры» должны быть указаны:

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

Описание логической структуры программы выполняют с учетом текста программы на исходном языке.

3-6.(Измененная редакция, Изм. № 1).

7. В разделе «Используемые технические средства» должны быть указаны типы электронно-вычислительных машин и устройств, которые используются при работе программы.

  • способ вызова программы с соответствующего носителя данных;
  • входные точки в программу.

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

9. В разделе «Входные данные» должны быть указаны:

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

10. В разделе «Выходные данные» должны быть указаны:

  • характер и организация выходных данных;
  • формат, описание и способ кодирования выходных данных.

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

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

7-12.(Введены дополнительно, Изм. № 1).

* Переиздание (Ноябрь 1987 г.) с Изменением № 1, утвержденным в сентябре 1981 г (ИУС 11-81)