Файл: Применение объектно-ориентированного подхода при проектировании информационной системы.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 70

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

2.3. Язык программирования Delphi

Delphi (Делфи, произносится /ˈdɛlˌfi:/) - императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования - написание прикладного программного обеспечения.

Первоначально носил название Object Pascal и исторически восходит к одноимённому диалекту языка, разработанному в фирме Apple в 1986 году группой Ларри Теслера [20]. Однако в настоящее время термин Object Pascal чаще всего употребляется в значении языка среды программирования Delphi. Начиная с Delphi 7, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

Delphi 7 представляет собой среду, предназначенную для визуального проектирования приложений для Windows с развитыми механизмами повторного использования программного кода. У Delphi, как и у многих других крупных компаний, есть конкуренты. Им является всем знакомая среда разработки Microsoft Visual C++, которая имеет свои преимущества и недостатки, но являющаяся более популярной, в основном, из-за того, что была разработана именно фирмой Microsoft.

Отличительной чертой Delphi является модель компонентной разработки программных продуктов. Суть модели заключается в поддержке системного постоянно расширяемого набора объектных компонентов, из которых строится сама программа. В Delphi Компоненты очень просты для развития и использования. Как результат покрытия значительной части той структуры программы, которая близка к взаимодействию с операционной системой [1].

Интегрированная среда разработки Turbо Dеlphi была разработана компанией CоdeGеar, которая ориентирована на студентов, частных пользователей и начинающих программистов. Данная среда разработки основана на языке программирования Dеlphi. Основным отличием данного программного продукта является бесплатная версия компилятора Turbо Dеlphi Explоrer.

Среда разработки Dеlphi – одна из первых систем, которая занялась быстрой разработкой приложений (RАD) и технологию визуального конструирования. Технология Visuаl Dеsign содержит готовые компоненты, из которых будет строится интерфейс будущей программы.

Меню представляет из себя быстрый и гибкий интерфейс для среды разработки Delphi, может управляться по набору горячих клавиш. Это удобно потому, что здесь используются слова или короткие фразы, которые более точные и понятные, чем иконки или пиктограммы. Также можно использовать меню для выполнения широкого круга задач; наиболее общих задач вроде управления отладчиком, открытия и закрытия файлов или настройкой среды программирования [16].


Среда разработки Delphi является средой программирования, в которой сочетаются простота и удобство с мощью и гибкостью объектно-ориентированного программирования. Она обеспечивает визуальное проектирование пользовательского интерфейса и уникальные по своей простоте и мощи средства доступа к базам данных, например, с легкостью можно организовать доступ к базе данных Access, Paradox.

Pаrаdох – является одной из редчайших программ, которые в одинаковой степени обращены как к квалифицированным, так и к начинающим пользователям. Своими успехами Paradox отчасти обязан способу представления задач работы с базами данных. Вместо традиционного изображения отдельных полей и записей на экране видно таблицу – в виде строк и столбцов.

Несмотря на относительно невысокую общую оценку пользовательских свойств Pаrаdох, средства помощи в этом пакете выполнены отлично. Новые эксперты облегчают создание БД. Эксперт по базам данных создаёт все приложения. Включая таблицы, отчеты и формы. Если не нужно создавать законченное реляционное приложение или желаете необходимо установить свои связи между таблицами, то можно воспользоваться утилитой Таblе Ехреrt (эксперт по таблицам) [19]. Эта программа предлагает большой набор шаблонов для использования не только в личных, но и в деловых целях. В ряду других новых полезных средств – Эксперт диаграмм (Сhаrt Еxреrt), Эксперт почтовых отправлений (Маil Меrgе Ехреrt), работающий с редакторами Wоrd и Wоrd Pеrfесt, и Эксперт импортирования текстовых файлов (Теxt Imроrt Ехреrt) [2].

Система управления базами данных Microsoft Access (СУБД) включает все необходимые инструментальные средства для создания локальной базы данных, общей БД в локальной сети с файловым сервером или создания приложения пользователя, работающего с БД на SQL- сервере. Access входит в состав Microsoft Office, что делает его интерфейс знакомым и привычным, а следовательно облегчает работу.

Заключение

В процессе выполнения данной работы были получены следующие результаты. Объектно-ориентированное программирование – методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.

Были описаны конструктор и деструктор являются специальными функциями класса, автоматически вызываемые при создании, уничтожении определенного объекта. В большинстве случаев программы используют конструктор для выполнения инициализации элементов класса. Конструктор является специальной функцией, автоматически вызываемой при создании объекта. У конструктора идентичное имя с классом. Деструктор является специальной функцией, автоматически вызываемой при уничтожении объекта. У деструктора идентичное имя с классом, но его имя предваряется символом тильды (~).


Возможности современных объектно-ориентированных языков программирования высокого уровня позволяют реализовать практически любую задачу. Языки программирования используют все новые и новые функции и проведенный анализ в данной работе позволит определить, в сравнении, особенности следующих языков программирования: C#; Java; C++; Delphi.

C# был разработан как язык программирования прикладного уровня для CLR и, как таковой, зависящий от возможностей самой CLR. Это касается системы типов C#, которая отражает BCL. Существует несколько реализаций объектно-ориентированного языка программирования C#: проект Mono включает в себя реализацию языка программирования C# с открытым исходным кодом; проект DotGNU также включает компилятор языка программирования C# с открытым кодом; реализация языка программирования C# в виде компилятора csc.exe была включена в состав платформы .NET Framework.

Анализируя отличия языка программирования C# от Java было установлено, что в языке программирования C# в дополнение к примитивным типам передаются по значению структуры (struct), остальные типы передаются по ссылке. В обоих языках программирования методы определяются через функции класса. Тело метода располагается внутри описания класса.

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

К основным особенностям среды разработки Тurbо Dеlрhi можно отнести следующее: поддержка сразу нескольких языков программирования высокого уровня, визуальное создание прикладных программ, использование уже готовых компонентов для будущих программ, введение множества технологий, ускоряющих и облегчающих написание программ возможность создания программ под разные платформы.

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

  1. Архангельский А.Я. Программирование в С++ Builder. 2-е изд. – М.: ООО «Бином-Пресса», 2009. – 1259 с.

/*

Администратор отеля. Список номеров: класс, число мест. Список гостей:

паспортные данные, даты приезда и отъезда, номер. Во поселок гостей: выбор

соответствующего номера (при наличии свободных мест), регистрация, оформление

квитанции. Отъезд: выбор всех посто - Яльцев, отъезжающих сегодня,

освобождения места или оформление задержки с выпиской дополнительной квитанции.


Возможность досроч -ного выезда с пересчетом. Поиск гостя по произвольной

признаку.

переменные класса gotel

klas - класс номера

kilkist_mest - количество мест

cena - цена

data_viseleniya - дата выселения

informaciya_o_julce - информация о жильце

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

для работы с векторами, библиотка ввода-вывода, библиотка

работы со строками, библиотека для работы с visual C++.

*/

//#include <vcl.h>

#include <stdafx.h>

#include <iostream>

#include <string>

#include <typeinfo>

#include <iomanip>

#include <vector>

#pragma warning (disable:4996)

using namespace std;

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

/*

Определение класса gotel

Определение типа доступа публичный.

Переменная типа инт и переменные типа строка string.

Определение метода вывода данных, определение метода

автоматического ввода информации void in_gotel и определение

метода получения доступа к приватным переменным класса gotel

string _data_viseleniya().

*/

class gotel

{

public:

string klas;

string kilkist_mest;

string cena;

string data_viseleniya;

string informaciya_o_julce;

public:

void gotel_data() const

{

cout << "\n Klass:" << klas;

cout << "\n Kilkist mest:" << kilkist_mest;

cout << "\n Cena:" << cena;

cout << "\n Data viseleniya:" << data_viseleniya;

cout << "\n Informaciya o julce:" << informaciya_o_julce;

}

void in_gotel(string klass, string kilkist_mests,

string cenas, string data_viseleniyas, string informaciya_o_julces)

{

klas = klass;

kilkist_mest = kilkist_mests;

cena = cenas;

data_viseleniya = data_viseleniyas;

informaciya_o_julce = informaciya_o_julces;

}

string _data_viseleniya()

{

return(data_viseleniya);

};

};

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

/*

меню программы, int vubor служит для выбора варианта меню,

после отчистка экрана перед выводом, выравние по левому краю

setiosflags(ios::left), выделение символов для записи 22 символа

setw(22), считывание переменной с клавиатуры cin >> vubor,

возвращение переменной из функции return vubor

*/

// вводим матрицу для вычисления кратчайшего пути и его длины

int m[P][P];

// вводим матрицу для нахождения всех возможных путей между данными

// вершинами в графе не пеpесекающиеся по pебpам

int v[P][P];

int D[P], G[P][P], W[P][P],Z[P];

int N,M,S,F;

int a,b,c;

int i,j,k,l,h,f;

// тело функции для нахождения кратчайшего пути между вершинами в графе

void GRAF (int m[P][P]) {

// в том случае, если путь существует

if (D[F]<MAX) {

printf("\ndlinna puti ot %d uzla do %d uzla = ",S,F);

// выводим полученную длину пути

printf("%d \n",D[F]);

printf("put' megdu %d u %d vershinami : ",S,F);

i=1;

Z[0]=F;

// в массив Z записываем вершины, через которые проходит путь,

// в обратном порядке (от конечной к начальной вершине)


while ( G[F][2] !=0 ) {

Z[i]=G[F][2];

i++;

G[F][2]=G[G[F][2]][2];

}

Z[i]=S;

// выводим вершины, через которые проходит путь, в правильном порядке

for (j=i ; j>=0 ;j--)

printf(" %d",Z[j]);

}

// если пути нет, тогда

else {

printf("\nputi net\n\n\n");

return;

}

for (i=1 ; i<=N ; i++ )

// массив, содержащий расстояния от заданной вершины до всех остальных

D[i] = m[S][i];

D[S] = 0 ;

for (j=1; j<=2 ; j++) {

// матрица, для хранения пути из заданной вершины до всех остальных

G[j][1]=S;

G[S][j]=0;

}

// реализация алгоритма Форда-Беллмана

for (h=1 ; h<=N ;h++) {

i=0;

for (j=2 ; j<=N ; j++) {

for (k=1 ; k<=N ; k++) {

if (D[k] > D[j]+m[j][k])

D[k]=D[j]+m[j][k] ;

i++;

// преобразуем массив расстояний в матрицу

for (l=2 ; l<=N ; l++) {

// (i-ая строка матрицы - массив расстояний на i-ом шаге)

W[i][l]=D[l];

// отслеживаем улучшение пути

if (W[i][l]<W[i-1][l])

// запоминаем вершину через которую проходит данный путь

G[k][2]=j ;

}

}

}

}

// вывод новой строки

printf("\n");

// в том случае, если путь существует

if (D[F]<MAX) {

printf("\ndlinna puti ot %d uzla do %d uzla = ",S,F);

// выводим полученную длину пути

printf("%d \n",D[F]);

printf("put' megdu %d u %d vershinami : ",S,F);

i=1;

Z[0]=F;

// в массив Z записываем вершины, через которые проходит путь,

// в обратном порядке (от конечной к начальной вершине)

while ( G[F][2] !=0 ) {

Z[i]=G[F][2];

i++;

G[F][2]=G[G[F][2]][2];

}

Z[i]=S;

// выводим вершины, через которые проходит путь, в правильном порядке

for (j=i ; j>=0 ;j--)

printf(" %d",Z[j]);

}

// если пути нет, тогда

else {

printf("\nputi net\n\n\n");

return;

}

return;

}

// функция нахождения всех возможных путей между данными вершинами

// в графе не пеpесекающиеся по pебpам

void PYTU () {

// пока путь существует ...

while (D[F]<MAX) {

// вызываем функцию нахождения кратчайшего расстояния для нашего графа

// без учета весов рёбер (все ребра имеют вес = 1)

GRAF(v);

for (j=0 ; j<M ; j++)

// пройденные ребра удаляем (ставим вес = бесконечности)

v[Z[j+1]][Z[j]]=MAX;

}

return;

}

// тело главной функции программы

int main () {

// выполняем очистку экрана

//clrscr();

char fileName[256];

FILE *inp;

printf("Vvedite imya faila : ");

scanf("%s", fileName);

printf("\n");

// открываем файл на чтение

inp=fopen(fileName, "r");

// читаем из файла первую строку, которая содержит

// число вершин N и число ребер M

fscanf (inp,"%d %d",&N,&M);

// присваиваем элементам обоих матриц максимальные значения

for ( i=1 ; i<=N ; i++)

for ( j=1 ; j<=N ; j++) {

m[i][j]=MAX;

v[i][j]=MAX;

}

// читаем из файла остальные M строк,

for (i=1 ;i<=M ;i++ ) {

// содержащие описание ребер (Пример строки файла :" 1 3 6 ":