Информационные технологии обработки данных
Выполнение операций, связанных с обработкой данных. Написание программы на языке Pascal, которая позволяет создавать и корректировать файл, содержащего сведения о датах рождения сотрудников. Осуществление запроса и поиска данных по заданному критерию.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 13.04.2019 |
Размер файла | 333,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Курсовая работа
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ОБРАБОТКИ ДАННЫХ
2018
Содержание
- Введение
- 1. Постановка задачи
- 2. Анализ задания и выбор метода решения
- 2.1 Анализ задания
- 2.2 Выбор метода решения
- 3. Реализация метода решения задачи
- 4. Руководство пользователя
- Заключение
- Список использованных источников
- Приложение. Программный код
- Введение
- В настоящее время выполнение различных операций связанных с обработкой данных является наиболее распространенной задачей программистов. Хранение данных, как правило, организовано во внешних файлах на носителях информации.
- В связи с этим в качестве разрабатываемой темы выбрана тема, связанная с обработкой файлов. Областью применения темы, может быть любая область, в которой осуществляется обработка файлов.
- В качестве средства программирования выбран язык Pascal. Данный выбор обусловлен тем, что на нем учиться программировать легче всего. Язык Pascal изначально был создан именно для обучения. Как и другие языки программирования высокого уровня, он предоставляет множество возможностей, но при этом гораздо проще, что делает его просто незаменимым для начинающих программистов.
- Целью настоящей курсовой работы является закрепление полученных знаний по дисциплине «Информационные технологии обработки данных».
- Курсовая работа имеет учебный характер. В процессе написания работы были реализованы имеющиеся знания в программной интерпретации на языке программирования Pascal, используя средства программирования среды Turbo Pascal 7.1 фирмы Borland.
- В результате выполнения курсовой работы написана программа на языке Pascal, которая позволяет создавать и корректировать файл, содержащего сведения о датах рождения сотрудников. Каждый элемент этого файла содержит следующие данные: имя, фамилию и отчество сотрудника, день, месяц и год его рождения. Также предусмотрено создание текстового файла, содержащего список сотрудников, которые отмечают свой день рождения в указанном месяце.
- 1. Постановка задачи
- Разработать программу создания и корректировки файла, содержащего сведения о датах рождения сотрудников. Каждый элемент этого файла должен содержать следующие данные: имя, фамилию и отчество сотрудника, день, месяц и год его рождения.
- Предусмотреть создание текстового файла, содержащего список сотрудников, которые отмечают свой день рождения в указанном месяце [1].
- 2. Анализ задания и выбор метода решения
- 2.1 Анализ задания
- Поставленная задача в задании на курсовую работу подразумевает написание программы в среде Turbo Pascal 7.1.
- При создании программы необходимо предусмотреть возможность чтения исходных данных из файла, записи введенных исходных данных и полученного результата в файл.
- Разрабатываемая программа может применяться в любой сфере деятельности человека, где требуется хранить данные о сотрудниках предприятия и обрабатывать их соответствующим образом, а именно выводить список сотрудников, которые отмечают свой день рождения в указанном месяце.
- 2.2 Выбор метода решения
- При написании программы хранение данных о сотрудниках удобнее реализовать в типизированном файле.
- С этой целью для хранения данных об одном сотруднике используется структура, которая в Turbo Pascal называется записью.
- Запись - это структура, состоящая из фиксированного числа компонент, называемых полями. Данные одного поля разных записей имеют один и тот же тип, а разных полей могут иметь разные типы [2].
- Запись сведений о сотруднике в типизированный файл осуществляется после открытия файла и перемещения указателя на последнюю запись в файле.
- Для редактирования или удаления сведений о сотруднике осуществляется поиск по фамилии. Просматривается весь файл, пока не достигнут конец файла. При редактировании если искомая фамилия найдена, то осуществляется ввод новых сведений. При удалении создается временный файл, в который записываются данные только тех сотрудников, у которых фамилия не совпадает с введенной.
- По аналогии с операциями редактирования и удаления, для вывода сотрудников с днем рождением в указанном месяце осуществляется поиск сведений по указанному номеру месяца.
- 3. Реализация метода решения задачи
- Для возможности осуществления операций со списком сотрудников написан программный код, который приведен в приложении.
- Программный код содержится в файле KURS_RV6.PAS, состав которого представлен в таблице 1.
- Таблица 1 - Состав программного модуля KURS_RV6.PAS
Процедура |
Назначение |
|
MainMenu |
Отображение на экране главного меню команд |
|
NewF |
Очистка списка сотрудников |
|
NewS |
Ввод данных сотрудника |
|
EditS |
Изменение данных сотрудника, найденного по фамилии |
|
DelS |
Удаление сведений о сотруднике, найденного по фамилии |
|
VivodS |
Вывод списка сотрудников, которые отмечают свой день рождения в указанном месяце |
Созданный программный продукт имеет структуру, представленную на рисунке 1.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рис. 1 - Структура разработанной программы
Функция main - главная функция программы, в которой осуществляется:
* вызов функции ввода исходных данных (функция vvod);
* вызов функции prim для поиска каркаса с минимальным весом, используя алгоритм Прима;
* вызов функции вывода найденного каркаса (функция vivod_rez).
Проверка корректности вводимой информации осуществляется функцией vvod_int, которая позволяет вводить целые числа.
Схемы алгоритмов программы
Основной алгоритм реализован в функции prim, схема которой представлена на рисунках A.2 и A.3.
4. Руководство пользователя
Окно программы после запуска показано на рисунке 2, в котором отображается главное меню программы.
Рис. 2 - Главное меню программы после запуска
Для выполнения определенного действия необходимо ввести номер соответствующей команды и нажать клавишу ENTER.
Ввод данных об очередном сотруднике осуществляется вводом номера операции 2 и нажатием клавиши ENTER. После чего открывается окно для ввода (рис. 3).
Рис. 3 - Окно после вызова команды ввода сведений нового сотрудника
Пример ввода данных о сотруднике приведен на рисунке 4.
Рис. 4 - Пример ввода данных о сотруднике
При допущении ошибки в процессе ввода данных сведения о сотруднике можно отредактировать, выбрав в главном меню команду 3. Откроется окно редактирования, представленное на рисунке 5.
Рис. 5 - Окно редактирования данных сотрудника
В окне редактирования данных необходимо ввести фамилию для поиска требуемого сотрудника. Если данные найдены, то они будут отображены. После чего необходимо ввести новые данные целиком по сотруднику (рис. 6). Пример изменения данных приведен на рисунке 7.
Рис. 6 - Окно редактирования данных сотрудника после успешного поиска
Рис. 7 - Окно редактирования данных сотрудника после ввода новых данных
Кроме редактирования данных определенного сотрудника предусмотрена функция удаления, за которую отвечает команда 4. Для удаления требуется указать фамилию удаляемого сотрудника (рис. 8).
Рис. 8 - Окно удаления данных о сотруднике
обработка данные pascal
Для поиска сотрудников с днем рождения в указанном месяце требуется ввести номер месяца (рис. 9). Если поиск завершен удачно, то отобразится список найденных сотрудников на экране (рис. 10), а также результат будет записан в текстовый файл (рис. 11).
Рис. 9 - Окно поиска сотрудников с днем рождения в указанном месяце
Рис. 10 - Окно с результатом поиска сотрудников с днем рождения в указанном месяце
Рис. 11 - Файл с результатом поиска сотрудников с днем рождения в указанном месяце
При необходимости можно создать новый исходный список сотрудников, очистив существующий. За очистку отвечает команда 1 главного меню программы. Результат работы очистки приведен на рисунке 12.
Рис. 12 - Результат работы очистки списка сотрудников
Заключение
В ходе курсового проектирования была в соответствии с поставленной задачей разработана прикладная программа, которая выполняет следующие функции:
a) ввод и сохранение исходных данных в файле;
b) редактирование данных в файле;
c) осуществление поиска данных по заданному критерию;
d) сохранение результатов поиска в текстовом файле.
Дополнительно были изучены соответствующие разделы программирования, связанные с обработкой файлов.
Данная работа наиболее полно сформировала представление о программировании и помогла разобраться в интересующих и непонятных для меня вопросах.
Поставленная цель была достигнута.
Список использованных источников
1. Коробова, В.В. Информационные технологии обработки данных: Учебное пособие. ? Томск: Томский межвузовский центр дистанционного образования, 2000. ? 88 с.
2. Фаронов, В. В. Turbo Pascal 7.0. Учебный курс / В.В. Фаронов. - М.: КноРус, 2011. - 368 c.
3. Рапаков, Г. Turbo Pascal для студентов и школьников / Г. Рапаков, С. Ржеуцкая. - М.: БХВ-Петербург, 2012. - 352 c.
4. Мельников, Сергей Delphi и Turbo Pascal на занимательных примерах (+ CD-ROM) / Сергей Мельников. - М.: БХВ-Петербург, 2012. - 448 c.
Приложение
Uses Crt;
Type
Person=Record
Fam: String[15]; {Фамилия сотрудника}
Im: String[10]; {Имя сотрудника}
Otch:String[20]; {Отчество сотрудника}
D: 1..31;
M: 1..12;
Y: word;
end;
Var
Op: byte; {Номер выполняемой операции с файлом}
F: file of Person;
Procedure MainMenu; forward;
Procedure NewF;
{Процедура очистки списка сотрудников,
т.е. cоздание нового пустого исходного файла}
begin
Rewrite(F);
Close(F);
ClrScr;
WriteLn('Имеющийся список сотрудников очищен!');
WriteLn;
Write('Для продолжения нажмите любую клавишу...');
ReadKey; {Ожидание нажатия любой клавиши}
MainMenu; {Возврат в главное меню}
end;
Procedure NewS;
{Процедура ввода данных сотрудника}
var
P: Person;
begin
ClrScr;
Reset(F);
WriteLn(' ':20,'Ввод данных нового сотрудника');
WriteLn;
Write('Фамилия: '); ReadLn(P.Fam);
Write('Имя: '); ReadLn(P.Im);
Write('Отчество: '); ReadLn(P.Otch);
Write('День рождения: '); ReadLn(P.D);
Write('Месяц рождения: '); ReadLn(P.M);
Write('Год рождения: '); ReadLn(P.Y);
Seek(F,FileSize(F)); {Перемещаем указатель в конец файла}
Write(F,P);
Close(F);
WriteLn;
WriteLn('Данные нового сотрудника успешно добавлены!');
WriteLn;
Write('Для продолжения нажмите любую клавишу...');
ReadKey; {Ожидание нажатия любой клавиши}
MainMenu; {Возврат в главное меню}
end;
Procedure EditS;
{Процедура изменения данных сотрудника,
найденного по фамилии}
var
P: Person;
Fam: string[15];
begin
ClrScr;
Reset(F);
WriteLn(' ':20,'Редактирование данных сотрудника');
WriteLn;
Write('Введите Фамилию сотрудника: '); ReadLn(Fam);
WriteLn;
While Not Eof(F) do begin
Read(F,P);
If P.Fam=Fam then begin
WriteLn(' ':25,'Найденный сотрудник');
WriteLn('Фамилия: ',P.Fam);
WriteLn('Имя: ', P.Im);
WriteLn('Отчество: ', P.Otch);
WriteLn('День рождения: ', P.D);
WriteLn('Месяц рождения: ', P.M);
WriteLn('Год рождения: ', P.Y);
break;
end;
end;
WriteLn;
WriteLn(' ':20,'Введите новые данные сотрудника');
Write('Фамилия: '); ReadLn(P.Fam);
Write('Имя: '); ReadLn(P.Im);
Write('Отчество: '); ReadLn(P.Otch);
Write('День рождения: '); ReadLn(P.D);
Write('Месяц рождения: '); ReadLn(P.M);
Write('Год рождения: '); ReadLn(P.Y);
Seek(F,FilePos(F)-1); {Перемещаем указатель в ...}
Write(F,P);
Close(F);
WriteLn;
WriteLn('Данные сотрудника успешно изменены!');
WriteLn;
Write('Для продолжения нажмите любую клавишу...');
ReadKey; {Ожидание нажатия любой клавиши}
MainMenu; {Возврат в главное меню}
end;
Procedure DelS;
{Процедура удаления сведений о сотруднике,
найденного по фамилии}
var
P: Person;
Ftmp: file of Person;
Fam: string[15];
begin
ClrScr;
Reset(F);
Assign(Ftmp,'tmp.dat');
Rewrite(Ftmp);
WriteLn(' ':20,'Удаление данных о сотруднике');
WriteLn;
Write('Введите Фамилию удаляемого сотрудника: '); ReadLn(Fam);
While Not Eof(F) do begin
Read(F,P);
If P.Fam<>Fam then Write(Ftmp,P);
end;
Close(F);
Close(Ftmp);
Erase(F);
Rename(Ftmp,'drs.dat');
WriteLn;
WriteLn('Данные сотрудника успешно удалены!');
WriteLn;
Write('Для продолжения нажмите любую клавишу...');
ReadKey; {Ожидание нажатия любой клавиши}
MainMenu; {Возврат в главное меню}
end;
Procedure VivodS;
{Процедура вывода списка сотрудников, которые
отмечают свой день рождения в указанном месяце}
var
P: Person;
F2: text;
nm: 1..12;
begin
Reset(F);
Assign(F2,'drsm.txt');
Rewrite(F2);
ClrScr;
WriteLn(' ':14,'Вывод списка сотрудников с ДР в указанном месяце');
WriteLn;
Write('Введите номер месяца: '); ReadLn(nm);
WriteLn;
WriteLn(' ':25,'Список сотрудников:');
While Not Eof(F) do begin
Read(F,P);
If P.M=nm then begin
WriteLn(F2,P.Fam,' ',P.Im,' ',P.Otch);
WriteLn(P.Fam,' ',P.Im,' ',P.Otch);
end;
end;
Close(F);
Close(F2);
WriteLn; WriteLn;
WriteLn('Создан текстовый файл (drsm.txt) с выведенным списком!');
WriteLn; WriteLn;
Write('Для продолжения нажмите любую клавишу...');
ReadKey; {Ожидание нажатия любой клавиши}
MainMenu; {Возврат в главное меню}
end;
Procedure MainMenu;
{Процедура отображения на экране главного меню команд}
begin
Repeat
ClrScr;
WriteLn(' ':19, 'Сведения о датах рождения сотрудников');
WriteLn;
WriteLn('1 - Очистить список сотрудников');
WriteLn('2 - Ввести сведения нового сотрудника');
WriteLn('3 - Изменить сведения сотрудника');
WriteLn('4 - Удалить сведения о сотруднике');
WriteLn('5 - Вывод сотрудников с ДР в указанном месяце');
WriteLn('6 - Завершить работу'); WriteLn;
Write('Введите номер операции: '); ReadLn(Op);
Case Op of
1: NewF;
2: NewS;
3: EditS;
4: DelS;
5: VivodS;
end;
Until Op=6;
end;
Begin
Assign(F,'drs.dat');
{$I-} {Отключаем контроль ошибок ввода-вывода}
Reset(F);
{$I+} {Включаем контроль ошибок ввода-вывода}
If IOResult <> 0 then begin
Rewrite(F);
Close(F);
end
else Close(F);
MainMenu; {Выводим на экран главное меню}
End.
Размещено на Allbest.ru
Подобные документы
Описание возможностей языка программирования Turbo Pascal. Написание программы создания файлов с прямым доступом, которая также будет обрабатывать наборы данных с определенными полями и ограничениями. Контрольный пример работы поисковой программы.
курсовая работа [563,6 K], добавлен 22.01.2016Информационные технологии и защиты данных. Методы защиты информации. Виды информационной безопасности и умышленные угрозы. Программирование на языке Turbo Pascal. Типы числовых данных. Функции ввода и вывода. Логические операторы, символьные переменные.
курсовая работа [1,7 M], добавлен 16.05.2016Создание программы для обработки структуры данных. Возможность ввода и записи данных на персональном компьютере. Прикладное программирование на языке Turbo Pascal. Свободное редактирование записанных данных с помощью программы, написанной на Turbo Pascal.
лабораторная работа [11,4 K], добавлен 13.05.2011Создание программы, которая создает набор данных в динамической памяти компьютера и позволяет корректировать его. Описание программного комплекса. Обзор особенностей реализации программы с использованием модулей. Добавление данных в конец текущего набора.
курсовая работа [455,2 K], добавлен 28.08.2017Структура записей входного массива. Описание основных типов данных. Алгоритм программы: присвоение начальных значений переменных, чтение списка из файла, вывод данных на экран, выполнение обработки данных, сохранение списка в файл. Листинг программы.
курсовая работа [325,2 K], добавлен 28.12.2012Разработка программы, создающей и управляющей базой данных, ее реализация на языке Turbo Pascal. Организация алгоритма программы. Вывод информации и возможность добавления информации в базу данных. Поиск информации в базе данных по заданному значению.
курсовая работа [26,7 K], добавлен 19.06.2010Создание типизированного файла, содержащего информацию о тестировании студентов по учебным дисциплинам. Описание необходимых входных данных. Используемые компоненты при разработке программы. Процедура Output, служащая для вывода базы данных на экран.
курсовая работа [907,1 K], добавлен 10.01.2015Особенности разработки программ на языке Turbo Pascal на примере программы обработки массива данных с построением диаграммы. Функции программы и основные требования к ней. Состав входных и выходных данных. Использование предметной области "Садовод".
курсовая работа [789,1 K], добавлен 13.03.2013Написание модуля на языке Ассемблер для вычисления значения выражения. Составление программы корректного ввода исходных данных в таблицу и вывода результата в виде таблицы. Создание модуля для обработки строк и программы корректного ввода исходных данных.
курсовая работа [36,8 K], добавлен 18.09.2010Рассмотрение правил записи, способов ввода и вывода, использования функций обработки символьных данных в Pascal. Описание алгоритмизации и программирования файловых структур данных, проектирования структуры файла. Ознакомление с работой данных массива.
курсовая работа [336,2 K], добавлен 27.06.2015