Разработка информационно-справочной системы 'Регистратура'

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    235,47 Кб
  • Опубликовано:
    2017-06-07
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка информационно-справочной системы 'Регистратура'

Содержание

Введение

. Постановка задачи

. Анализ предметной области

.1 Описание входных переменных

.2 Описание логической структуры программы

. Описание подпрограмм

. Описание программы

. Вывод и загрузка программы

. Описание выходных данных

Выводы

Список использованной литературы

Приложение. Листинг программы

Введение


Цель моей курсовой работы разработать информационно-справочную систему Регистратура.

Данный курсовой проект посвящен разработке информационно-справочной подсистемы.

Информационная система (ИС) в целом - автоматизированная система, предназначенная для организации, хранения, пополнения, поддержки и представления пользователям информации в соответствии с их запросами. Информация, выдаваемая информационной системой потребителю, является одним из ресурсов, позволяющих повысить производительность труда и эффективность его деятельности. Важнейшим аспектом взаимоотношений потребителя и информационной системы является по возможности наиболее полное и рациональное удовлетворение информационной потребности пользователя, другими словами, обеспечение эффективного использования информационных ресурсов. Это, в свою очередь, предполагает доведение информации до потребителя в требуемом объеме, в заданные сроки и удобной для восприятия форме. Именно использование информационных ресурсов таким образом позволяет минимизировать расход всех других видов ресурсов (материальных, трудовых, финансовых, вычислительных) при информационном обеспечении потребителей.

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

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

Основные задачи курсовой работы:

1. Разработка информационно-справочной системы Регистратура

2.      Реализация следующих возможностей таких как:

-     Вывод самого болеющего ребенка;

-        Вывод кто больше болеет - мальчики или девочки;

-        Вывод списка детей, проживающих на заданной улице.

3. Реализация следующих процедур таких как:

-     Ввод данных с файла и чтение в файл

-        Обработка данных (добавление и удаление записей)

         Поиск информации

-        Вывод упорядоченной информации (вывод результатов)

-   Выход из программы

 

1. Постановка задачи

справочный регистрация алгоритм интерфейс

Составить программу согласно варианту задания с разработкой процедур(функций). В программе должно быть предусмотрено главное меню со следующими пунктами (примерный перечень)

. Ввод данных (ввод данных с клавиатуры, чтения данных с файла [предусмотреть запись данных в файл, чтение данных из файла]).

. Обработка данных (добавление и удаление записей)

. Поиск информации

4. Вывод упорядоченной информации (вывод результатов)

. Выход из программы

Регистратура

Структура элемента массива ребенок: фамилия, место жительства - город, улица, дом, квартира, пол, количество дней посещения. Определить:

·   самого болеющего ребенка;

·   кто больше болеет - мальчики или девочки;

·   список детей, проживающих на заданной улице.

 

2. Анализ предметной области

 

2.1 Описание входных переменных


В курсовой работе я использовал структурированный комбинированный тип данных запись

Входные переменные:

TLocation - запись о местонахождении ребенка

TChild - запись о ребенка

Ftown - город

FStreat - улица

Loc - переменная записи TLocation в записи TChild

Fhouse - дом

Fflat - квартира

FSurname - фамилие ребенка

Gender - пол ребенка

KDP - количество дней посещения

Vibor - перемення для выбора пункта меню

F - файловая переменная для записи и считывании информации

Child - имя массива записей

Zap - переменная записи записей- переменная для поиска записи- количество записей в массиве

t - переменная целого типа отвечающая за поиск

 

2.2 Описание логической структуры программы


3. Описание подпрограмм


. Процедура ввода записей в файл


.    
Процедура чтение записи из файла


3. Процедура добавление записей


4. Процедура удаление записи

. Процедура поиска информации




 

4. Описание программы


В курсовой работе разработаны такие процедуры как:

1)   vvod

2)      chten

3)      dobav

4)      delete

5)      poisk

6)      ill_child

)        disease

)        streat

Процедура vvod осуществляет ввод записи с клавиатуры в типизированный файл

Процедура chten осуществляет чтение с типизированного файла записей

Процедура dobav осуществляет добавление записи в типизированный файл

Процедура delete осуществляет удаление записи

Процедура poisk осуществляет поиск записи по конкретному ключевому полю

Процедура ill_child выводит информацию о самом больном ребенке

Процедура disease выводит информацию о том, кто больше болеет - мальчики или девочки

Процедура streat выводит список детей, которые проживают на заданной улице

 

5. Вывод и загрузка программы


В курсовой работе для разработки приложения я использовал среду PascalABC.Net. Чтоб эта программа работала, нужна дополнительная программа Microsoft NetFramework. Для работы с этой программой нужно выбрать в меню Файл -> Новый. И потом после этого можете написать код в зависимости от поставленной задачи. Чтоб запустить написанный Вами код надо нажать на кнопку выполнить.

 

6. Описание выходных данных


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


Чтение записей из типизированного файла


Добавление записи в файл:


Удаление 4 записи

 


Поиск записи из файла


Вывод результатов:

)     Самый больной ребенок

1)   2) Кто больше болеет - мальчики или девочки


) Список детей, проживающих на заданной улице


Выход с приложения

 

Выводы


В процессе выполнения курсовой работы выполнены все задачи курсовой работы. Я больш совершеннее научился программировать процедуры(функции), выучил принципы работы с записями та работу с текстовыми и типизированными и нетипизированными файлами, большее внимание уделял отладки программы. Тестирование программы на контрольных примерах показало, что программа работает правильно и выдает правильные результаты.

 

Список использованной литературы


1.   Турбо Паскаль 7.0. Для пользователя: Учебное пособие К.: BHV, 2000

2.      Учебное пособие Турбо Паскаль. Начальный курс. М.: Нолидж, 1999

3.      Фаронов В.В. Турбо Паскаль. Практика программирования: Учебное пособие М.: Нолидж, 2000

.        http://progopedia.ru/language/pascal/ - Pascal Энциклопедия языков програмирования

.        http://itteach.ru/pascal/pascal-zapis-record - Паскаль - Запись(record)

6.      http://www.cyberguru.ru/pascal/turbopascal-encyclopaedia.html - Энциклопедия Паскаль

 

Приложение. Листинг программы

program Registratura;

uses

crt;

type

Tlocation =record

Ftown:string[15];:string[20];:byte;:byte;

end;

type

TChild = record

FSurname: string[15];:Tlocation;:char;:word;

end;

var

Child: array[1..100] of TChild;: TChild;: file of TChild;: byte;: string[30];, t: integer;

{----------------------------------------------------------------------------}

procedure vvod;

var

i: integer;

begin

clrscr;(f, 'rebenok.dat');

rewrite(f);('Введите количество детей: ');

readln(n);

writeln('Введите', ' ', i, ' ', 'ребенка ');

with Zap do

write('|Введите фамилию ребенка................|- '); readln(Fsurname);('|Введите город...........................|- '); readln(Loc.Ftown);('|Введите название улицы.................|- '); readln(Loc.FStreat);('|Введите номер дома......................|- '); readln(Loc.Fhouse);('|Введите номер квартиры..................|- '); readln(Loc.Fflat);('|Введите пол ребенка(м/ж)................|- '); readln(gender);('|Введите количество дней посещения...|- '); readln(KDP);;(f, Zap);

end;

end;(f);

end;

{---------------------------------------------------------------}

procedure chten;

var

i: integer;

begin

clrscr;(f, 'rebenok.dat');(f);:= 1;

while not (eof(f)) do

read(f, Child[i]);('_____________________________________________________');(i,Child[i].FSurname:15,'|',Child[i].Loc.Ftown:8,'|',Child[i].Loc.FStreat:8,'|',Child[i].Loc.Fhouse:12,'|',Child[i].Loc.Fflat:10,'|',Child[i].gender:5,'|',Child[i].KDP:3,'|');:= i + 1;

end;(f);:= i - 1;

end;

{----------------------------------------------------------------}

procedure dobav;

var

i: integer;

begin

clrscr;(f);

for i := 1 to n do

write(f, Child[i]); //Записываем в массив записей('Введите ', ' ', n + 1, ' ', 'ребенка');

with Zap do

