Система управления базами данных IBM DB2

Частное учреждение образования

Минский институт управления

Кафедра автоматизированных информационных систем

Отчет о прохождении общеинженерной практики

Сроки прохождения практики: с 19.11.2012 по 16.12.2012

Студент группы 111201-з

И.М. Вайтович

Руководитель старший

Т.В. Русак преподаватель,

магистр технических наук

Минск 2013

Частное учреждение образования

Минский институт управления

Факультет: инженерно-информационный

Кафедра: автоматизированных информационных систем

Специальность: 1-40 01 02 — Информационные системы и технологии (по направлениям)

Индивидуальное задание на общеинженерную практику студенту Хоботовой Анастасии Михайловне группы №111201з

1. Тема реферата:

Система управления базами данных IBM DB2.

2. Индивидуальное задание:

Даны два массива: A, состоящий из n элементов, и B, состоящий из m элементов. Определить содержится ли наибольший элемент массива A в массиве B.

3. Сроки прохождения практики: с 19 ноября по 16 декабря 2012 г.

4. Календарный график:

№ п/п

Наименование мероприятий учебной (общеинженерной) практики

Сроки проведения

1.

Организационное собрание по ОИП

11.09.2012

2.

Получение индивидуального задания на практику

11.09.12 — 24.09.12

3.

Проведение экскурсий (выставок)

19.11.12 — 24.11.12

4.

Проведение семинаров, встреч, бесед

19.11.12 — 30.11.12

5.

Подготовка реферата

01.12.12 — 09.12.12

6.

Выполнение индивидуального задания

01.12.12 — 16.12.12

7.

Подготовка отчета по практике

17.12.12 — 11.03.13

8.

Предоставление отчета по практике на кафедру

до 15.03.13

9.

Защита отчета по практике

19.03.13 — 23.03.13

Руководитель Т.В. Русак

Оглавление

Введение

1. Система управления базами данных

1.1 Понятие СУБД

1.2 История создания СУБД

1.3 История создания СУБД IBM DB2

1.4 Функциональные возможности DB2

1.5 Типы данных, определяемые пользователем

1.6 Большие объекты

1.7 Функции, определяемые пользователем

1.8 Триггеры

1.9 Реляционные расширители

1.10 Критический анализ СУБД DB2

1.11 Обзор редакций IBM DB2

1.12 СУБД DB2 нового поколения

2. Практическая часть

2.1 Постановка задачи

2.2 Алгоритм решения

2.3 Программная реализация

2.4 Тестирование программы

Заключение

Список использованных источников

Приложение

Введение

Целью общеинженерной практики является закрепление и расширение полученных студентом в ходе учебы знаний, приобретение представления о будущей профессии. Задачами практики являются: — закрепление теоретического материала, изложенного на лекциях дисциплин предметного блока;

— приобретение навыков работы с компьютером, с ОС Windows и стандартным офисным пакетом;

— закрепление полученных в ходе изучения базовых курсов по информатике знаний и умений по методам использования, разработки и реализации классических алгоритмов на изучаемых языках программирования;

— освоить методы профессионального поиска информации в сети Internet;

— изучить требования к оформлению отчетов, методы и прикладные среды для подготовки отчетов по результатам практики;

— работа с офисной оргтехникой.

В первом разделе отчета рассмотрена система управления базами данных IBM DB2: описано понятие СУБД, даны виды и краткая характеристика СУБД IBM DB2.

Во второй части отчета разрабатывается алгоритм и программа на языке С для нахождения максимального элемента массива А в массиве В.

1. Система управления базами данных IBM DB2

1.1 Понятие системы управления базами данных

База даннных (БД) — это поименованная совокупность взаимосвязанных данных, находящихся впод управление СУБД.

Система управления базами данных (СУБД) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

1.2 История создания СУБД

Активная деятельность по отыскиванию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов специальных программных комплексов, называемых «Системы управления базами данных» (СУБД).

Основная особенность СУБД — это наличие процедур для ввода и хранения не только самих данных, но и описаний их структуры. Файлы, снабженные описанием хранимых в них данных и находящихся под управлением СУБД, стали называть банки данных, а затем «Базы данных» (БД).

Когда началось производство вычислительных машин семейства ЕС ЭВМ. Работы проводились в двух направлениях. Прежде всего были предприняты попытки создания собственных оригинальных отечественных СУБД. Вместе с тем, в ускоренном режиме разрабатывались аналоги некоторых широко распространенных за рубежом СУБД, способных функционировать на отечественных аппаратно-программных платформах. Подобный подход был использован также при создании СУБД для аппаратных платформ, серийное производство которых началось в стране позднее появления платформы ЕС ЭВМ, — для СМ ЭВМ, АСВТ, IBM-совместимых персональных компьютеров и др. [3].

1.3 История создания СУБД IBM DB2

DB2 — это семейство систем управления реляционными базами данных, выпускаемых корпорацией IBM. Это одна из «зрелых» мировых СУБД, постоянный лидер в производительности, по уровню технической реализации, возможностям масштабирования и т.д.

DB2 имеет долгую историю. Это первая СУБД, которая стала использовать SQL. С 1975 по 1982 год прототип DB2 разрабатывался в IBM под названием System Relational, или System R.

СУБД DB2 получила свое название в 1982 году, когда был выпущен первый коммерческий релиз для VM под названием SQL/DS, и затем релиз для MVS под названием DB2.

Развитие DB2 уходит корнями в начало 1970-х, когда доктор Э.Ф. Кодд, работавший на IBM, разработал теорию реляционных баз данных и в июне 1970 года опубликовал модель манипуляции данными. Для воплощения этой модели он разработал язык реляционных баз данных и назвал его Alpha.

IBM DB2 — наиболее высокопроизводительная и мощная СУБД в мире. Ее основное уникальное преимущество в том, что любое приложение, написанное для DB2, будет работать с серверами данных DB2, работающими на любой распределенной платформе, поддерживаемой DB2 (Windows, HP-UX, Sun Solaris, Linux, Mac OS X и AIX®).

DB2 поставляется в различных редакциях и пакетах. Все редакции и пакеты DB2 построены на одной и той же дазе исходного кода; они различаются лишь функциональностью и условиями лицензирования, которые нацеливают возможности, функции и преимущества DB2 по соответствующим сегментам рынка и ценовым группам.

Круг задач, которые можно решать, использую объектные расширения DB2, существенно увеличен по сравнению с классическим реляционным подходом. Заимствовав из объектно-ориентированной модели наиболее необходимые для современных приложений элементы, DB2 сохранила все достоинства реляционной СУБД. Это позволяет использовать при построении корпоративных информационных систем на ее основе как реляционный, так и объектно-ориентированный подход.[2]

1.4 Функциональные возможности DB2

Функциональные возможности DB2:

— Мультиплатформенность.

— Advanced Copy Services (ACS). DB2 ACS позволяет использовать технологию быстрого копирования устройства хранения данных для выполнения работы по копированию данных в операциях резервного копирования и восстановления. Возможность копирования данных средствами устройства хранения данных значительно ускоряет операции резервного копирования и восстановления. Резервное копирование с использованием DB2 ACS называется резервным копирование через мгновенную копию (snapshot backup).

— Онлайновая реорганизация таблиц позволяет пользователю проводить реорганизацию таблицы без прекращения полного доступа к ней.

— Поддержка High Availability Disaster Recovery (HADR). Функциональность DB2 HADR обеспечивает поддержку высокой готовности и аварийное переключение для баз данных DB2.

— Поддержка Materialized Query Tables (таблицы материализованных запросов), Query Parallelism (параллелизм запросов), Multidimensional Clustering Tables (MDC, многомерная кластеризация таблиц).

— Поддержка сжатия данных при резервном копировании.

— Поддержка SQL-репликации.

— Поддержка Database Partitioning (разбиение баз данных). Данная функциональная возможность позволяет распределить один образ базы данных на несколько физических серверов.

— DB2 Text Search. Функция DB2 Text Search позволяет вести поиск в текстовых столбцах таблиц DB2.

— IBM Data Studio — это инструментальная платформа, охватывающая весь жизненный цикл приложений (проектирование, разработка, развертывание, поддержка и управление) для всех реляционных СУБД IBM, с перспективой дальнейшего расширения поддержки. Это означает, что вы имеете не только переносимый SQL API, но и набор инструментальных программ, позволяющий реализовать бизнес-логику в масштабе всего предприятия.[2]

1.5 Типы данных, определяемые пользователем

DB2 дает пользователю возможность определять новые типы данных. Новый тип данных должен сообтетствовать одному из базовых типов, предоставляемых системой, но для них может быть определена своя семантика. При этом DB2 способна манипулировать такими данными в соответствии с определенной для них логикой. Можно задать набор операций, допустимых для некоторого типа данных, изменив его по сравнению с относящимся к базовому типу.

В DB2 реализован механизм строгой типизации. К данным неопределенного типа применимы при этом только те операции, которые определены для него самого, а не для базового класса. Для СУБД такой подход предоставляет мощный механизм контроля целостности данных.

Так, можно определить тип «почтовый индекс» как производный от целого, но при этом запретить операции умножения и деления для данных этого типа, как не имеющие смысла, в то время как для базового класса эти операции справедливы. [2]

Читайте также:  Производство кваса на ЗАО КПП "Лазурный"

1.6 Большие объекты

DB2/2 и DB2/6000 предоставляют пользователю такие новые типы данных, как большие бинарные объекты (BLOBS) и большие текстовые объекты (CLOBS). BLOBS позволяют хранить данные любого вида размером до двух гигабайт. CLOBS имеют такие же ограничения на размер, но предназначены для хранение текста в виде последовательности однобайтных или двухбайтных символов и могут быть связаны с определенной кодовой страницей. Наличие таких типов данных позволяет встраивать реляционные таблицы данные нетрадиционных типов, в первую очередь мультимедиа. Эта возможность приобретать все большее значение для современных приложений, позволяя хранить, например, фотографии сотрудников в базе данных отдела кадров, графические изображения, звук, видео, большие тексты. Основное внимание при этом уделено достижению высокой производительности и надежности, а также снятию ограничений на использование больших объектов. Так, можно создать таблицу, включающую свыше десяти полей, содержащих двухгигабайтные объекты.

Большие возможности при работе с большими объектами предоставляет определение новых типов данных и функций. Это делает возможным задать возможность поиска картины по ее элементу, или операцию сравнения текстов и т.п.[2]

1.7 Функции, определяемые пользователем

Функции, определяемые пользователем, позволяют скрывать внутреннее представление данных от приложения, обеспечивая некоторую инкапсуляцию данных. Они также позволяют определять новые операции как для базовых данных, так и для типов, определяемых пользователем.

Функции, определяемые пользователем, позволяют достичь многократного использования кода за счет того, что операции, общие для различных приложений, хранятся на сервере, а не включаются в каждое отдельное приложение. Для реализации этих функций используются языки программирования, а для их реализации в СУБД — введенный в язык определения данных оператор CREATE FUNCTION. Фактически этот оператор связывает пользовательскую функцию с конкретной программой, выполняемой при вызове этой функции. Использование пользовательских функций вместо непосредственного доступа к данным может обеспечить некоторую инкапсуляцию данных, что можно использовать для того, чтобы скрыть от пользователя их внутреннюю структуру. Кроме того, DB2 поддерживает механизм перегрузки имен пользовательских функций, аналогичный применяемому в ООБД, однако не позволяет связывать функции с конкретными элементами данных, как связаны методы и объекты при объектном подходе. Дополнительную гибкость функциям, определяемым пользователем, придает способность одновременно работать как с данными DB2, так и другими данными, как, например, файлами, электронной почтой и др. Возможны два варианта взаимодействия функций, определяемых пользователем, с сервером DB2. Первый заключается в том, что функция имеет прямой доступ к БД, что позволяет достичь максимальной производительности, но представляет собой потенциальную угрозу работоспособности сервера и целостности данных. Во втором варианте функция выполняется как отдельный от сервера БД процесс, что обеспечивает защиту данных и СУБД, но снижает производительность.

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

1.8 Триггеры

Триггеры определяют набор операций, которые выполняются при возникновении определенных событий в базе данных, например при обновлении таблицы.

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

Использование триггеров позволяет сделать данные «активными», моделировать не только структуру и свойства, но и поведение хранимых в БД объектов данных.[2]

1.9 Реляционные расширители

Хорошим примером применения перечисленных новых возможностей являются реляционные расширители DB2 (DB2 Relational Extenders). Они предоставляют широкие возможности для работы с нетрадиционными данными, используя возможность определения пользовательских типов данных и функций. Для хранения мультимедиа данных, а для поддержания целостности по ссылкам — триггеры.

В настоящее время существует пять реляционных расширителей, позволяющих работать с изображением, сложными текстовыми документами, видео, аудио, и даже с отпечатками пальцев.[2]

1.10 Критический анализ СУБД DB2

Рассмотрим плюсы и минусы СУБД.

Плюсы:

— есть хорошая бесплатная версия;

— в бесплатной версии нет ограничений на размер базы;

— в бесплатной версии нет ограничителя запросов, это позволяет одновременно обслуживать десятки пользователей;

— хорошая бесплатная техподдержка;

— в отличии от PostgreSQL есть возможность получить платную поддержку производителя, что позволяет применять в Entrprise секторе бизнеса;

— с конфигурациями 1С-Предприятие в автоматическом режиме блокировок работает лучше, чем PostgreSQL (речь о параллельности, область блокировок на уровне строк, а не таблиц);

— хорошая производительность;

— меньше проблем с неуникальностью индексов (фактически для решения проблемы рекомендуется временно базы загружать в DB2);

— лучше обрабатывает ситуации вроде «не хватает памяти для сервера 1С»;

— нет ограничения на 256 таблиц, что расширяет возможности при работе с RLS.

Минусы:

— мало специалистов и высокая стоимость хороших специалистов;

— небольшая распространенность;

— в отличии от MS SQL Server для новых версий 1С выпускает «адаптированные» версии;

— размер баз больше, чем в других СУБД;

— медленная загрузка dt-файла;

— требуется «тонкая» настройка параметров СУБД, автоподстройка системы есть, но неполная;

— некоторые сообщения платформой могут неверно обрабатываться, для решения приходится «понижать уровень» логирования ошибок;

— 1С-ЦУП собирает длительные запросы, ожидания на блокировках, но не собирает взаимные блокировки.[2]

1.11 Обзор редакций IBM DB2

Наименов редакции

Возможности и ограничения

IBM DB2 Express — C

Базовая бесплатная версия СУБД IBM DB2. Тех.поддержка не осуществляется. Тех. ограничения: используется максимум 2 ядра и 1 процессор, 2 Гб ОЗУ. Нет поддержки репликации и кластеризации, нет гарантии и возможности приобретения доп. пакетов ПО для расширения возможностей СУБД. Версии выпускаются без пакетов обновлений. Поддерживаемые ОС: Windows и Windows x64, Linux, Linux x86, Linux x64, Linux on Power, Solaris, Mac OS X. Поддерживаемые ОС: Windows, Linux (серверы POWER и x86), Mac OS X и Solaris x64. Рекомендуется: для небольших ЛПУ, ограниченных в финансовых возможностях и не нуждающихся в тех.поддержке со стороны IBM кол-вом пользователей до 50-70. [2]

IBM DB2 Express — C FTL (Fixed Term License)

Первый коммерческий вариант. Полностью аналогичный предыдущему продукт, но с подпиской на техническую поддержку 12 месяцев IBM 24×7 + поддержка репликации + поддержка кластеров из 2 серверов + выпуск FixPack и поддержка нескольких версий. Тех. ограничения: используется максимум 2 ядра и 1 процессор, 2 Гб ОЗУ. Поддерживаемые ОС: Windows, Linux (серверы POWER и x86) и Solaris x64. Рекомендуется: для небольших и средних ЛПУ, ограниченных в финансовых возможностях, но нуждающихся в тех.поддержке со стороны IBM кол-вом пользователей до 50-150. [2]

IBM DB2 Express Edition

Начальная версия IBM DB2 с технической поддержкой на 12 месяцев. Тех. ограничения: до 4 ядер (процессоры Intel) и до 4 Гб ОЗУ. Можно использовать только на 2-х процессорных 2-х ядерных серверах (для Intel) или слабее. Поддерживаемые ОС: Windows, Linux (серверы POWER и x86), AIX, Solaris (SPARC и x64), HP-UX (только IA-64) Рекомендуется: для небольших и средних ЛПУ, нуждающихся в тех.поддержке со стороны IBM кол-вом пользователей до 70-200.

IBM DB2 Workgroup Server Edition

Server Edition Представляет собой сервер данных DB2, который предоставляет те же функции, что и DB2 Express, но рассчитан на более высокие требования к рабочей нагрузке, которые требуют больше памяти, вычислительной мощности, большей степени высокой готовности без дополнительной настройки, и имеет более широкий спектр опций развертывания в рамках конкретной платформы. Тех. ограничения: Можно использовать различные высокопроизводительные мультипроцессорные серверы (включая Power, Itanium, Ultra SPARC и т.д.), но до 16 Гб ОЗУ на все процессоры. Поддерживаемые ОС: Windows, Linux (серверы POWER, System z и x86), AIX, Solaris (SPARC и x64), HP-UX (только IA-64). Рекомендуется: для средних и больших ЛПУ, нуждающихся в тех.поддержке со стороны IBM кол-вом пользователей от 100. [2]

IBM DB2 Enterprise Server Edition

Для самых крупных учреждений и наиболее высокопроизводительных вычислений. Поддерживаемые ОС: Windows, Linux (POWER, System z и System x), AIX, Solaris (SPARC и x64) и серверы HP-UX (IA-64 только начиная с DB2 9.5). Рекомендуется: для больших ЛПУ и сети нескольких ЛПУ, нуждающихся в тех.поддержке со стороны IBM кол-вом пользователей от 1000. [2]

1.12 СУБД DB2 нового поколения

Корпорация IBM представила сервер баз данных нового поколения DB2 9 под кодовым названием Viper, воплотивший самые значительные достижения в развитии технологий баз данных за более чем двадцать лет.

Выпуск DB2 9 знаменует завершение пятилетнего проекта IBM, превратившего традиционные, статичные технологии баз данных в концепцию интерактивного, динамичного сервера баз данных, предоставляющего клиентам более совершенные возможности для управления всеми типами информации, такими как документы, аудиофайлы и видеофайлы, изображения, Web-страницы и XML-транзакции с цифровыми подписями.

Читайте также:  Надежность, эргономика и качество АСОИУ

Новый сервер баз данных IBM впервые в отрасли позволяет обеспечить беспрепятственное, параллельное движение реляционных и XML-данных, вне зависимости от формата, платформы и размещения.

Более 750 разработчиков ПО из восьми стран внесли вклад в создание СУБД Viper, которая разработана и настроена с ориентацией на управление информацией в средах SOA.

В СУБД DB2 9 реализованы три значительных технологических достижения — запатентованная технология pureXML, революционная технология сжатия данных Venom и передовые средства автономного управления данными. Подобное сочетание новых для отрасли функциональных возможностей, дополненное усовершенствованиями в области обеспечения безопасности и аварийного восстановления, позволит ускорить выполнение информационных запросов и предоставит клиентам неограниченный доступ к информации. Кроме того, новая версия DB2 обеспечивает доступ к информации, хранящейся в обычных базах данных Oracle и MySQL, поставщики которых не предлагают аналогичной возможности.

IBM впервые выпускает сразу три редакции DB2 — для корпоративных клиентов, для компаний малого и среднего бизнеса (DB2 Express) и для разработчиков (DB2 Express-C).

«DB2 Viper обещает изменить конкурентную ситуацию в отрасли баз данных, — говорит Амбудж Гойал (Ambuj Goyal), генеральный менеджер подразделения IBM Information Management. — Мы открываем новую эру технологий серверов баз данных, которые укрепят наши инвестиции и инициативы, направленные на предоставление нашим клиентам возможности расширять бизнес, эффективно используя информацию по требованию».

Клиенты и партнеры, осуществлявшие предварительное тестирование и оценку СУБД DB2 9, предоставили чрезвычайно позитивные отзывы. Zurich Insurance, N.A., ведущий поставщик услуг страхования коммерческой собственности от несчастных случаев, обслуживающий крупные корпорации и клиентов из сферы малого и среднего бизнеса, решил использовать DB2 9, чтобы получить доступ к новой технологии pureXML.

«Отрасль страхования сталкивается с растущими потребностями в хранении огромных массивов документации в формате XML.

Технология pureXML обеспечивает беспрецедентный уровень гибкости при определении пользовательских функций и выполнении внешних операций с XML-данными, хранящимися в старых базах данных, — утверждает Джеймс Сербер (James Surber), старший администратор баз данных компании Zurich Insurance N.A. — Возможность хранить различные версии одних и тех же XML-документов с различными структурами в одной таблице позволит нам не затрачивать часы на выполняемые вручную операции по выгрузке и повторной загрузке всей таблицы при изменении нашей XML-структуры».[5]

2. Практическая часть

2.1 Постановка задачи

Даны два массива: A, состоящий из n элементов, и B, состоящий из m элементов. Определить содержится ли наибольший элемент массива A в массиве B.

2.2 Алгоритм решения

Схема алгоритма решения представлена на чертеже 02.16.011.001

В блоке 1 осуществляется ввод размера матриц А и В.

Блоки 2-11 служат для ввода матрицы с клавиатуры.

Блоки 12-23 служат для вывода на экран исходных массивов в матричной форме.

Блоки 24-30 служат для нахождения максимального элемента массива А.

Блоки 31-37 служат для нахождения максимального элемента массива А в массиве В.

Блоки 38-40 являются окончательным решение задачи и показывают, находится ли максимальный элемент массива А в массиве В.

2.3 Программная реализация

Листинг программного модуля для решения поставленной задачи на языке программирования Си приведен в приложении.

Первоначально необходимо объявить все переменные:

int A[100], B[100], n, m, i, k, max, x;

где А и В — целочисленные массивы состоящие из 100 строк; n и m — переменные, которые хранят количество строк матриц; i и k — переменные цикла; max — целочисленная переменная для хранения максимального элемента массива А; x — целочисленная переменная для нахождения максимального элемента массива А в массиве В.

Далее необходимо ввести размерность массивов А и В, т.е. количество строк:

do {printf («Vvedite kol-vo elementov massiva A:n»);

scanf_s («%d», &n);

printf («Vvedite kol-vo elementov massiva B:n»);

scanf_s («%d», &m);}

while (n>=100, m>=100);

Ввод размерности осуществляется с использование цикла do…while, который позволяет проверить корректность введенных данных. Т.к. память под массив выделяется статически, то количество строк матриц не должно превышать 100, что задано при объявлении массивов. В случае ошибочного ввода повторно появиться запрос ввода размерности массива.

Ввод элементов массивов осуществляется внутри вложенных циклов for: в первом цикле изменяется i — номер строки от 0 до n-1, а во втором k — номер строки от 0 до m-1. При выполнении каждой итерации вложенных циклов выводится запрос для ввода элементов массивов и с клавиатуры вводятся элементы массивов.

for (i=0;i<n;i++)

{printf («Vvedite elementi massiva A [%d]: «,i+1);

scanf_s («%d», & A[i]);}

for (k=0;k<m;k++)

{printf («Vvedite elementi massiva B [%d]: «,k+1);

scanf_s («%d», & B[k]);}

Далее на экран выводятся исходные массивы в матричной форме:

printf («Massiv A: «);

for (i=0;i<n;i++)

printf («%d «, A[i]);

printf («n»);

printf («Massiv B: «);

for (k=0;k<m;k++)

printf («%d «, B[k]);

printf («n»);

Далее необходимо присвоить переменой max начальное значение равное нулевому элементу массива и перебирая элементы строки массива А находим максимальный элемент с помощью оператора if. Присваиваем максимальному элементу массива А значение max. На экран выводится максимальный элемент массива А.

max=A[0];

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

if (max<A[i]) max=A[i];

printf («Maksimal’nij element massiva A: %d n»,max);

