Одним из примеров Информационной модели данных могут служить БАЗЫ ДАННЫХ.



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

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

СУБД классифицируются по выполняемым функциямна:

• операционные;

• информационные;

по сфере примененияна:

• универсальные;

• проблемно-ориентированные;

по используемому языку общения на:

замкнутые, имеющие собственные самостоятельные языки общения пользователей с базами данных;

открытые (в которых используется язык программирования, расширенный операторами языка манипулирования данными);

по числу поддерживаемых уровней моделей данных на:

• одноуровневые системы;

• двухуровневые системы;

• трехуровневые системы;

по способу установления связей между данными:

• реляционные базы данных;

• иерархические базы данных;

• сетевые базы данных;

по способу организации хранения данных и выполнения функций обработки базы данных на:

• централизованные;

• распределенные.

Системы централизованных баз данных с сетевым доступом предполагают две основные архитектуры:

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

архитектура клиент-сервер. Каждый из подключенных к сети и составляющих эту архитектуру компьютеров играет свою роль: сервер владеет и распоряжается информационными ресурсами системы, клиент имеет возможность пользоваться ими.

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

Характеристиками СУБД являются:

• производительность;

• обеспечение целостности данных на уровне баз данных;

• обеспечение безопасности данных;

• возможность работы в многопользовательских средах;

• возможность импорта и экспорта данных;

• обеспечение доступа к данным с помощью языка SQL;

• возможность составления запросов;

• наличие инструментальных средств разработки прикладных программ.

Производительность СУБД оиенивается:

• временем выполнения запросов;

• скоростью поиска информации;

• временем импортирования баз данных из других форматов;

• скоростью выполнения операций (таких как обновление, вставка, удаление);

• временем генерации отчета и другими показателями.

Безопасность данных достигается:

• шифрованием прикладных программ;

• шифрованием данных;

• защитой данных паролем;

• ограничением доступа к базе данных.

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

Известны три типа моделей описания баз данных.

• иерархическая;

• сетевая;

• реляционная.

Основное различие между ними состоит в характере описания взаимосвязей и взаимодействия между объектами и атрибутами базы данных.

Иерархическая модель предполагает использование для описания базы данных древовидных структур, состоящих из определенного числа уровней. "Дерево" представляет собой иерархию элементов, называемых узлами. Под элементами понимаются список, совокупность, набор атрибутов, элементов, описывающих объекты.

Достоинством модели является:

• простота ее построения;

• легкость понимания сути принципа иерархии;

• наличие промышленных СУБД, поддерживающих данную модель.

Недостатком является сложность операций по включению в иерархию информации о новых объектах базы данных и удалению устаревшей информации.

Сетевая модель описывает элементарные данные и отношение между ними в виде ориентированной сети. Это такие отношения между объектами, когда каждый порожденный элемент имеет более одного исходного и может быть связан с любым другим элементом структуры.

Сетевые структуры могут быть многоуровневыми, иметь разную степень сложности.

База данных, описываемая сетевой моделью, состоит из облас тей (области из записей, а записи из полей). Недостатком сетевой модели является ее сложность, возможность потери независимости данных при реорганизации базы данных. При появлении новых пользователей, новых приложений и новых видов запросов происходит рост базы данных, что может привести к нарушению логического представления данных. Реляционная модель имеет в своей основе понятие "отношения", и ее данные формируются в виде таблиц. Отношение — это двумерная таблица, имеющая свое название, в которой минимальным объектом действий, сохраняющим ее структуру, является строка таблицы (кортеж), состоящая из ячеек таблицы — полей. Каждый столбец таблицы соответствует только одному компоненту этого отношения. С логической точки зрения реляционная база данных представляется множеством двумерных таблиц различного предметного наполнения.

В зависимости от содержания отношения реляционные базы дан ных бывают:

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

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

Достоинства реляционной модели:

• простота построения;

• доступность понимания;

• возможность эксплуатации базы данных без знания методов и способов ее построения;

• независимость данных;

• гибкость структуры и др.

Недостатки реляционной модели:

• низкая производительность по сравнению с иерархической и сетевой моделями;

• сложность программного обеспечения;

• избыточность элементов.

Компьютерное моделирование

Исторически случилось так, что первые работы по компьютерному моделированию, или, как говорили раньше, моделированию на ЭВМ, были связаны с физикой, где с помощью моделирования решался целый ряд задач гидравлики, фильтрации, теплопереноса и теплообмена, механики твердого тела и т. д. Моделирование, в основном, представляло собой решение сложных нелинейных задач математической физики с помощью итерационных схем, и по существу оно было моделированием математическим. Успехи математического моделирования в физике способствовали распространению его на задачи химии, электроэнергетики, биологии и некоторые другие дисциплины, причем схемы моделирования не слишком отличались друг от друга. Сложность решаемых на основе моделирования задач всегда ограничивалась лишь мощностью имеющихся ЭВМ.

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

В настоящее время под компьютерной моделью чаще всего понимают:

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

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

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

Компьютерная модель сложной системы должна, по возможности, отображать все основные факторы и взаимосвязи, характеризующие реальные ситуации, критерии и ограничения. Модель должна быть достаточно универсальной, чтобы по возможности описывать близкие по назначению объекты, и в то же время достаточно простой, чтобы позволить выполнить необходимые исследования с разумными затратами.

 

Лекция 10.      21. Алгоритм, его свойства. Способы записи алгоритма.

