Курсовая работа: Разработка программы обработки файлов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Следующим действием после формирования списков сотрудников является вывод образованных списков на экран, осуществляемый кнопкой «Вывести» в основном окне программы. Проверим работу кнопок вывода списков сотрудников Отдела №1 и Отдела №2 (рисунки 2.15 - 2.18).

Рисунок 2.15 - Проверка кнопки вывода списка сотрудников Отдела №1 (контрольный пример №4)

Рисунок 2.16 - Результат работы кнопки вывода списка сотрудников Отдела №1

Рисунок 2.17 - Проверка кнопки вывода списка сотрудников Отдела №2 (контрольный пример №5)

Рисунок 2.18 - Результат работы кнопки вывода списка сотрудников Отдела №2

Полученные в результате проверки результаты означают, что работа кнопок вывода списков сотрудников на экран выполняется корректно.

Завершающим действием в работе программы является объединение и сортировка двух имеющихся списков. Для этой цели предназначена кнопка «Вывести», формирующая новый реструктурированный отдел.

Проверим правильность выполнения данной кнопки (рисунки 2.19 - 2.21).

Рисунок 2.19 - Проверка кнопки вывода объединенного списка сотрудников (контрольный пример №6)

Рисунок 2.20 - Результат работы кнопки вывода объединенного списка сотрудников

Рисунок 2.21 - Результат работы кнопки вывода объединенного списка сотрудников

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

Заключение

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

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

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

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

Кроме того, были закреплены и применены на практике знания, полученные в результате изучения дисциплины «Языки программирования».

Литература

1. Технология программирования: учебное пособие / Ю. Ю. Громов, О. Г. Иванова, М. П. Беляев, Ю. В. Минин. Тамбов: Изд-во ФГБОУ ВПО «ТГТУ», 2013. 172 с.

2. Свободное программное обеспечение. FREE PASCAL для студентов и школьников / Ю. Л. Кетков, А. Ю. Кетков. СПб.: БХВ-Петербург, 2011. 384 с.

3. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения. / С. А. Орлов. СПб.: Питер, 2013. 688 с.

4. Объектно-ориентированное мышление. / М. Вайсфельд. СПб.: Питер, 2014. 304 с.

5. Технология разработки программного обеспечения: учебное пособие / под реакцией Л. Г. Гагариной. М.: ИД «ФОРУМ»: ИНФРА-М, 2013. 400 с.

6. Технология разработки программного обеспечения: конспект лекций / сост. И. И. Савенко; Томский политехнический университет. Томск: Изд-во Томского политехнического университета, 2014. 67 с.

7. Программирование на языке Pascal в среде Lazarus: учебное пособие для студентов и преподавателей вузов / сост.: В. Б. Ефлов, Ю. В. Никонова. Петрозаводск: Изд-во ПетрГУ, 2013. 53 с.

8. Объектно-ориентированное программирование. Хорошая книга для хороших людей. М.: СОЛОН-Пресс, 2014. 298 с.

9. Free Pascal и Lazarus. Учебник по программированию. / Е. Р. Алексеев, О. В. Чеснокова, Т. В. Кучер. М.: ALT Linux; Издательский дом ДМК-пресс, 2010. 440 с.

10. Технология разработки программного обеспечения: учеб. пособие / В. В. Бахтизин, Л. А. Глухова. Минск: БГУИР, 2010. 267 с.

11. Основы программирования в среде Lazarus. / Мансуров К.Т. М.: Нобель Пресс, 2010. 772 с.

12. Язык программирования Pascal [Электронный ресурс] - Режим доступа: http://progopedia.ru/language/pascal/

13. ГОСТ 19.102-77. Единая система программной документации. Стадии разработки. М.: Стандартинформ, 2010. 2 с.

14. Лекция 5. Модели жизненного цикла ПО, проектирование как конструирование [Электронный ресурс] - Режим доступа: http://it-claim.ru/Education/Course/ISDevelopment/Lecture_5.pdf

15. Требования к программному обеспечению [Электронный ресурс] - Режим доступа: http://studopedia.org/6-68969.html

16. Правила разработки и создания программ [Электронный ресурс] - Режим доступа: http://avk-tv.ru/Linux1U_avk.php

17. Оптимизация процесса разработки программного обеспечения [Электронный ресурс] - Режим доступа: http://software-testing.ru/files/library/Software_Delivery_Optimization_Exec.pdf

18. Программирование. ООП в Pascal-Паскаль [Электронный ресурс] - Режим доступа: http://www.pascal.helpov.net/index/object-oriented_programming_pascal_programming

19. Объектно-ориентированные средства языка Turbo Pascal [Электронный ресурс] - Режим доступа: http://vtit.kuzstu.ru/books/shelf/162/doc/p2.html