Далее необходимо присвоить переменой x начальное значение равное 0 и перебирая элементы строки массива B находим максимальный элемент массива А с помощью оператора if. Если максимальный элемент массива А находится в массиве В, на экран выводится подтверждение. Если в массиве В нет максимального элемента массива А, то и об этом выводится подтверждение.

x=0;

for (k=0;k<m;k++)

if (B[k]==max) x=1;

if (x==1) printf («Maksimal’nij element massiva A nahoditsia v massive Bn»);

else printf («Maksimal’nij element massiva A ne nahoditsia v massive Bn»);

И далее оператором getch по нажатию клавиши закрываем приложение: getch().

2.4 Тестирование программы

Тестовый пример работы программы, который иллюстрирует неправильный ввод размерности массивов, приведен на рисунке 2.1 для данныйх n=105 и m=3.

Рисунок 2.1 — Пример работы программы

Тестовый пример работы программы, приведенный на рисунке 2.2, иллюстрирует работу программы для следующих матриц:

А

3

15

45

В

15

45

2

Тестовый пример работы программы, приведенный на рисунке 2.3, иллюстрирует работу программы для следующих матриц:

А

13

-1

4

В

14

2

Рисунок 2.2 — Пример работы программы

Рисунок 2.3 — Пример работы программы

Заключение

В результате прохождения общеинженерной практики была изучена СУБД IBM DB2, которая имеет эффективную и надежную платформу, для построения приложений. В том числе и продуктов 1c. Эта СУБД от компании IBM, может интегрироваться и с другими средствами, работающими на разных аппаратно программных платформах (Linux и Windows) — Microsoft Visual Studio, Microsoft Visual Basic, Microsoft Visual C++ и т.п.

В практической части отчета были разработаны алгоритм и программа для нахождения максимального элемента массива А в массиве В. Результаты тестирования программы показали, что она работает для целых как положительных так и отрицательных чисел. Задание практики выполнено полностью.

Список использованных источников

1. ГОСТ 19.701-90 — Единая система программной документации — Схемы алгоритмов, программ, данных и систем — Условные обозначения и правила выполнения

2. Дейт К. Руководство по реляционной СУБД DB2. — М.: Финансы и статистика, 1988. — 320 с.

3. Когаловский М.Р. «Энциклопедия технологий баз данных» / М.Р. Когаловский. — М.: Финансы и статистика, 2002. — 800 с.

4. Дейтел Х.М. Как программировать на С / Х.М. Дейтел, П.Дж. Дейтел. — М.: Бином,2006. — 1037 с.

5. Рауль Ф. Чон. Начало работы с DB2 Express 9.7. Москва, 2010.-269 с.

Приложение

Листинг программного модуля

#include «stdafx.h»

#include «stdio.h»

#include «conio.h»

#include «math.h»

int _tmain(int argc, _TCHAR* argv[])

{

int A[100], B[100], n,m,i,k,max,x;

do {printf («Vvedite kol-vo elementov massiva A:n»);

scanf_s («%d», &n);

printf («Vvedite kol-vo elementov massiva B:n»);

scanf_s («%d», &m);}

while (n>=100, m>=100);

for (i=0;i<n;i++)

{printf («Vvedite elementi massiva A [%d]: «,i+1);

scanf_s («%d», & A[i]);}

for (k=0;k<m;k++)

{printf («Vvedite elementi massiva B [%d]: «,k+1);

scanf_s («%d», & B[k]);}

printf («Massiv A: «);

for (i=0;i<n;i++)

printf («%d «, A[i]);

printf («n»);

printf («Massiv B: «);

for (k=0;k<m;k++)

printf («%d «, B[k]);

printf («n»);

max=A[0];

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

if (max<A[i]) max=A[i];

printf («Maksimal’nij element massiva A: %d n»,max);

x=0;

for (k=0;k<m;k++)

if (B[k]==max) x=1;

if (x==1) printf («Maksimal’nij element massiva A nahoditsia v massive Bn»);

else printf («Maksimal’nij element massiva A ne nahoditsia v massive Bn»);

getch();

return 0;

}

база данные копирование алгоритм

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...