Понятие алгоритма

Термин «алгоритм» произошел от имени арабского математика Аль Хорезми (в IX в.), который описал общие правила (названные позднее алгоритмами) выполнения основных арифметических действий в десятичной системе исчисления. Эти алгоритмы изучаются в начальных разделах школьной математики. К числу алгоритмов школьного курса математики относятся: правила решения определенных видов уравнений или неравенств, правила построения различных геометрических фигур и т. п..  Понятие алгоритма используется сегодня не только в математике, но и во многих областях человеческой деятельности. Например, говорят об алгоритме управления производственным процессом, алгоритме управления полетом ракеты, алгоритме пользования бытовым прибором. Причем интуитивно под алгоритмом понимают некоторую систему правил, обладающих определенными свойствами.

Далее, изучая понятие алгоритма, мы будем предполагать, что его исполнителем является автоматическое устройство, а именно ЭВМ. Это накладывает на запись алгоритма целый ряд обязательных требований. Сформулируем эти требования в виде перечня свойств, которыми должны обладать алгоритмы, адресуемые к исполнению на ЭВМ.

1. Первым свойством алгоритма является дискретный, т. е. пошаговый характер определяемого им процесса. Возникающая в результате такого разбиения запись алгоритма представляет собой упорядоченную последовательность отдельных предписаний (правил, директив, команд), образующих прерывную (или говорят: дискретную) структуру алгоритма: только выполнив требования одного предписания можно приступить к исполнению следующего.

2. Исполнитель может выполнить алгоритм, если он ему понятен, т.е. записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Набор действий, которые могут быть выполнены исполнителем, называются системой команд исполнителя. Алгоритм не должен содержать описания действий, не входящих в систему команд исполнителя.

3. Алгоритмы, предназначенные для исполнения некоторым техническим устройством, не должен содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение и, если применять его повторно к одним и тем же исходным данным, то всегда должен получиться один и тот же результат; если при этом каждый раз сравнивать результаты, полученные после соответствующих шагов алгоритмического процесса, то они тоже должны быть одинаковыми. Это свойство определенности и однозначности - детерминированностиалгоритмов позволяет использовать в качестве исполнителя специальные машины-автоматы.

4. Основополагающим свойством алгоритма является его массовостьили применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений. Например, исходными данными в алгоритмах Аль Хорезми могут быть любые пары десятичных чисел. Конечно, его способ не всегда самый рациональный по сравнению с известными приемами быстрого счета. Но смысл массовости алгоритма состоит как раз в том, что он одинаково пригоден для всех случаев, требует лишь механического выполнения цепочки простых действий и при этом исполнителю нет нужды в затратах творческой энергии.

5. Цель выполнения алгоритма - получение определенного результата посредством выполнения указанных преобразований над исходными данными. В алгоритмах Аль Хорезми исходными данными являются два десятичных числа, результатом - также некоторое десятичное число. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам.

В математике известны вычислительные процедуры алгоритмического характера, не обладающие свойством конечности. Например, процедура вычисления числа p. Однако если мы введем условие завершения вида «закончить после получения n десятичных знаков числа p», то получим алгоритм вычисления n десятичных знаков числа p. На этом принципе построены многие вычислительные алгоритмы.

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

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

Алгоритмическая система

Понятие «алгоритмическая система» дает формальный ответ на вопрос, что должно быть известно, и доступно разработчикам алгоритмов. Алгоритмическая система - набор средств и понятий, позволяющих строить некоторое множество алгоритмов для решения определенного класса задач. Алгоритмическая система определяется наличием четырех составляющих ее частей:

1) множеством входных объектов или исходных данных, подлежащих обработке алгоритмами данной системы;

2) множеством выходных объектов или результатов выполнения алгоритмов данной системы;

3) системой команд исполнителя, т.е. набором тех действий, которые может выполнять исполнитель, и которое мы можем описывать в алгоритмах, что является ориентацией алгоритмической системы на конкретного исполнителя;

4) языком описания алгоритмов - языком исполнителя; язык, на котором описан алгоритм, должен быть понятен и не должен включать в свой состав указания на невозможные для исполнителя действия, а также обращения к входным или выходным объектам, не принадлежащих к множеству входных или выходных объектов данной алгоритмической системы.

Алгоритмизация

Алгоритмизация - процесс разработки и описания алгоритма решения какой-либо задачи.

Процесс разработки конкретного алгоритма, в соответствии с определением самого понятия «алгоритм», заключается в последовательном выполнении следующих пунктов:

1) разложение всего вычислительного процесса на отдельные шаги - возможные составные части алгоритма, что определяется внутренней логикой самого процесса и системой команд исполнителя.

2) установление взаимосвязей между отдельными шагами алгоритма и порядка их следования, приводящего от известных исходных данных к искомому результату.

3) полное и точное описание содержания каждого шага алгоритма на языке выбранной алгоритмической системы.

4) проверка составленного алгоритма на предмет: действительно ли он реализует выбранный метод и приводит к искомому результату.

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

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

1) множество допустимых исходных данных одного из них является множеством допустимых исходных данных и другого; из применимости одного алгоритма к каким-либо исходным данным следует применимость и другого алгоритма к этим данным;

2) применение этих алгоритмов к одним и тем же исходным данным дает одинаковые результаты.

Средства записи алгоритмов

Словесная запись алгоритмов


Дата добавления: 2022-01-22; просмотров: 23; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!