МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
СЄВЄРОДОНЕЦЬКЕ ВИЩЕ ПРОФЕСІЙНЕ УЧИЛИЩЕ
ЗАТВЕРДЖУЮ:
Заступник директора з УВР
_____________ О.П. Лимар
"_______________" 2010 р.
КАЛЕНДАРНИЙ ПЛАН
НА КУРСОВУ РОБОТУ СТУДЕНТА ГРУПИ № Т-09-4
Козирєв Артем Миколайович
Спеціальність: 5.091504 «Обслуговування комп’ютерних та інтелектуальних систем та мереж»
№ п/п
Найменування етапів дипломної кваліфікаційної роботи
Термін виконання етапів роботи
Примітка
1
Постановка задачі
2
Математичний опис задачі
3
Розробка алгоритму програми
4
Структура програми, опис її структурних компонентів
5
Описання початкових даних, на які розрахована програма
6
Розробка інструкції оператору
7
Тестування програми та її оптимізація
8
Оформлення пояснювальної записки до курсової роботи
Випускник
Керівник роботи
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
СЄВЄРОДОНЕЦЬКЕ ВИЩЕ ПРОФЕСІЙНЕ УЧИЛИЩЕ
ВІДГУК
НА КУРСОВУ РОБОТУ СТУДЕНТА ГРУПИ № Т-09-4
Козирєв Артем Миколайович
Спеціальність: 5.091504 «Обслуговування комп’ютерних та інтелектуальних систем та мереж»
Тема роботи «Розробка програми за допомогою мови програмування Delphi»
Керівник роботи Руднєв Максим Миколайович
Загальна характеристика курсової роботи:
Попередня оцінка:
Робота захищена з оцінкою:
Керівник роботи М. М. Руднєв
"____"___________2010 р.
СОДЕРЖАНИЕ
РЕФЕРАТ
ВВЕДЕНИЕ
1. Анализ технического задания и постановка задачи проектирования
2. Разработка алгоритма программы
3. ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ
4. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ
5. ОПИСАНИЕ ВЫХОДНЫХ ДАННЫХ
6. ИНСТРУКЦИЯ ОПЕРАТОРУ
ВЫВОДЫ
Перечень ссылок
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
РЕФЕРАТ
Пояснительная записка к курсовой работе содержит:
страниц — 24;
рисунков — 7;
таблиц – 1 ;
приложений – 2.
Цель работы: разработать программу, на языке Delphi, работы с клиентами, с данными: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом и срок абонентской платы, предусмотреть ввод, редактирование и удаление данных
В курсовой работе создана программа, которая показывает таблицу работы с клиентами, в которой указаны: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом и срок абонентской платы за услугу. При двойном щелчке на какой либо из ячеек можно вводить, редактировать и удалять данные. При нажатии на кнопку «Записать», данные из ячейки в таблице записываются в файл "text" на жестком диске.
В первом разделе курсовой работы выполнен анализ технического задания, выделены функции, которыми должно обладать разрабатываемое приложение, а также сформулированы требования к нему, произведена постановка задачи на проектирование.
Во втором разделе выполняется анализ задачи проектирования, анализируется вид исходных данных и приводится словесный алгоритм работы программы.
В третьем разделе рассматриваются алгоритмы разработанной программы, а также приводится их описание. К реализованной программе разработана инструкция пользователя, которая приведена в четвертом разделе.
Алгоритмы процедур приведены в приложении А.
Листинг программы содержится в приложении Б.
Результат тестового запуска приведен в приложении В.
Программа разработана с использованием языкаDelphi.
ТЕКСТОВЫЙ ФАЙЛ, РАБОТА С КЛИЕНТОМ, ДИАЛОГОВОЕ ОКНО, ЦИКЛИЧЕСКИЕ КОНСТРУКЦИИ
ВВЕДЕНИЕ
Данный курсовой проект был разработан в среде Delphi 7 с базовым языком программирования Delphi. Среди множества языков Delphi является наиболее универсальным и легко изучаемым языком. На сегодня Delphi поддерживает все современные возможности объектно-ориентированного программирования в такой мощной системе проектирования как Delphi 7.
Цель курсовой работы – закрепление и демонстрация знаний, полученных при изучении курса.
Задача работы заключается в том, чтобы правильно составить алгоритм поставленной задачи по обработке текстовой информации, разработать и отладить программу, реализующую разработанный алгоритм.
В ходе выполнения курсового проекта необходимо выполнить следующие этапы:
— анализ технического задания и постановка задачи проектирования;
— выделение функций, которые выполнять разрабатываемая программа;
— разработка алгоритма программы, предназначенной для выполнения функций, сформированных на предыдущем этапе;
— составление программы согласно разработанным алгоритмам на языке Delphi;
— отладка программы на тестовых наборах;
— составление и оформление пояснительной записки.
Теоретическая и практическая значимость заключается в закреплении навыков составления алгоритмов поставленных задач и программирования на языке Delphi.
/>1. Анализ технического задания и постановка задачи проектирования--PAGE_BREAK--
Согласно заданию необходимо составить программу для работы с клиентами, в которой будут пункты: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом, срок абонентской платы. Так же в задании сказано, что необходимо предусмотреть ввод, редактирование и удаление данных
Как видим, задание сводится к созданию базы данных для работы с клиентами, в качестве чего служит текстовый файл. А также, согласно заданию, вывод на экран базы данных в табличной форме и программное редактирование данных.
В программе следует проанализировать полученную из файла текстовую информацию и вывести на экран в виде таблицы.
Подытожив все вышесказанное можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование. Так, согласно заданию, программа должна быть реализована в среде Delphiи должна выполнять следующие функции:
— вывод на экран информации о задании и назначении программы;
— чтение из файла данных и вывод их на экран;
— ввод, редактирование, удаление данных.
— сохранение изменений в текстовый файл.
Последующие разделы будут посвящены решению поставленных задач и разработке приложения с вышеперечисленными функциями.
2. Разработка алгоритма программы
В предыдущем разделе были сформулированы требования к разрабатываемой программе и к ее функциям. Анализируя требования к программе, можно разработать алгоритм разрабатываемого приложения.
Так, поскольку задание состоит в создании базы данных, целесообразно для хранения информации табличный тип данных, а также создать текстовый файл.
Далее необходимо считать информацию из текстового файла и занести ее в таблицу в соответствующие столбцы, для этого необходимо выполнение следующего условия: отделить вид данных (например, номер по порядку, от даты абонентской платы);
Для выполнения этого условия необходимо первоначально открыть файл для чтения. Затем прочитать строку из файла и разделить вид данных при помощи разделителя.
Составим следующий алгоритм:
Привязать файл, к конкретной файловой переменной.
Открыть файл для чтения.
Пока курсор не станет на позицию конца файла считывать поочередно строки из файла. Если курсор станет на позицию конца файла, то переходим к пункту 7.
Взять конкретную считанную строку и приступить к выделению в ней слова, т.е. стать на первый символ в строке.
Проверить символ на сходство с символом разделителя — "|", который задан, пока не наступит конец считанной строки. Если наступил конец строки, то перейдем к пункту 3.
Если символ – разделитель то запишем предыдущие символы в строку 1 столбца 1, и вернемся на пункт 5 с уже с этого места.
Если по окончании цикла не найден разделитель "|", то запишем его и создадим новую строку.
Конец считывания из файла, и занесение данных в таблицу.
В конце следует проанализировать проверен файл полностью или нет и если полностью, то записать все данные из файла в таблицу.
Так как созданную базу данных необходимо редактировать необходимо выполнение еще одного условия: ввод, редактирование и удаление данных из программы. Для выполнения этого условия необходимо опциях компоненты StringGrid, изменить параметр goEditing с False на True. А так же создать кнопку обеспечивающую сохранение в текстовый файл изменений сделанных в таблице.
Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах.
3. ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ
Описание переменных
В разделе описаний переменных описаны переменные, назначение которых приведено в таблице 3.1.
Таблица 3.1– Описание переменных программы
Наименование
Тип
Назначение
f
TextFile
Переменная текстового файла, из которого производится считывание, а так же заносятся изменения, базы данных
str,t
String
Строковые переменные для чтения из файла
k,i,j, g
integer
Переменные счетчики для циклов
t
string
Переменная, в которую считываются данные из файла
str1,str2,str3,str4,str5
string
Строковые переменные для записи в файл
Fname
String
Строка, в которой хранится путь к исходному файлу
Описание вспомогательной процедуры
В программе приведено описание одной вспомогательной процедуры.
Процедура FormCreateотвечает за открытие и заполнение компоненты stringgrid.
Процедура Button1Click для занесения изменений, сделанных в таблице, в текстовый файл.
Алгоритм основной программы
Алгоритм выполнения основного тела программы приведен на рисунке А.1 в приложении А. Так в процедуре в первую очередь осуществляется привязка файла к файловой переменной и открытие текстового файла для чтения текстовой информации.
Затем производится чтение информации из файла построчно.
Затем в каждой строке выделяются слова.
Затем осуществляется поиск в выделенных словах разделителя.
Далее, если найден разделитель, происходит запись данных из файла в таблицу программы.
В ходе выполнения работы использовались следующие операции работы с текстовыми файлами:
AssignFile (,);
Имя файла задается либо строковой константой, либо через переменную типа Sting. Имя файла должно соответствовать правилам работающей в данный момент операционной системы. Если строка имени пустая, то связь файловой переменной осуществляется со стандартным устройством ввода-вывода.
Reset ();
Открывается файл для чтения из него информации, ему присваивается имя, заданное процедурой Assign.
После работы с файлом он, как правило, должен быть закрыт процедурой CloseFile (). Чтение информации производит оператор Readln(f,str). После его выполнения строка из файла заносится f в переменную строкового типа данных str.
4. ОПИСАНИЕ ВХОДНЫХ ДАННЫХ
Исходными данными для выполнения является файл, который должен содержать, или в который нужно внести, данные о работе с клиентами.
5. ОПИСАНИЕ ВЫХОДНЫХ ДАННЫХ
Выходными данными являются:
— изменение данного текстового файла;
— заполненная таблица о работе с клиентами, которая содержит следующие пункты: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом, срок абонентской платы.
6. ИНСТРУКЦИЯ ОПЕРАТОРУ
Разработанная программа представляет собой исполняемый файл Kozirev.exe размером 430 Кбайт. В программе реализован алгоритм программы для работы с клиентами, которая содержит следующие пункты: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом, срок абонентской платы. Предусмотрено ввод, редактирование и удаление данных. После запуска программы появляется окно, изображенное на рисунке 4.1.
После этого пользователь должен заполнить таблицу. На рисунке 4.2 показан пример диалогового окна с заполненной таблицей.
/>
Рисунок 4.1 – Главное окно программы
/> продолжение
--PAGE_BREAK--
Рисунок 4.2 – Пример заполненной таблицы
После заполнения таблицы необходимо сохранить внесенные изменения в текстовый файл. Что осуществляется по нажатию кнопки «Записать». Пример этого действия показан на рисунке 4.3.и 4.4.
Пример сообщения о нахождении заглавного символа приведен на рисунке 4.3.
/>
Рисунок 4.3– Пример текстового фала до нажатия кнопки «Записать»
/>
Рисунок 4.4- Пример текстового фала после нажатия кнопки «Записать».
Результат заполнения таблицы заносится в текстовый файл служащий базой данных для работы с клиентами.
Функционирование программы полностью соответствует заданию.
ВЫВОДЫ
Данная курсовая работа была выполнена в полном соответствии поставленному заданию и отлажена в среде Delphi 7.0. В ходе выполнения курсовой работы была разработана программа для работы с клиентами, с данными: номер по порядку, наименование клиента, вид услуги, дата начала работы с клиентом и срок абонентской платы, предусмотреть ввод, редактирование и удаление данных
В ходе выполнения курсового проекта были проведен — анализ технического задания и постановка задачи проектирования.
Были выделены функции, которыми должна обладать разрабатываемая программа.
Был разработан алгоритм программы, предназначенной для выполнения сформированных функций.
Согласно разработанному алгоритму была составлена и отлажена программа алгоритмическом языке программирования Delphi. В ходе разработки программы проводилось ее тестирование и отладка на тестовых наборах. Для написанной программы разработана инструкция оператора с указанием порядка выполняемых действий .
Результаты работы оформлены в виде пояснительной записки.
В ходе разработки программы были закреплены навыки работы:
— командами ввода-вывода как на экран, так и в текстовые файлы,
— использования процедур,
— команды обработки массивов,
— команды для реализации циклов с заданным числом повторений;
— команды проверки условий и реализации ветвлений.
В результате выполнения данной курсовой работы, мы убедились в широких возможностях языка программирования Delphi, закрепили практические навыки программирования в cреде Delphi.
Перечень ссылок
Зуев Е.А. Программирование на языке Delphi 6.0,7.0. – М.: Радио и связь, Веста, 1993.
Фаронов В.В. Delphi 7.0. Начальный курс. — М.: Нолидж, 2000.
/>ПРИЛОЖЕНИЕ А
Алгоритм программы
Рисунок А.1 – Алгоритм программы
Рисунок А.2 – Алгоритм основной процедуры программы
Рисунок А.3 – Алгоритм вторичной процедуры программы
ПРИЛОЖЕНИЕ Б
Листингпрограммы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Button1: TButton;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
f:TextFile;
i,j,g:integer;
Fname,str1,str2,str3,str4,str5: string;
begin
Fname:= 'd:/text.txt';
AssignFile (f,fname);
Rewrite (f);
i:=0;
j:=1;
for g:=1 to 1000 do begin
begin
str1:='';
str2:='';
str3:='';
str4:='';
str5:='';
end;
if StringGrid1.Cells[0,j] '' then begin
str1:=StringGrid1.Cells[0,j];
str2:=StringGrid1.Cells[1,j];
str3:=StringGrid1.Cells[2,j];
str4:=StringGrid1.Cells[3,j];
str5:=StringGrid1.Cells[4,j];
end;
j:=j+1;
write(f,str1+'|');
write(f,str2+'|');
write(f,str3+'|');
write(f,str4+'|');
write(f,str5+'|');
writeln(f,'');
end;
CloseFile(f);
end;
procedure TForm1.FormCreate(Sender: TObject);
//Открытие и заполнение компоненты stringgrid
var
f: TextFile;
str,t,Fname: string;
k,i,j:integer;
begin
Fname:= 'd:/text.txt';
AssignFile (f,fname);
{$I-}
reset(f);
{$I+}
if IOResult 0 then
Rewrite (f);
t:='';
j:=1;
StringGrid1.Cells[0,0]:='№ п/п';
StringGrid1.Cells[1,0]:='Клиент';
StringGrid1.Cells[2,0]:='Операция';
StringGrid1.Cells[3,0]:='Дата начала работы с клиентом';
StringGrid1.Cells[4,0]:='Срокабон. платы';
while not EOF(f) do begin
Readln(f,str);
i:=0;
for k:=1 to Length(str) do begin
if str[k] = '|' then begin
StringGrid1.Cells[i,j]:=t;
i:=i+1;
t:='';
end
else
t:=t+str[k];
end;
j:=j+1;
end;
CloseFile(f);
end;
/>end.