20. Сортировка методом пузырька [Электронный ресурс] - Режим доступа: http://pas1.ru/bubbles

Приложение А

Исходный код

Модуль Unit 1:

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,

Buttons, ExtCtrls, Unit2;

type

{ TForm1 }

TForm1 = class(TForm)

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

Button1: TButton;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Memo1: TMemo;

Memo2: TMemo;

Memo3: TMemo;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ private declarations }

public

{ public declarations }

end;

var

Form1: TForm1;

f1,f2,f3:text;

s,P: string;

i,j:integer;

implementation

{$R *.lfm}

{ TForm1 }

//Вывод данных из файла Otdel_1.txt в Mемо1

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

AssignFile(f1,'Otdel_1.txt'); //Открытие файла

Reset(f1);

while (not EOF(f1)) do //Пока не достигнут конец файла

begin

Readln(f1, s);

Memo1.Lines.Add(s); //Добавление строки в Memo1

end;

CloseFile(f1); //Закрытие файла

BitBtn1.Enabled:=false; // Кнопка записи сторудников в Отдел №1 становится неактивной

if (BitBtn1.Enabled=false) and (BitBtn2.Enabled=false) then

BitBtn3.Enabled:=true; //Кнопка вывода объединенного списка активна

i:=0;

while (i<Memo1.Lines.Count) do //Пока i меньше числа строк в Memo1

if Memo1.Lines[i]='' then Memo1.Lines.Delete(i) //Удаление строки с индексом i, если она пустая

else inc(i); //Увеличение i на единицу

end;

//Вывод данных из файла Otdel_2.txt в Mемо2

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

AssignFile(f2,'Otdel_2.txt'); //Открытие файла

Reset(f2);

while (not EOF(f2)) do //Пока не достигнут конец файла

begin

Readln(f2, s);

Memo2.Lines.Add(s); //Добавление строки в Memo1

end;

CloseFile(f2); //Закрытие файла

BitBtn2.Enabled:=false; // Кнопка записи сотрудников в Отдел №2 становится неактивной

if (BitBtn1.Enabled=false) and (BitBtn2.Enabled=false) then

BitBtn3.Enabled:=true; //Кнопка вывода объединенного списка активна

i:=0;

while (i<Memo2.Lines.Count) do //Пока i меньше числа строк в Memo2

if Memo2.Lines[i]='' then Memo2.Lines.Delete(i) //Удаление строки с индексом i, если она пустая

else inc(i); //Увеличение i на единицу

end;

//Объединение Отдела №1 и Отдела №2, сортировка по алфавиту

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

for i:=0 to Memo1.Lines.Count-1 do //От i=0 до (кол-во строк в Memo1)-1

Memo3.Lines[i]:=Memo1.Lines[i]; //Перенос строки с индексом i в Memo3

for i:=0 to Memo2.Lines.Count-1 do //От i=0 до (кол-во строк в Memo2)-1

Memo3.lines[i+Memo1.Lines.Count]:=Memo2.Lines[i]; //Перенос строки с индексом i в Memo3

for i:=0 to Memo3.Lines.Count do //От i=0 до (кол-во строк в Memo3)

for j:=0 to Memo3.Lines.Count-i do //От j=0 до (кол-во строк в Memo3)-1

if (Memo3.Lines[j]>Memo3.Lines[j+1]) then //Сортировка

begin

P:=Memo3.Lines[j]; //Перестановка строк

Memo3.Lines[j]:=Memo3.Lines[j+1];

Memo3.Lines[j+1]:=P;

end;

i:=0;

while (i<Memo3.Lines.Count) do //Пока i меньше числа строк в Memo3

if Memo3.Lines[i]='' then Memo3.Lines.Delete(i) //Удаление строки с индексом i, если она пустая

else inc(i); //Увеличение i на единицу

AssignFile(f3,'New_Otdel.txt'); //Открытие файла

Rewrite(f3);

writeln(f3, 'НОВЫЙ ОТДЕЛ');

for i:=0 to Memo3.Lines.Count-1 do //Запись нового списка в файл New_Otdel.txt

Writeln(f3, Memo3.Lines[i]);

CloseFile(f3); //Закрытие файла

showmessage('Новый список сотрудников создан!'); //Вывод сообщения

BitBtn3.Enabled:=false; //Кнопка вывода объединенного списка неактивна

end;

//Делает видимой форму для добавления новых сотрудников в файлы

procedure TForm1.Button1Click(Sender: TObject);

begin

Form2.Visible:=true; //Форма Form2 станоится видимой

end;

end.

Модуль Unit 2:

unit Unit2;

{$mode objfpc}{$H+}

interface

uses

Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,

Buttons, ExtCtrls;

type

{ TForm2 }

TForm2 = class(TForm)

Button1: TButton;

Button2: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: char);

private

{ private declarations }

public

{ public declarations }

end;

var

f1,f2:text;

Form2: TForm2;

implementation

{$R *.lfm}

{ TForm2 }

procedure TForm2.FormCreate(Sender: TObject);

begin

AssignFile(f1,'Otdel_1.txt');

AssignFile(f2,'Otdel_2.txt');

end;

//Добавление нового сотрудника в Отдел №1

procedure TForm2.Button1Click(Sender: TObject);

begin

{$I-}Append(f1); //Открытие файла

{$I+}if IOResult<>0 then

begin

Rewrite(f1);

writeln(f1,'');

end;

if (Edit1.Text<>'') and (Edit2.Text<>'') and (Edit3.Text<>'') and (Edit4.Text<>'') then //Проверка наличия текста в полях

begin

writeln(f1,Edit1.Text+' '+Edit2.Text+' '+Edit3.Text+' '+Edit4.Text); //Перенос данных из полей в текстовый файл

CloseFile(f1); //Закрытие текстового файла

showmessage('Сотрудник успешно добавлен в Отдел №1'); //Вывод сообщения на экран

Edit1.Clear; //Очищение полей ввода

Edit2.Clear;

Edit3.Clear;

Edit4.Clear;

end else

begin

showmessage('Все поля должны быть заполнены'); //Вывод сообщения на экран

end;

end;

//Добавление нового сотрудника в Отдел №2

procedure TForm2.Button2Click(Sender: TObject);

begin

{$I-}Append(f2); //Открытие файла

{$I+}if IOResult<>0 then

begin

Rewrite(f2);

writeln(f2,'');

end;

if (Edit5.Text<>'') and (Edit6.Text<>'') and (Edit7.Text<>'') and (Edit8.Text<>'') then //Проверка наличия текста в полях

begin

writeln(f2,Edit5.Text+' '+Edit6.Text+' '+Edit7.Text+' '+Edit8.Text); //Перенос данных из полей в текстовый файл

CloseFile(f2); //Закрытие текстового файла

showmessage('Сотрудник успешно добавлен в Отдел №2'); //Вывод сообщения на экран

Edit5.Clear; //Очищение полей ввода

Edit6.Clear;

Edit7.Clear;

Edit8.Clear;

end else

begin

showmessage('Все поля должны быть заполнены'); //Вывод сообщения на экран

end;

end;

//Проверка правильности введенных символов при добавлении новых сотрудников

procedure TForm2.Edit1KeyPress(Sender: TObject; var Key: char);

begin

if (not(key in [#192..#255,#8])) then //192-255 кодировка русских букв в ASCII, 8-backspace

begin

showmessage('В этом поле можно использовать только русские буквы'); //Вывод сообщения

key:=#0; //

end;

end;

end.

Приложение Б

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

1 Общие сведения о программном продукте

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

2 Запуск программного продукта

Для запуска программы обработки файлов двойным щелчком левой кнопки мыши откройте на диске папку «Исполняемый файл» (рисунок 1).

Рисунок 1 - Запуск программы обработки файлов

В появившемся окне дважды кликните по файлу «Объединение списков.exe» (рисунок 2).

Рисунок 2 - Запуск программы обработки файлов

В результате на экране появится основное окно программы обработки файлов (рисунок 3).

Рисунок 3 - Основное окно программы обработки файлов

Для переноса программы на компьютер следует скопировать папку «Исполняемый файл» на рабочий стол.

3 Работа с программным продуктом

3.1 Создание списка сотрудников

В появившемся окне программы обработки файлов (рисунок 3) для добавления новых сотрудников нажмите на кнопку «Добавить сотрудников» (рисунок 4).

Рисунок 4 - Добавление сотрудников

В результате на экране появится окно программы для добавления сотрудников (рисунок 5).

Рисунок 5 - Окно добавления сотрудников

В соответствующие поля введите фамилию, имя, отчество и должность сотрудника Отдела №1 или Отдела №2 и нажмите на кнопку «Записать» (рисунок 6).

Рисунок 6 - Пример добавления сотрудника в Отдел №1

На экране появится сообщение, уведомляющее об успешном добавлении сотрудника (рисунок 7).

Рисунок 7 - Сообщение на экране

В результате в папке с исполняемым файлом создастся текстовый файл Otdel_1.txt, в который будет добавлен новый сотрудник (рисунок 8).

Рисунок 8 - Текстовый файл со списком сотрудников Отдела №1

В результате последовательного ввода информации о сотрудниках в поля ввода и нажатия на кнопку «Записать» формируется список сотрудников Отдела №1 (рисунок 9).

Источник: https://otherreferats.allbest.ru/download/1124327/