write('|Введите фамилию ребенка................|- '); readln(Fsurname);('|Введите город...........................|- '); readln(Loc.Ftown);('|Введите название улицы.................|- '); readln(loc.FStreat);('|Введите номер дома......................|- '); readln(Loc.Fhouse);('|Введите номер квартиры..................|- '); readln(Loc.Fflat);('|Введите пол ребенка(м/ж)................|- '); readln(gender);('|Введите количество дней посещения...|- '); readln(KDP);;(f, Zap);

end;(f);

end;

{----------------------------------------------------------------}

procedure delete;

var

i: integer;

begin

clrscr;:= 1;(f, 'rebenok.dat');(f);

while not eof(f) do

read(f, Child[i]);:= i + 1

end;(f);

write('Выберите номер удаляемой записи которую вы хотите: ');(n);(f);(f, filesize(f) - 1);{ Ставим указатель перед последним компонентом }(f, Child[i]);(f, n - 1); { Ставим указатель перед удаляемым файлом }(f, Child[i]);{ Записываем конечный компонент вместо удаляемого }

{ убираем последний элемент файла }(f, filesize(f) - 1);{ Ставим указатель перед последним компонентом }(f);{ Отсекаем последний компонент }('Удаление прошло успешно!!!');

end;

{----------------------------------------------------------------}

procedure poisk;

begin

clrscr;

write('Введите фамилию ребенка: ');

readln(fami);(f);:= 0;

while not eof(f) do

read(f, Zap);

if Zap.FSurname = fami then{если фамилия совпала}

begin

t := 1;{фиксируем}('Найден ребенок с такой фамилией!!!');('Выводим запись');(Zap.FSurname:10,'|',Zap.Loc.Ftown:8,'|',Zap.Loc.FStreat:8,'|',Zap.Loc.Fhouse:12,'|',Zap.Loc.Fflat:10,'|',Zap.gender:5,'|',Zap.KDP:15,'|');

end;

end;

if t = 0 then writeln('Такого ребенка нету!!!');{если нет совпадений}

close(f);

end;

{--------------------------------------------------------------}

procedure ill_child;

var i:integer;_d:integer;:integer;

begin

ClrScr;:=1;_d:=365;

for i:=2 to n do(Child[i].KDP<min_d) then

maxid:=i;_d:=Child[i].KDP;

end;

end;

if min_d=365 then writeln('Детей нет')

else

writeln('Самый больной ребенок: '+Child[maxid].FSurname);

end;

//---------------------------------------------------------

var i,s_day_mal,s_day_dev:integer;

begin

ClrScr;_day_mal:=0;_day_dev:=0;

for i:=1 to n do beginChild[i].gender='м' then

s_day_mal:=s_day_mal+Child[i].KDP

else s_day_dev:=s_day_dev+Child[i].KDP;

end;

if s_day_dev<s_day_mal then writeln('Девочки болеют больше');

if s_day_dev>s_day_mal then writeln('Мальчики болеют больше');

if s_day_dev=s_day_mal then writeln('Девочки и мальчики болеют одинаково');

end;

procedure streat;

var str:string[35];:integer;:boolean;

begin

ClrScr;

Write('Введите название улицы: ');

Readln(str);

for i:=1 to n do Pos(Child[i].Loc.FStreat,str)>0 then

writeln(Child[i].FSurname);:=true;

end;

if Key=false then

begin

writeln('Дети не проживают на этой улице');

end;

end;

begin

ClrScr;

repeat

Writeln('Выбор действия');

Writeln('1-Ввод новых данных');('2-Чтение данных');('3-Добавление записей');('4-Удаление записи');('5-Поиск информации');('6-Самый больной ребенок');('7-Кто больше болеет - мальчики или девочки');('8-Cписок детей, проживающих на заданной улице');

writeln('9-Выход');(vibor);

case vibor of

1: vvod;

: chten;

: dobav;

: delete;

: poisk;

: ill_child;

:disease;

:streat;

:begin

writeln('Нажмите Enter для выхода');;

exit;

end

writeln('Нажмите Enter и повторите ваш ввод');; end;

end(vibor=9);

end.

Похожие работы на - Разработка информационно-справочной системы 'Регистратура'

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!