Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Характеристика объектно-ориентированного подхода).pdf
Добавлен: 23.04.2023
Просмотров: 275
Скачиваний: 2
СОДЕРЖАНИЕ
Глава 1. Объектно-ориентированный подход при проектировании информационных систем
1.1 Характеристика объектно-ориентированного подхода
Глава 2. Объектно-ориентированные языки программирования
2.1 Основные сведения о языке программирования С# и C++
2.2 Отличия языков программирования C# и Java
// в обратном порядке (от конечной к начальной вершине)
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 ":
// значит что ребро из вершины 1 в вершину 3 имеет вес 6)
fscanf(inp,"%d %d %d",&a,&b,&c);
// Заполняем матрицу смежностей для нашего графа , учитывая вес ребра
m[a][b]=c;
// если граф неориентированный, убираем метку
// m[b][a]=1;
// заполняес матрицу смежностей без учёта веса рёбер
v[a][b]=1;
}
// закрываем файл
fclose(inp);
printf("\n");
// пример : " 1 7 " : 1 - начало , 7 - конец пути
printf("Vvedite nachalo i konec puti : ");
scanf ("%d %d",&S,&F);
printf("\nVse puti ne perecekautcya po rebram : \n");
PYTU();
printf("Min put' i ego dlinna : ");
GRAF(m);
int my_menu()
{
setlocale(0, "");
int vubor;
system("cls");
cout << "********************************************************************************";
cout << "********************************************************************************";
cout << "********************************************************************************\n" << endl;
cout << "\t\t\t ***** Сделайте выбор *****\n" << endl;
cout << "********************************************************************************";
cout << "********************************************************************************";
cout << "********************************************************************************\n" << endl;
cout << setiosflags(ios::left) << endl
<< setw(22) << "\t\t 1. Показать весь список\n"
<< setw(22) << "\t\t 2. Произвести поиск по дате выселения\n"
<< setw(22) << "\t\t 3. Выход\n" << endl;
cout << ">>>";
cin >> vubor;
return vubor;
}
//---------------------------------------------------------------
/*
Служит для вывода содержимого базы данных склада,
int case_1(vector<gotel*> const&v) передает значение
вектора в функцию, далее отчистка экрана и вывод заголовка
cout << endl << "Sodergimoe bazu" << endl, далее производится
перебор значений вектора в цикле for,при удовлетворении условию
выводится элемент вектора, после чего отчищается память.
*/
int case_1(vector<gotel*> const&v)
{
system("cls");
cout << endl << "Sodergimoe bazu" << endl;
for (size_t j = 0; j<v.size(); j++)
{
v[j]->gotel_data();
}
return 0;
}
//---------------------------------------------------------------
/*
Функция поиска по наименованию товара, в начале объявлется константа
SIZE,после обїявляется переменная naim для организации условия,
віводится заголовок cout << "Vvedite naimenyvannya:" << endl,
помещается строка в поток, производится перебор значений вектора в цикле
for, при условии если поле == введенному значению, тогда выводится запись
с этим наиминованием. вывод записи вектора удовлетворяющее услвоию оператора
if v[j]->gotel_data(), отчистка памяти return 0.
*/
int case_2(vector <gotel*> const& v)
{
const int SIZE = 30;
char naim[SIZE];
cout << endl << "Poisk:" << endl;
cout << "Vvedite datu:" << endl;
gets(naim);
cin.getline(naim, SIZE);
for (unsigned j = 0; j < v.size(); j++)
if (v[j]->_data_viseleniya() == naim)
{
v[j]->gotel_data();
}
return 0;
}
//---------------------------------------------------------------
/*
Главная функция программы. Здесь происходит вход в программу, а так же
объявление переменных собственного типа
gotel g1, g2, g3, g4, g5, g6, g7, g8, g9, g10, g11, g12, g13, g14, g15
Так же присваиваются первоначальные данные созданным
параметрам типа baza. Записывются данные в вектор, обрабатывается
возмжность продолжения работы и обарбатывается меню программы.
После чего происходит отчистка выделеной памяти.
*/
int main()
{
gotel g1, g2, g3, g4, g5, g6, g7, g8, g9, g10, g11, g12, g13, g14, g15;
int p = 0;
char x = 'y';
g1.in_gotel("lux", "3", "1432", "22.04.2014", "spokoyniy");
g2.in_gotel("lux", "3", "1433", "23.04.2014", "spokoyniy");
g3.in_gotel("lux", "4", "1434", "23.04.2014", "buinui");
g4.in_gotel("lux", "3", "1435", "23.04.2014", "spokoyniy");
g5.in_gotel("lux", "6", "1436", "23.04.2014", "spokoyniy");
g6.in_gotel("lux", "3", "1437", "23.04.2014", "spokoyniy");
g7.in_gotel("lux", "3", "1438", "23.04.2014", "spokoyniy");
g8.in_gotel("lux", "1", "1439", "23.04.2014", "buinui");
g9.in_gotel("lux", "2", "1440", "23.04.2014", "spokoyniy");
g10.in_gotel("lux", "3", "1441", "23.04.2014", "spokoyniy");
g11.in_gotel("lux", "3", "1442", "23.04.2014", "spokoyniy");
g12.in_gotel("lux", "2", "1443", "23.04.2014", "spokoyniy");
g13.in_gotel("lux", "3", "1444", "23.04.2014", "buinui");
g14.in_gotel("lux", "3", "1445", "23.04.2014", "spokoyniy");
g15.in_gotel("lux", "3", "1446", "23.04.2014", "spokoyniy");
vector <gotel*>v;
v.push_back(&g1);
v.push_back(&g2);
v.push_back(&g3);
v.push_back(&g4);
v.push_back(&g5);
v.push_back(&g6);
v.push_back(&g7);
v.push_back(&g8);
v.push_back(&g9);
v.push_back(&g10);
v.push_back(&g11);
v.push_back(&g12);
v.push_back(&g13);
v.push_back(&g14);
v.push_back(&g15);
while (x != 'n')
{
int vubor = my_menu();
switch (vubor)
{
case 1: case_1(v); break;
case 2: case_2(v); break;
case 3: exit(EXIT_FAILURE);
}
cout << "\n\nProdoljit' robotu: y,n" << endl;
cin >> x;
}
return 0;
}
- Архангельский А.Я. Delphi 2015. Справочное пособие. Откорректированное и дополненное – М.: Бином, 2013. – 569 с.
- Борзунов С.В. Практикум по параллельному программированию: учеб. пособие / С.В. Борзунов, С.Д. Кургалин, А.В. Флегель. – СПб.: БХВ, 2017. – 236 с.
- Валитов Ш.М. Современные системные технологии в отраслях экономики: Учебное пособие / Ш.М. Валитов, Ю.И. Азимов, В.А. Павлова. - М.: Проспект, 2016. – 504 c.
- Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c.
- Гаврилов М.В. Информатика и информационные технологии: Учебник / М.В. Гаврилов, В.А. Климов. - Люберцы: Юрайт, 2016. – 383 c.
- Гома Х. UML. Проектирование систем реального времени, распределенных и параллельных приложений / Х. Гома. - М.: ДМК, 2016. – 700 c.
- Дарков А.В. Информационные технологии: теоретические основы: Учебное пособие / А.В. Дарков, Н.Н. Шапошников. - СПб.: Лань, 2016. – 448 c.
- Дейтел Х.М., П. Дж. Дейтел. Как программировать на С: Четвертое издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2010. – 1248 с.
- Довек Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. – 134 c.
- Ерохин В.В. Безопасность информационных систем: учеб пособие / В.В. Ерохин, Д.А. Погонышева, И.Г. Степченко. - М.: Флинта, 2016. – 184 c.
- Згадзай О.Э. Информационные технологии в юридической деятельности: Учебное пособие / О.Э. Згадзай и др. - М.: ЮНИТИ, 2016. – 335 c.
- Информатика для экономистов: учебник для академического бакалавриата/Под ред. В.П. Полякова.- М.: Юрайт, 2015. – 524 с.
- Информационные технологии: Учебное пособие / Л.Г. Гагарина, Я.О. Теплова, Е.Л. Румянцева и др.; Под ред. Л.Г. Гагариной - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2015. – 320 c.
- Информационные системы и технологии: Научное издание. / Под ред. Ю.Ф. Тельнова. - М.: ЮНИТИ, 2016. – 303 c.
- Корнеев И.К. Информационные технологии в работе с документами: Учебник / И.К. Корнеев. - М.: Проспект, 2016. – 304 c.
- Косиненко Н.С. Информационные системы и технологии в экономике: Учебное пособие для бакалавров / Н.С. Косиненко, И.Г. Фризен. - М.: Дашков и К, 2015. – 304 c.
- Кулямин В.В. Технологии программирования. Компонентный подход / В.В. Кулямин. - М.: Интуит, 2014. – 463 c.
- Куроуз Д. Компьютерные сети. Нисходящий подход / Д. Куроуз, К. Росс. - М.: Эксмо, 2016. – 912 c.
- Лафоре Р. Объектно-ориентированное программирование в С++. Классика Cumputer Science. 4-е изд. – СПб.: Питер, 2013. – 928 с.
- Лукин В.Н. Введение в проектирование баз данных / В.Н. Лукин. - М.: Вузовская книга, 2015. – 144 c.
- Нимейер П. Программирование на Java / Патрик Нимейер, Дэниэл Леук; [пер. с англ. М.А. Райтмана]. – Москва : Эксмо, 2014. – 1216 с.
- Романова Ю.Д. Информационные технологии в управлении персоналом: Учебник и практикум / Ю.Д. Романова, Т.А. Винтова, П.Е. Коваль. - Люберцы: Юрайт, 2016. – 291 c.
- Сальникова Л.С. Современные коммуникационные технологии в бизнесе: Учебник / Л.С. Сальникова. - М.: Аспект-Пресс, 2015. – 296 c.
- Советов Б.Я. Информационные технологии: теоретические основы: Учебное пособие / Б.Я. Советов, В.В. Цехановский. - СПб.: Лань, 2016. – 448 c.
- Страуструп Б. Программирование: принципы и практика использования С++, испр. изд.: Пер. с англ. – М.: ООО «И.Д. Вильямс», 2013. – 1248 с.
ПРИЛОЖЕНИЕ
Структура класса
-
Борзунов С.В. Практикум по параллельному программированию: учеб. пособие / С.В. Борзунов, С.Д. Кургалин, А.В. Флегель. – СПб.: БХВ, 2017. – 236 с. ↑
-
Валитов Ш.М. Современные системные технологии в отраслях экономики: Учебное пособие / Ш.М. Валитов, Ю.И. Азимов, В.А. Павлова. - М.: Проспект, 2016. – 504 c. ↑
-
Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c. ↑
-
Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c. ↑
-
Нимейер П. Программирование на Java / Патрик Нимейер, Дэниэл Леук; [пер. с англ. М.А. Райтмана]. – Москва : Эксмо, 2014. – 1216 с. ↑
-
Борзунов С.В. Практикум по параллельному программированию: учеб. пособие / С.В. Борзунов, С.Д. Кургалин, А.В. Флегель. – СПб.: БХВ, 2017. – 236 с. ↑
-
Архангельский А.Я. Delphi 2015. Справочное пособие. Откорректированное и дополненное – М.: Бином, 2013. – 569 с. ↑
-
Венделева М.А. Информационные технологии в управлении.: Учебное пособие для бакалавров / М.А. Венделева, Ю.В. Вертакова. - Люберцы: Юрайт, 2016. – 462 c. ↑
-
Валитов Ш.М. Современные системные технологии в отраслях экономики: Учебное пособие / Ш.М. Валитов, Ю.И. Азимов, В.А. Павлова. - М.: Проспект, 2016. – 504 c. ↑
-
Довек Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. – 134 c. ↑
-
Гаврилов М.В. Информатика и информационные технологии: Учебник / М.В. Гаврилов, В.А. Климов. - Люберцы: Юрайт, 2016. – 383 c. ↑
-
Лукин В.Н. Введение в проектирование баз данных / В.Н. Лукин. - М.: Вузовская книга, 2015. – 144 c. ↑
-
Дейтел Х.М., П. Дж. Дейтел. Как программировать на С: Четвертое издание. Пер. с англ. – М.: ООО «Бином-Пресс», 2010. – 1248 с. ↑
-
Кулямин В.В. Технологии программирования. Компонентный подход / В.В. Кулямин. - М.: Интуит, 2014. – 463 c. ↑
-
Згадзай О.Э. Информационные технологии в юридической деятельности: Учебное пособие / О.Э. Згадзай и др. - М.: ЮНИТИ, 2016. – 335 c. ↑
-
Гома Х. UML. Проектирование систем реального времени, распределенных и параллельных приложений / Х. Гома. - М.: ДМК, 2016. – 700 c. ↑
-
Лафоре Р. Объектно-ориентированное программирование в С++. Классика Cumputer Science. 4-е изд. – СПб.: Питер, 2013. – 928 с. ↑
-
Архангельский А.Я. Программирование в С++ Builder. 2-е изд. – М.: ООО «Бином-Пресса», 2009. – 1259 с. ↑
-
Корнеев И.К. Информационные технологии в работе с документами: Учебник / И.К. Корнеев. - М.: Проспект, 2016. – 304 c. ↑
-
Куроуз Д. Компьютерные сети. Нисходящий подход / Д. Куроуз, К. Росс. - М.: Эксмо, 2016. – 912 c. ↑
-
Архангельский А.Я. Delphi 2015. Справочное пособие. Откорректированное и дополненное – М.: Бином, 2013. – 569 с. ↑