СОДЕРЖАНИЕ
TOC o «1-3» h z СОДЕРЖАНИЕ… PAGEREF _Toc6644194 h 1
ВВЕДЕНИЕ… PAGEREF _Toc6644195 h 2
1. ОБЩАЯЧАСТЬ… PAGEREF _Toc6644196 h 9
1.1. Цель разработки. PAGEREF _Toc6644197 h 9
1.2. Анализ разработки. PAGEREF _Toc6644198 h 9
2.СПЕЦИАЛЬНАЯ ЧАСТЬ… PAGEREF_Toc6644199 h 10
2.1. Постановка задачи. PAGEREF _Toc6644200 h 10
2.1.1. Назначение задачи. PAGEREF _Toc6644202 h 10
2.1.2. Технико-математическая формулировказадачи. PAGEREF _Toc6644203 h 10
2.1.3 Требования к программе. PAGEREF _Toc6644205 h 13
2.1.3.1. Требования к функциональнымхарактеристикам… PAGEREF _Toc6644206 h 13
2.1.3.2. Требования к надежности. PAGEREF _Toc6644208 h 14
2.2. Описание алгоритма. PAGEREF _Toc6644209 h 15
2.3. Листинг программы… PAGEREF _Toc6644210 h 15
2.4. Описание процесса отладки программы… PAGEREF _Toc6644211 h 15
ЗАКЛЮЧЕНИЕ… PAGEREF _Toc6644212 h 16
Списокиспользованной литературы… PAGEREF _Toc6644213 h 17
Приложение1. Листинг программы… PAGEREF _Toc6644216 h 18
Часть 1. Вычисление и вывод лучшей группы:PAGEREF _Toc6644217 h 18
Часть 2. Заполнение базы данных.PAGEREF _Toc6644218 h 22
ВВЕДЕНИЕ
С начала 60-70хх началось бурноеразвитие компьютеризации всех крупных промышленных центров. Ближе к 80-ым,компьютеры стали появляться и в учебных заведениях, предмету «Информатика»стали уделять огромное внимание. Стали появляться языки программированиявысокого уровня такие, как Delphi, C++.
Далее пойдет речь о языкепрограммирования Delphiи о базахданных.
В России Borland Delphi появляетсяв конце 1993 г. и сразу же завоевывает широкую популярность. Новые версиивыходят практически каждый год. В них реализуются все новые мастера, компонентыи технологии программирования.
Действительно, процесс разработки вDelphi предельно упрощен. В первую очередь это относится к созданию интерфейса,на который уходит 80% времени разработки программы. Вы просто помещаете нужныекомпоненты на поверхность Windows-окна (в Delphi оно называется формой) инастраиваете их свойства с помощью специального инструмента (Object Inspector).С его помощью можно связать события этих компонентов (нажатие на кнопку, выбормышью элемента в списке и т.д.) с кодом его обработки — и вот простоеприложение готово. Причем разработчик получает в свое распоряжение мощныесредства отладки (вплоть до пошагового выполнения команд процессора), удобнуюконтекстную справочную систему (в том числе и по Microsoft API), средстваколлективной работы над проектом, всего просто не перечислить. Вы можетесоздавать компоненты ActiveX без использования Microsoft IDL, расширять возможностиweb-сервера (скрипты на стороне сервера), практически ничего не зная об HTML,XML или ASP. Можно создавать распределенные приложения на базе СОМ и CORBA,Интернет- и intranet-приложения, используя для доступа к данным BorlandDataBase Engine, ODBC-драйверы или Microsoft ADO. Появившаяся, начиная с Delphi3, поддержка многозвенной технологии (multi-tiered) доступа к данным позволяетсоздавать масштабируемые приложения (относительно слабо зависящие от сервераБД) за счет перенесения методов обработки информации (бизнес-правил) на среднеезвено.
Как уже говорилось ранее, в Delphiиспользуется язык Object Pascal, который постоянно расширяется и дополняетсяBorland. Язык в полной мере поддерживает все требования, предъявляемые кобъектно-ориентированному языку программирования. Как и положено строготипизированному языку, классы поддерживают только простое наследование, но затоинтерфейсы могут иметь сразу несколько предков. К числу особенностей языкаследует отнести поддержку обработки исключительных ситуаций (exceptions), атакже перегрузку методов и подпрограмм (overload) в стиле C++. К числу удачных,на взгляд автора, относится также поддержка длинных строк в формате WideChar иAnsiChar. Последний тип (AnsiStrmg) позволяет использовать все прелести динамическогоразмещения информации в памяти без всяких забот о ее выделении и сборке мусораDelphi делает это автоматически. Для поклонников свободного стиляпрограммирования имеются открытые массивы, варианты и вариантные массивы,позволяющие размещать в памяти все, что душе угодно и смешивать типы данных.
Вы можете создавать своисобственные компоненты, импортировать ОСХ-компоненты, создавать проектов и , создающих проектов. Мало того,Delphi предоставляет разработчику интерфейс для связи ваших приложений (иливнешних программ) с интегрированной оболочкой Delphi (IDE).
Таким образом, вы можетеиспользовать Delphi для создания как самых простых приложений, на разработкукоторых требуется 2-3 часа, так и серьезных корпоративных проектов,предназначенных для работы десятков и сотен пользователей. Причем для этогоможно использовать самые последние веяния в мире компьютерных технологий сминимальными затратами времени и сил.
Ну, и одна из самых последнихновостей от Inprise обещает, что в ближайшем будущем вы сможете переноситьприложения, разработанные в Delphi, на платформу Linux. Более подробнуюинформацию о Delphi можно получить на сайтах www.inprise.com и www.inprise.ru.Существует большое количество сайтов, посвященных Delphi, например — delphi.vitpc.com, Torry's Delphi Pages — www.torry.ru. Последний содержит большое число ссылок на ресурсы, связанные сDelphi. Ну а если вы уже давно знакомы с этим продуктом, то на сайтеwww.brainbench.com можно бесплатно протестироваться в качестве программистаDelphi 3 и получить по почте сертификат.
Мощность и гибкость Delphi приработе с базами данных основана на низкоуровневом ядре — процессоре баз данныхBorland Database Engine (BDE). Его интерфейс с прикладными программаминазывается Integrated Database Application Programming Interface (IDAPI). Впринципе, сейчас не различают эти два названия (BDE и IDAPI) и считают ихсинонимами. BDE позволяет осуществлять доступ к данным как с использованиемтрадиционного record-ориентированного (навигационного) подхода, так и сиспользованием set-ориентированного подхода, используемого в SQL-серверах базданных. Кроме BDE, Delphi позволяет осуществлять доступ к базам данных,используя технологию (и, соответственно, драйверы) Open DataBase Connectivity(ODBC) фирмы Microsoft. Но, как показывает практика, производительность системс использованием BDE гораздо выше, чем оных при использовании ODBC. ODBCдрайвера работают через специальный “ODBC socket”, который позволяет встраиватьих в BDE.
Все инструментальные средства базданных Borland — Paradox, dBase, Database Desktop — используют BDE. Всеособенности, имеющиеся в Paradox или dBase, “наследуются” BDE, и поэтому этимиже особенностями обладает и Delphi.
Алиасы
Таблицы сохраняются в базе данных.Некоторые СУБД сохраняют базу данных в виде нескольких отдельных файлов,представляющих собой таблицы (в основном, все локальные СУБД), в то время какдругие состоят из одного файла, который содержит в себе все таблицы и индексы(InterBase). Например, таблицы dBase и Paradox всегда сохраняются в отдельныхфайлах на диске. Каталог, содержащий dBase .DBF файлы или Paradox .DB файлы,рассматривается как база данных. Другими словами, любой каталог, содержащийфайлы в формате Paradox или dBase, рассматривается Delphi как единая базаданных. Для переключения на другую базу данных нужно просто переключиться надругой каталог. Как уже было указано выше, InterBase сохраняет все таблицы водном файле, имеющем расширение .GDB, поэтому этот файл и есть база данныхInterBase.
Удобно не просто указывать путьдоступа к таблицам базы данных, а использовать для этого некий заменитель — псевдоним, называемый алиасом. Он сохраняется в отдельном конфигурационномфайле в произвольном месте на диске и позволяет исключить из программы прямоеуказание пути доступа к базе данных. Такой подход дает возможность располагатьданные в любом месте, не перекомпилируя при этом программу. Кроме пути доступа,в алиасе указываются тип базы данных, языковый драйвер и много другой управляющейинформации. Поэтому использование алиасов позволяет легко переходить отлокальных баз данных к SQL-серверным базам (естественно, при выполнениитребований разделения приложения на клиентскую и серверную части).
Для создания алиаса запустите утилитуконфигурации BDE (программу bdeadmin.exe), находящуюся в каталоге, в которомрасполагаются динамические библиотеки BDE.
Рис. 1: Главное окно утилиты конфигурации BDE
Рис. 2: В диалоговом окне добавления нового алиаса можно указать тип базы данных
Главное окно утилиты настройки BDEимеет вид, изображенный на рис.1. Для создания алиаса выберите в меню “Object”пункт “New”. В появившемся диалоговом окне выберите имя драйвера базы данных.Тип алиаса может быть стандартным (STANDARD) для работы с локальными базами вформате dBase или Paradox или соответствовать наименованию SQL-сервера(InterBase, Sybase, Informix, Oracle и т.д.).
После создания нового алиаса следует дать ему имя. Этоможно сделать с помощью подпункта “Rename” меню “Object”. Однако просто создатьалиас не достаточно. Вам нужно указать дополнительную информацию, содержаниекоторой зависит от типа выбранной базы данных. Например, для баз данных Paradoxи dBase (STANDARD) требуется указать лишь путь доступа к данным, имя драйвера ифлаг ENABLE BCD, который определяет, транслирует ли BDE числа вдвоично-десятичном формате (значения двоично-десятичного кода устраняют ошибкиокругления):
TYPE
STANDARD
DEFAULT DRIVER
PARADOX
ENABLE BCD
FALSE
PATH
c:usersdata
SQL-сервер InterBase и другие типыбаз данных требуют задания большого количества параметров, многие из которыхможно оставить установленными по умолчанию.
Системнаяинформация утилиты настройки BDE
Итак, мы познакомились с наиболееважной возможностью утилиты настройки BDE — созданием и редактированиемалиасов, определяющих параметры доступа к базам данных. Однако, утилитанастройки BDE позволяет специфицировать не только алиасы, но и драйверы длядоступа к базам данных, а также различную системную информацию, составляющуюоперационное окружение этих самых алиасов.
Рассмотрим, например, системнуюинформацию драйвера PARADOX:
NET DIR. Параметр содержитрасположение каталога сетевого управляющего файла. Он нужен для того, чтобыобратиться к таблице PARADOX на сетевом диске.
VERSION. Номер версии драйвера.
TYPE. Тип драйвера.
LANGDRIVER. Языковой драйвер,определяющий множество допустимых символов.
BLOCK SIZE. Размер блока на диске,используемого для запоминания одной записи.
FILL FACTOR. Содержит процент отблока на текущем диске. Параметр нужен для создания индексных файлов.
LEVEL. Параметр определяет типформата таблицы, используемой для создания временных таблиц.
STRICTINTEGRTY. Параметриспользования ссылочной целостности. Если он равен TRUE, то вы не можетеизменить таблицу с ссылочной целостностью, а если FALSE, то можете, но рискуетенарушить целостность данных.
Какуже отмечалось выше, утилита настройки BDE сохраняет всю конфигурационнуюинформацию в файле IDAPI.CFG. Этот файл с предустановленными ссылками надрайверы и некоторыми стандартными алиасами создается при установке Delphi.Кроме того, он создается при установке файлов редистрибуции BDE (т.е. когда Выпереносите BDE и SQL Links на другие компьютеры). (1)1. ОБЩАЯ ЧАСТЬ1.1.Цель разработки
Целью создания данного программного продуктаявляется выявление лучшей группы колледжа по оценкам аттестационной илиэкзаменационной сессии. 1.2.Анализ разработки
Данная программа универсальна, так как можетприменяться в любом среднем специальном или высшем учебном заведении. Программаработает с Базами данных и вероятность ошибки в ней практически исключена. 2.СПЕЦИАЛЬНАЯ ЧАСТЬ2.1.Постановка задачиНаписать наязыке программирования Delphiпрограмму,определяющую лучшую группу колледжа по оценкам аттестационной и экзаменационнойсессии.
Задача разработана в соответствии с ГОСТом 19.201-78 (ст. СЭВ 1627-79).2.1.1. Назначение задачи
Определение лучшей группы колледжа путемвычисления среднего арифметического оценок по каждой группе и сравнение полученногорезультата с результатами остальных групп.2.1.2.Технико-математическая формулировка задачи
Входными данными в этой программе являются базыданных
stud.dbс полями:
§ Zachetka–номера зачетки
§ Student– данные о студенте
§ Grup– группа
§ Kurs– Курс
sessia.dbс полями:
§ Zachetka– номер зачетки
§ Kodpr– код предмета
§ Sessia– Тип сессии
§ Ocenka– оценка
§
predmet.dbс полями:
§ kodpr– код премета
§ predmet– название предмета
созданные с помощью компонента для работы с базамиданных BorlandDelphiDatabaseDesktop. Длясоздания использовался драйвер баз данных Paradox7.0. Для администрированияэтих баз данных, в BorlandDelphiAdministratorбыл созданAlias(Псевдоним) kurs.
Выходными данными является название лучшей группы. Лучшая группаопределяется следующим образом:
По полям базы данных формируется массив оценок одной группы, затемпрограмма считает среднее арифметическое и сохраняет результат в массив сименами групп. После прохождения программой всех групп элементы массива сназваниями групп сравниваются, группа имеющая наиболее высокий показательсчитается лучшей группой.
Лучшая группа колледжа вычисляется по среднемуарифметическому.
Арифметическое среднее, число (
Например, А. с. чисел 3, 5, 7 равно (3 + 5 + 7)/3 = 5.
(2)
Арифметическое среднее, нескольких величин равны ихсумме, деленной на их число. Если n измерений или наблюдений, одинаковозаслуживающих доверия, дают n значений, a1, a2.-то вероятнейшее значениеизмеряемой величины есть А. среднее чисел a.
(3)
Рис. 3. Общий вид окна вычисления
Рис. 4. Общий вид окна редактированияБД
Блок-схемапрограммы
1
2 начало
ввод
данных
3
вычисление
среднего
арифметического
4
ЦИКЛ
5
6
Сравнение
Лучшая
группа
7
Конец
1. Начало программы;
2. Просмотр очередного поля БД;
3. Вычисление среднего арифметического по оценкам каждойгруппы
4. Цикл от 1 до количества групп
5. Сравнение резултатов групп
6. Выявление лучшей группы
7. Выход из программы2.1.3Требования к программе2.1.3.1.Требования к функциональным характеристикам
Созданнаяпрограмма должна обеспечить вычисление и вывод лучшей группы колледжа. Структурная схема
Управляющаяпрограмма
Вычисление и вывод лучшей Редактирование базы данных
группы колледжа2.1.3.2.Требования к надежности
Надежность программы зависит от работы всей системы иот условий ее хранения. Если программа записана гибком магнитном диске, то еенадежность зависит от правильного хранения дискеты. В этом случае рекомендуетсясоздать копию дискеты.
В качестве постоянного хранения программы следуетиспользовать жесткий магнитный диск, а для распространения программы, установкупрограммы лучше записывать на CD-ROM.
2.1.3.3. требования к составу и параметрам техническихсредств
Программа была выполнена в оперционной системе WindowsME, она совместима с опеационными системами Windows98, WindowsXP, Windows95, WindowsME, Windows2000.
Для работы данной программы используется ПК имеющийследующий характеристики:
§ Процессорне ниже Pentium100
§ Емкость ОЗУне ниже 64 МБ
§ Разрядность32 бит
§ Жесткиймагнитный диск
§ Диск 3,5
§ CD-ROM2.2.Описание алгоритма
1. Начало
2. Инициализацияокна приложения
3. Ввод данныхв программу
4. Обработкаданных
5. Выявлениелучшей группы
6. Если датаобновления БД, позднее установленного – открытие окна редактирования БД
7. Выход изпрограммы2.3.Листинг программы
Текст программы приводится в Приложении 1
В программе использованы два Unit
Unit1 –определение лучшей группы
Unit2 – редактированиеБД2.4.Описание процесса отладки программы
В результатетестового запуска программы не наблюдалось никаких ошибок и сбоев. Программаработает корректно и полностью отвечает поставленной задаче.
Для запуска программы необходимо из меню «Пуск»,раздел «Программы», выбрать «Колледж», «Колледж».
После запуска программы, если дата не просрочена,запускается окно приложения, с помощью которого можно получить результат олучшей группе, иначе выводится окно приложения редактирования базы данных. ЗАКЛЮЧЕНИЕ
Данный курсовой проект является актуальным и отвечаетпредъявленым к нему требованиям. Была разработана и написана,на языке программирования высокого уровня BorlandDelphi5.0, с использованием базданных, программа, позволяющая определить лучшую группу колледжа по среднемубаллу аттестационной и экзаменационной сессии.Список использованной литературы1. Delphi 5.0, учебный курс, Фараонов В.В., ISBN 5-8952-020-4, 400 с.
2. Большая СоветскаяЭнциклопедия
3. Малыйэнциклопедический словарь Брокгауза и Ефрона
4. Delhphi4.0, Дарахвелидзе П.Г.,Марков Е. П. 1998, 816 с. 5. Сайт delhpi.mastak.ruПриложение1. Листинг программыЧасть 1. Вычисление и вывод лучшей группы:
unit Unit1;
interface
uses
Windows,Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,Grids, DBGrids, Db, DBTables;
type
TForm1 =class(TForm)
Table1:TTable;
DataSource1:TDataSource;
Table2:TTable;
DataSource2:TDataSource;
DBGrid1:TDBGrid;
DBGrid2:TDBGrid;
Button1:TButton;
Label2:TLabel;
procedureButton1Click(Sender: TObject);
procedureButton2Click(Sender: TObject);
procedureFormShow(Sender: TObject);
private
{ Privatedeclarations }
public
{ Publicdeclarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
t, i, k, j, f: integer;
tmp: string;
gr: array ofstring;<