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 – Алгоритм основной процедуры программы

 


ПРИЛОЖЕНИЕ Б

 

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

 

1. unit Unit1;

2. interface

3. uses

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

5. Dialogs, StdCtrls;

6. type

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);

23.      private

24.      { Private declarations }

25.      public

26.      { Public declarations }

27.      end;

28.      var

29.      Form1: TForm1;

30.      OFName,SFName:String;

31.      implementation

32.      {$R *.dfm}

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

34.      begin

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;

42.      Label2.Caption:='Нажмите на кнопку "Сохранить" и выберите файл для хранения результатов проверки';

43.      end;

44.      end;

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

46.      var

47.      b:boolean;

48.      begin

49.      b:=false;

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('Выберите другой файл для сохранения результата')

55.      else

56.      b:=true;

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:='Для начала проверки нажмите на кнопку "Проверить"';

63.      end;

64.      end;

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

66.      begin

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:='Нажмите на кнопку "Открыть" и выберите файл для проверки';

74.      end;

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

76.      var

77.      FO,FS:TextFile;

78.      i,j,count:integer;

79.      str,strslovo,tmpstr:String;

80.      ZnCh,UpCh:set of Char;

81.      answ:Word;

82.      begin

83.      count:=0;

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

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

86.      AssignFile(FO,OFName);

87.      AssignFile(FS,SFName);

88.      {$I-}

89.      Reset(FO);

90.      {$I+}

91.      if IOResult<>0 then begin

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

93.      Exit;

94.      end

95.      else begin

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,[mbYes,mbNo],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);

        v. inc(count);

d.         end;

e.          end;

103.    end;

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

105.    strslovo:='';

106.    end

107.    else

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

109.    end;

110.    Writeln(FS,'');

111.    end;

112.    CloseFile(FO);

113.    CloseFile(FS);

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

115.    Button3.Enabled:=False;

116.    Button4.Visible:=True;

117.    Label4.Visible:=True;

118.    end;

119.    end;

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

121.    begin

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:='Нажмите на кнопку "Открыть" и выберите файл для проверки';

134.    end;

135.    end.

136.     


 
ПРИЛОЖЕНИЕ В

 

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

Результатом решения программы можно считать сообщение об исправленных заглавных буквах и результирующий файл с записанной в него информацией.


Информация о работе «Создание программы на языке Delphi 7.0»
Раздел: Информатика, программирование
Количество знаков с пробелами: 20378
Количество таблиц: 2
Количество изображений: 7

Похожие работы

Скачать
26392
2
6

... в четвертом разделе. Алгоритмы процедур приведены в приложении А. Листинг программы содержится в приложении Б. Результат тестового запуска приведен в приложении В. Программа разработана с использованием языка Delphi. УСЛОВНЫЙ ОПЕРАТОР, ДИАЛОГ С ПОЛЬЗОВАТЕЛЕМ, РАБОТА С ВАРИАЦИЯМИ ОТВЕТОВ, ВЫЧИСЛЕНИЕ БАЛЛА НА ОСНОВАНИИ ПОЛУЧЕННЫХ РЕЗУЛЬТАТОВ ВВЕДЕНИЕ Данный курсовой проект был разработан ...

Скачать
36935
4
14

... курс. - М.: Нолидж, 2000. 4.  Фаронов В.В. «DELPHI. Программирование на языке высокого уровня». – Питер, 2005. 5.  Дятченко Д.А. Методические указания к выполнению курсовой работы по дисциплине «Программирование и алгоритмические языки»– Северодонецк, 2005.   ПРИЛОЖЕНИЕ А Алгоритм программы Рисунок А.1 – Обработка событий главной формы программы Рисунок А.2 – ...

Скачать
17314
1
5

... // ... if(condition1) { j = 4; goto label1; } // ... for(j = 0; j < 10; j++) { // ... label1: // ... if(condition2) { i = 6; goto label2; } } // ... label2: // ... } 2.2       Разработка программы В среде программирования Borland Delphi создадим новое приложение (пункт меню File New Application). ...

Скачать
23613
0
1

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

0 комментариев


Наверх