Автор работы: Пользователь скрыл имя, 06 Июня 2013 в 16:27, курсовая работа
Цель курсовой работы – разработать программу в среде Паскаль, которая может осуществлять ввод и поиск данных, то есть создать элементарную базу данных.
Курсовая работа состоит из трех глав.
В первой главе рассматривается: история возникновения баз данных, основные понятия базы данных, классификация баз данных, организация баз данных.
Во второй главе описывается история развития языка программирования Паскаль, а также описываются операторы и типы данных, использующиеся при создании программы для работы с базами данных.
ВВЕДЕНИЕ 3
1. ВВЕДЕНИЕ В БАЗЫ ДАННЫХ 4
1.1 История возникновения и развития технологий создания баз данных 4
1.2 Понятие базы данных 5
1.3 Классификация баз данных 5
1.4 Организация базы данных 6
2. ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ 8
2.1 История развития языка Паскаль 8
2.2 Операторы, используемые для создания базы данных 10
3. РАЗРАБОТКА БАЗЫ ДАННЫХ НА ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ 21
3.1 Подготовка исходных данных 21
3.2 Написание программы 22
3.3 Тестирование программы 25
ЗАКЛЮЧЕНИЕ 29
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 30
ПРИЛОЖЕНИЕ А 31
ПРИЛОЖЕНИЕ B 32
READLN;
После выполнения данного
оператора программа
READ (a1, a2,…,an);
READLN (a1, a2,…,an);
READLN;
здесь a1, a2,…,an – имена переменных, их называют параметрами процедуры ввода.
Вводить с клавиатуры можно только значения переменных, но не выражения.
Пример:
VAR I:real;
J:integer;
K:сhar;
Begin
Read (I,J,K);
…
Оператор записи WRITE производит вывод числовых данных, символов, строк и буквенных значений. На языке Паскаль формат процедуры вывода WRITE записывается следующим образом:
WRITE (‘комментарии’, переменные);
WRITELN (‘комментарии’, переменные);
Вид выводимых данных определяется типом переменных. Для вывода можно использовать переменные типов: integer, real, boolean (true, false), char, string. Выводимые параметры отделяются друг от друга запятой и пишутся после ключевого слова WRITE в круглых скобках:
WRITE (a1, a2,…,an);
WRITELN (a1, a2,…,an);
или
WRITE (FN, a1, a2,…,an);
где a1, a2,…,an – выражение типа integer, real, boolean (true, false), char, string; FN – имя файла, куда производится вывод.
В. Условный оператор или оператор IF
Оператор IF (если) является широко распространенным способом изменения возможностей естественного выполнения действий в программе. Условный оператор включает в себя операторы, которые выполняются или не выполняются в зависимости от записанного в операторе условия.
Условный оператор может записываться в полной и не полной форме.
Полная форма условного оператора имеет вид:
IF “условие” THEN “оператор 1”
ELSE “оператор 2”;
где “условие” – выражение логического типа; “оператор 1” выполняется, если условие верно (TRUE); “оператор 2” выполняется, если условие неверно (FALSE).
Блок-схема полного условного оператора показана на рисунке 1.
Обратите внимание на запись служебных слов и операторов. Каждое слово ELSE пишется под своим словом IF. Для большей наглядности и «читаемости» текста программы операторы, следующие за словом THEN и ELSE можно писать на следующей строке.
Правило: Перед словом ELSE нельзя ставить точку с запятой.
Условие в операторе IF.. THEN.. ELSE может быть простым или сложным. Простое условие представляет собой логическое выражение, состоящее из двух выражений одинакового типа, соединенных знаком операции отношения (>, <, >=, <>, <=). Сложное условие состоит простых, соединенных знаками логических операций: OR (или), NOT (не), AND (и). При этом каждое условие ограниченно с обеих сторон круглыми скобками.
Рисунок 1. Блок-схема полного условного оператора
Неполная форма условного оператора имеет вид:
IF “условие” THEN “оператор”
Действие этого оператора отличается от предыдущего тем, что в случае невыполнения условия начинает выполняться следующий после IF…THEN… оператор программы, то есть может отсутствовать блок ELSE “оператор 2”.
Задача №2. Написать программу поиска наибольшего из двух чисел. Найденное число должно быть помещено в переменную МАХ.
С. Операторы цикла
Цикл – процесс многократного повторения каких-либо действий. Действия, повторяющиеся в цикле, называются телом цикла. Для реализации циклов в Паскале предусмотрено три различных оператора:
Для работы с базами данных в основном используют цикл с предусловием и цикл с параметром.
Цикл с параметром или оператор FOR. Применение этого оператора наиболее эффективно в тех случаях, когда заранее к моменту начала выполнения цикла известно количество его повторений. Начальные и конечные значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями.
Формат записи оператора FOR записывается в следующих двух видах:
FOR <параметр цикла>: = <младшее значение> TO <старшее значение> DO <оператор>;
где <младшее значение>, <старшее значение> - выражения для задания начального и конечного значений параметра цикла; <оператор> - тело цикла.
Ключевые слова означают: FOR («для»), TO («до»), DO («выполнить»). Выполнение оператора FOR изображено в виде блок-схемы на рисунке 2.
Рисунок 2. Блок-схема оператора FOR
Цикл с предусловием или оператор WHILE. Цикл с предусловием WHILE используется когда, число повторений оператора цикла заранее неизвестно, а задается некоторое условие продолжение цикла. Оператор WHILE осуществляет повторение по предварительной проверке условий, а также с помощью ключевых слов WHILE (переводится – «пока») и DO (переводится – «выполнить»). Формат записи оператора WHILE имеет следующий вид:
WHILE <условие повторения> DO <тело цикла>;
Здесь <условие повторения> – логическое выражение, показанное в диаграмме, <тело цикла> – простой или составной оператор, который выполняется с повторением.
Выполнение оператора WHILE изображено в виде блок-схемы рис. 3. Здесь вместо тела цикла может стоять составной оператор. На языке Паскаль составной оператор располагается внутри операторных скобок BEGIN и END. Поэтому представить формат записи оператора WHILE в следующем виде:
WHILE <условие> DO
BEGIN
<оператор 1>;
…
<оператор n>
END;
Необходимо запомнить: Если условие при первой проверке окажется ложным, то тело цикла не выполняется.
Рисунок 3. Блок-схема оператора WHILE
Оператор безусловного перехода. Goto – команда безусловного перехода. Она предназначена для изменения последовательности выполнения команд в программе путем передачи управления некоторой команды с меткой. Безусловный переход имеет формат:
Goto <метка>;
Оператор, к которому происходит переход, должен быть помечен данной меткой.
Метка в стандарте языка Pascal представляют собой идентификаторы, которые должны быть перечислены в разделе описания меток, начинающемся служебным словом LABEL, кроме идентификаторов в качестве меток можно использовать последовательность цифр в диапазоне от 0 до 9999, например:
Label 1,2,8,Fio;
Одной меткой можно пометить только одного оператора. Метка от помеченного оператора отделяется двоеточием.
Пример:
6: writeln (‘Введите количество учащихся’);
D. Типы данных
Типом данных, или величин, называется совокупность их возможных значений и операций, выполняемых над ними, то есть тип является описанием принимаемых значений величин.
Классификация типов данных показана на рисунке 4.
Рисунок 4. Классификация типов данных
Кроме этих типов все другие типы должны определяться в разделе описания типов программы. Для описания типов в программе в разделе описаний используется ключевое слово TYPE. Формат записи раздела типов:
TYPE <имя типа> = <значение типа>.
Для работы с базами данных используются следующие типы данных: целые, строковые, массивы, файлы, записи.
D.1 Целый тип данных
Имена (идентификаторы), принимающие значения целого типа, описываются следующим образом: Имя 1, Имя 2, …, Имя n: тип; здесь вместо типа используется одно из ключевых слов, описывающее целый тип. Например: integer, byte, ….
D.2 Строковый тип данных
Значением строковой величины может быть любая цепочка символов. Строка – это последовательность символов кодовой таблицы персонального компьютера. Количество символов в строке (длина строки) может изменяться от 0 до 255.
На языке Паскаль широко применяются строковые переменные. Для указания их типа сначала пишется имя переменной, затем в квадратных скобках указывается количество символов (длина строки), после чего через двоеточие пишется ключевое слово STRING. Тип строковых переменных можно указать в разделе описания типов или непосредственно в разделе описания переменных. Описание в разделе переменных:
VAR
<имя переменной, … >: STRING [длина строки];
Например:
VAR
TEX1 : string [29];
NAZV: string [40];
A : string;
…
D.3 Массивы]
Массив – это упорядоченная последовательность данных одного типа, объединенных под одним именем.
Общий вид:
var <имя массива>: ARRAY [<Диапазон индексов>] of <тип массива>;
Пример:
var S: array [1..40] of real;
N: array [‘A’..’Z’] of string;
A: array [1..10] of integer;
…
В качестве индексов могут выступать переменные любых порядковых типов. При указании диапазона начальный индекс не должен превышать конечный. Тип массива может быть любым.
D.4 Записи
При создании документа часто требуется группировать данные разного типа, логически относящиеся к одному объекту в одной структуре. Для этого в языке Паскаль предназначен комбинированный тип, его также называют записью. Записи могут использоваться в любых случаях, где желательно группировать логически связанные элементы данных в один блок.
Запись – структурированный тип данных, состоящий из фиксированного числа компонентов разного типа. Определение типа записи начинается идентификатором RECORD и заканчивается зарезервированным словом END. Между ними заключается список компонентов, называемых полями, с указанием идентификаторов полей и типом каждого поля.
Общий вид:
TYPE <Имя типа> = RECORD
<Идентификатор поля>:<Тип поля>;
< Идентификатор поля >:< Тип поля >;
………………..
< Идентификатор поля >:< Тип поля >;
End;
Var <идентификатор, …>:<имя типа>;
Доступ к полям записи осуществляется через переменную типа запись. Например:
Type Student=Record
FIO:string[30];
ADRES:string[20];
Kyrs:integer;
End;
Var S: Student;
Запись Student имеет 3 компонента: ФИО студента, его адрес и курс, на котором учится студент. Доступ к полям записи осуществляется через переменную S типа Student.
Обращение к значению поля записи осуществляется с помощью идентификатора переменной и идентификатора поля, разделенных точкой. Такая комбинация называется составным именем. Например, чтобы получить доступ к полям записи Student, надо записать S.FIO, S.ADRES, S.KYRS. составное имя может использоваться везде, где допустимо применение типа поля.
Для присваивания полям записи значений используется оператор присваивания. Например:
S.FIO:=’Цой Дарья Вадимовна’;
S.ADRES:=’улица Дибаева, 70’;
S.KYRS:=3;
Составные имена можно использовать в операторах ввода-вывода.
Например:
Readln (S.FIO, S.ADRES, S.KYRS);
Writeln (S.FIO, S.ADRES, S.KYRS);
D.5 Файлы
Файл – это структурированный тип данных, состоящий из последовательности компонентов одного типа и одной длины. Чаще всего компонентами файла являются записи. Определение типа файлов начинается словосочетанием file of, после которого задается тип компонентов файла, который описывает, что содержит данный файл. Длина файла определением типа файла не фиксируется.
Type <тип компонент>=record
<поле> : <тип>;
<поле> : <тип>;
….
<поле> : <тип>;
end;
var FV : file of <тип компонент>; {переменная для доступа к файлу}
RV : <тип компонент>; {переменная для доступа к записи}
Пример:
Type Zapis=record
F10 : string [20];
Prof : string [30];
End;
Var FV: file of Zapis;
RV: Zapis;
Файлы символьных данных называются текстовыми файлами. Компонентами текстового файла являются строки. Длина строки может меняться от 0 до 255.
Стандартные процедуры и функции обработки файлов: