Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика.Методичка.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.5 Mб
Скачать

1.4.4. Информационная модель объекта

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

Например, информационный объект «студент» имеет реквизитный состав: номер (номер зачетной книжки – ключевой реквизит), фамилия, имя, отчество, дата рождения, код места обучения.

Другой информационный объект – «преподаватель» – имеет следующий реквизитный состав: код (ключевой реквизит), кафедра, фамилия, имя, отчество, ученая степень, ученое звание, должность.

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

В частности, связь «многие ко многим» предполагает соответствие одному экземпляру информационного объекта Х любого количества экземпляров объекта Y, и наоборот.

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

Информационная модель – это связанная совокупность информационных объектов, описывающих информационные процессы в исследуемой предметной области. Информационные модели делятся на универсальные и специализированные. Универсальные предназначены для использования в различных предметных областях, к ним относятся: базы данных и системы управления данных, автоматизированные системы управления, базы знаний, экспертные системы. Специализированные модели предназначены для описания конкретных систем. Рассмотрим некоторые универсальные модели.

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

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

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

Искусственный интеллект – это научное направление, связанное с машинным моделированием человеческих интеллектуальных функций. Это направление делится, в свою очередь, ещё на два: нейрокибернетику и кибернетику «черного ящика». Нейроны – это связанные друг с другом нервные клетки человеческого мозга. Нейрокибернетика занимается созданием элементов, аналогичных нейронам и их объединением в функционирующие системы, которые называются нейросетями. Основная область применения нейрокомпьютеров – распознавание образов. Кибернетика «черного ящика» использует другие принципы, структура модели не главное, важна ее реакция на заданные входные данные, на выходе модель должна реагировать подобно человеческому мозгу.

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

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

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

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

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

1.5. Алгоритмизация и программирование. Технологии

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

уровня

1.5.1. Понятия алгоритма и его свойств. Блок-схема

алгоритма. Основные алгоритмические конструкции.

Базовые алгоритмы

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

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

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

Можно определить алгоритм как понятное и точное предписание исполнителю совершать последовательность действий, направленных на достижение поставленной цели.

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

Блок-схема — это ориентированный граф, указывающий порядок исполнения команд алгоритма.

Существуют четыре блок-схемы (рис. 5), имеющих особое значение для практики алгоритмизации: композиция или следование; альтернатива или ветвление; итерация или цикл. Обозначения F1 и F2, используемые на рис. 5, представляют собой в общем случае некоторые команды для соответствующего исполнителя, Р — это условие, в зависимости от истинности (0) или ложности (1) которого управление передается по одной из двух ветвей. Можно доказать, что для со составления любого алгоритма достаточно представленных ниже четырех блок-схем, если пользоваться их последовательностями и/или суперпозициями.

Рис. 5. Основные алгоритмические структуры:

а — композиция или следование; б — альтернатива или ветвление;

в — итерация или цикл с предусловием; г — итерация или цикл с постусловием

Алгоритм должен быть составлен таким образом, чтобы исполнитель, в расчете на которого он создан, мог однозначно и точно следовать его командам и эффективно получать определенный результат. Это накладывает на записи алгоритмов ряд обязательных требований:

  1. одно из основных состоит в том, что описываемый процесс должен быть разбит на последовательность отдельных шагов. Рассмотренное свойство алгоритмов называют дискретностью;

  2. очевидно, что составляя запись алгоритма для определенного исполнителя, можно использовать лишь те команды, которые имеются в системе команд исполнителя (СКИ). Это свойство алгоритмов называют понятностью;

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

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

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

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

Как и каждый язык, алгоритмический имеет свой словарь. Его основу составляют слова, употребляемые для записи команд, входящих в систему команд исполнителя того или иного алгоритма. Такие команды называют простыми. В алгоритмическом языке используют слова, смысл и способ употребления которых задан раз и навсегда, их называют служебными. Использование служебных слов делает запись алгоритма более наглядной, а форму представления различных алгоритмов – единообразной.

Алгоритм, записанный на алгоритмическом языке, должен иметь название, которое желательно выбирать так, чтобы было ясно, решение какой именно задачи описывает данный алгоритм. Для выделения названия алгоритма перед ним записывают служебное слово АЛГ (АЛГоритм). За названием алгоритма (обычно с новой строки) записывают его команды. Для указания начала и конца алгоритма его команды заключают в пару служебных слов нач (НАЧало) и кон (КОНец). Команды записывают последовательно.

Последовательность записи алгоритма:

АЛГ название алгоритма

НАЧ

серия команд алгоритма

КОН

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

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

ЕСЛИ условие ЕСЛИ условие

ТО серия1 ТО серия

ИНАЧЕ серия2 ВСЕ

ВСЕ

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

ПОКА условие НЦ

НЦ серия

серия ДО условие

КЦ КЦ