Смекни!
smekni.com

Создание программы на языке Delphi 70 (стр. 2 из 3)

6. Если символ – разделитель то перейдем к алгоритму поиска заглавного символа в слове, иначе поместим этот символ в строковую переменную, которая будет хранить слово и вернемся к пункту 5.

7. Конец проверки по строкам

Алгоритм поверки слова:

1.Становимся на первый символ слова и проверяем его на сходство с множеством заглавных символов.

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

3.Если пользователь пожелает изменить данный заглавный символ то выполняем процедуру исправления заглавного символа на малый и переходим на следующий символ и к пункту 2, иначе просто переходим на следующий символ и к пункту 2.

4.Если проверенный символ является последним в слове то заканчиваем проверять слово и возвращаемся в предыдущую процедуру.

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

Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах.

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. Зуев Е.А. Программирование на языке Delphi6.0,7.0. – М.: Радио и связь, Веста, 1993.

2. Фаронов В.В. Delphi7.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. ifSFName=OFNamethen

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