Автор работы: Пользователь скрыл имя, 07 Июля 2013 в 09:05, курсовая работа
Целью данного курсового проекта является реализация программы «База данных «Завуч школы», в которой организуется ввод следующих данных: фамилия, имя ученика, название улицы, номер дома, номер телефона; записывает их в массиве записей и обеспечивает поиск номера телефона по фамилии и имени оператора.
Проанализировав работу завуча школы, мы можем сказать, что разработка базы данных для завуча актуальна. Завуч школы должен знать имена, фамилии, место жительства и номера телефонов каждого ученика класса, быстро и оперативно находить нужные ему данные. Использование базы данных в работе поиска необходимых данных, существенно упростит работу завуча и вся информация, касающаяся класса, будет храниться в одном месте.
Введение
Целью данного курсового проекта является реализация программы «База данных «Завуч школы», в которой организуется ввод следующих данных: фамилия, имя ученика, название улицы, номер дома, номер телефона; записывает их в массиве записей и обеспечивает поиск номера телефона по фамилии и имени оператора.
Проанализировав работу завуча школы, мы можем сказать, что разработка базы данных для завуча актуальна. Завуч школы должен знать имена, фамилии, место жительства и номера телефонов каждого ученика класса, быстро и оперативно находить нужные ему данные. Использование базы данных в работе поиска необходимых данных, существенно упростит работу завуча и вся информация, касающаяся класса, будет храниться в одном месте. Время работы завуча значительно сократится, то есть целью разработки базы данных завуча школы является повышение качества и скорости поиска необходимой информации, например, поиска номера телефона какого-либо ученика.
Программа «База данных завуча школы» будет реализована на языке программирования Turbo Pascal.
Постановка цели и задачи
Составить программу - база данных «Завуча школы» в Turbo Pascal, которая организует ввод следующих данных: фамилия, имя ученика, название улицы, номер дома, номер телефона, класс; записывает их в массиве записей и обеспечивает поиск даты дежурства по фамилии и имени оператора.
Целью разработки базы данных «Завуча школы» является - повышение качества и скорости поиска необходимой информации, например, поиска номера телефона какого-либо ученика. Она может быть достигнута за счет сокращения времени поиска необходимой информации по определенным критериям.
Задачи:
Структура программы на языке Turbo Pascal
Структура программы на языке Turbo Pascal в общем случае выглядит следующим образом:
Программа начинается с заголовка, который имеет следующий вид:
PROGRAM < имя программы > ;
Слово program является зарезервированным, то есть служебным словом, которое используется только для объявления имени программы.
Имя программы, так же как имена используемых в программе констант, переменных, процедур, функций и т. д., называется идентификатором (по-английски − identifier). Идентификаторы задаются программистом, при этом используются следующие правила:
Как и любой оператор в языке Turbo Pascal, заголовок оканчивается точкой с запятой. Заголовок программы является необязательным, и его можно опускать.
Описательная часть программы может содержать несколько разделов:
Раздел описаний содержит описание всех констант, переменных, типов данных, процедур, функций.
Описание констант:
Сonst < имя константы > = < значение константы > ;
Описание переменных:
Var < имя переменной > : < тип переменной > ;
Раздел процедур
и функций представляет собой
самостоятельные фрагменты
Процедуры и функции описываются в разделе описаний и имеют собственные имена. Обращение к процедуре или функции по ее имени называется вызовом процедуры или функции. Сразу после вызова процедуры или функции начинают выполняться входящие в нее операторы; после выполнения последнего из них управление передается обратно в основную программу. Внутри процедуры или функции, однако, может содержаться обращение к другим процедурам или функциям или к самой себе (рекурсивный вызов).
Некоторые переменные, используемые в программе, являются вспомогательными и могут быть локализованы внутри процедур. Каждая процедура, как и сама программа, состоит из раздела описаний и раздела операторов. В разделе описаний описываются используемые в процедуре константы, переменные, типы, вложенные процедуры низшего уровня и т. д. Однако, все описанные внутри процедуры константы, переменные и т. д. недоступны основной программе. Подобным образом, если процедура более высокого уровня содержит описание процедур и функции низшего уровня, константы и переменные, описанные в процедуре низшего уровня, недоступны процедуре более высокого уровня.
Таким образом, осуществляется принцип локализации имен. Все объекты, описанные внутри процедуры или функции, являются локальными. В то же время любая процедура может использовать константы, переменные и т. д., которые опиcаны в процедурах более высокого уровня и в основной программе. Такие объекты являются глобальными по отношению к данной процедуре. При этом описание этих объектов должно предшествовать описанию процедуры.
Отметим, что имя локальной переменной может, в принципе, совпадать с именем глобальной переменной. При этом, однако, нужно иметь в виду следующее правило: внутри процедуры локальная переменная (описанная внутри этой процедуры) "закрывает" глобальную (описанную в основной программе или в процедуре более высокого уровня), т. е. внутри процедуры с этим именем связывается локальная переменная, глобальная же переменная с тем же именем становится недоступной.
Описание процедуры:
Заголовок процедуры:
Procedure < имя процедуры > ( < описание формальных параметров > ) ; < директивы > ;
Раздел описаний (описание локальных констант, переменных, типов, процедур и функций низшего уровня)
Раздел операторов
Begin
…
End;
Функция отличается от процедуры тем, что результатом ее работы является единственное значение, поэтому обращение к функции можно использовать в выражениях наряду с переменными и константами.
Описание функции:
Заголовок функции:
Function < имя функции > ( < описание формальных параметров > ) : <тип результата > ;
Раздел описаний (описание локальных констант, переменных, типов, процедур и функций низшего уровня)
Раздел операторов
begin
...
end.
Раздел операторов обязательно
должен включать оператор, в котором
функции присваивается
<имя функции> := <вычисленное значение>;
Запись – это структурированный тип данных, состоящий из фиксированного числа компонентов одного или нескольких типов. Определение типа записи начинается идентификатором record и заканчивается зарезервированным словом end.
Описание типа запись:
type <имя типа> = record
<имя поля>: <тип поля>;
<имя поля>: <тип поля>;
...
<имя поля>: <тип поля>
end;
Средства языка Turbo Pascal позволяют работать с файлами, что облегчает обработку данных: например, программа может обращаться к файлам, содержащим необходимые данные, а также записывать в файлы результаты обработки данных. Под файлом понимается именованная область памяти компьютера (жесткого диска, дискеты), либо логическое устройство − потенциальный источник или приемник информации. Длина файла ограничена только объемом памяти компьютера. Программа может обращаться к нескольким файлам одновременно.
Для обращения к файлу необходимо ввести переменную файлового типа. В процессе работы программы она будет связана с конкретным файлом или логическим устройством, с которым будет происходить обмен данными. Turbo Pascal позволяет работать с файлами трех видов (вид файла определяет способ хранения информации в нем).
например, действительные числа.
Описание типизированного файла:
type < имя типа > = file of < тип компонентов > ;
Описание текстового файла:
type < имя типа > = text ;
Описание нетипизированного файла:
type < имя типа > = file ;
Операторная часть – основное тело программы и заключается в операторные скобки BEGIN END. Она содержит операторы, необходимые для выполнения последовательности действий для решения поставленной задачи. Разделителем между разделами описательной части и операторами служит точка с запятой. В конце программы должна стоять точка. Язык Turbo Pascal является языком свободного формата, что позволяет размещать в строке как один, так и несколько операторов.
Часть программы, заключенная в фигурные скобки, представляет собой комментарий. Эта часть игнорируется компилятором и никак не отражается на работе программы.
Оператор присваивания:
<имя переменной>:= <значение переменной / результат вычисления выражения>;
Простейшие операторы языка Pascal – это write/writeln и read/readln.
Оператор write/writeln выводит на экран значение константы, переменной или выражения. Действие оператора writeln отличается от оператора write тем, что оператор writeln после вывода информации без аргументов переводит курсор на следующую строку.
Для ввода информации с клавиатуры используется оператор read/readln. Как и в случае оператора writeln, оператор readln после ввода информации переводит курсор на следующую строку. Оператор readln без аргументов переводит систему в состояние ожидания, − работа программы прерывается и компьютер ждет нажатия клавиши ENTER. После этого программа продолжает работу.
Описание программы
Для описаний сведений об ученике, его даты рождения, номера телефона, в разделе типов вводим 3 разных записи: personname, dannye, person, так как они представляют собой данные разных типов.
Тип personname содержит сведения о фамилии и имени ученика. Это запись вида:
personname = record
familiyauchenika: string[15];
imyauchenika: string[15]
end;
где: familiyauchenika – поле для записи фамилии ученика (строка до 15 символов);
imyauchenika – поле для записи имени (строка до 15 символов).
Для описания сведений о названии улицы, номера дома, класса в разделе типов введем тип dannye – запись следующей структуры:
dannye = record
nazvanie ylicy: string[20];
nomer doma: byte;
phone: longint;
klass: word;
end;
где: nazvanie ylicy - поле для записи названия улицы;
nomer doma - поле для записи номера дома;
phone – поле для записи номера телефона;
klass - поле для записи номера класса.
Тип person - содержит поле personname, само являющееся записью, поле dannye, и номер телефона оператора:
person = record
pname: personname;
paddr: address;
phone: longint;
klass: word.
end;
Для удобства мы создаем типизированный файл и опишем в разделе описаний переменную f типа file записей person, для доступа к полям записи опишем переменные p,q типа person.
var
p, q: person;
f: file of person;
Действие программы «База данных завуча школы», можно записать в виде четырех процедур: