Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика.pdf
Скачиваний:
305
Добавлен:
02.03.2016
Размер:
600.39 Кб
Скачать

Обобщенная схема компьютерного математического моделирования изображена на рис. 6.

Постановка

 

Математическое

 

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

 

Программирование

 

задачи

 

 

моделирование

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Исполнение

 

 

Анализ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программы

 

 

результатов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 6. Обобщенная схема компьютерного математического моделирования

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

4.3. База данных как пример информационной модели

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

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

Наиболее распространенными являются три разновидности структуры данных: иерархическая, сетевая и табличная. Соответственно по признаку структуры базы данных делятся на иерархические БД, сетевые БД и реляционные БД.

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

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

Реляционные БД используют табличную модель данных. Основной информационной единицей реляционной базы данных является таблица. Наиболее распространенными являются реляционные БД.

Ниже графически представлены различные модели данных (рис. 7).

36

Иерархическая

Сетевая

Реляционная

 

Рис. 7. Модели представления данных

 

Вопросы для самопроверки

1.Как классифицируются модели?

2.Что представляют собой информационные модели?

3.Каковы этапы компьютерного моделирования?

4.Что представляет собой сетевая модель представления данных?

5.Что представляет собой иерархическая модель представления данных?

6.Что представляет собой реляционная модель представления данных?

5. Алгоритмизация и программирование 5.1. Понятие алгоритм, свойства алгоритма

Понятие алгоритма относится к фундаментальным понятиям информатики, оно возникло задолго до появления ЭВМ и стало одним из основных понятий современной науки.

Алгоритм — это понятное и точное предписание (указание) исполнителю совершить определенную последовательность действий для достижения указанной цели или решения поставленной задачи.

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

При разработке алгоритма обычно подразумевается, что он предназначен для некоторого исполнителя. Под исполнителем алгоритма подразумевается автоматическое устройство (робот, ЭВМ, станок с числовым программным управлением и т.д.) или человек, способные выполнить набор команд.

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

Применительно к ЭВМ алгоритм определяет вычислительный процесс, начинающийся с обработки некоторой совокупности исходных данных и направленный на получение результата, определяемого этими исходными данными. Для вычислительного процесса в соответствии с ГОСТ 19.004–80: алго-

37

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

Алгоритм характеризуется следующими свойствами: дискретность, понятность, определенность (детерминированность), результативность, массовость.

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

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

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

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

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

5.2. Способы представления алгоритмов

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

словесный,

графический,

формализованный.

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

1.Если числа не равны, то перейти к пункту 2, иначе взять первое число в качестве ответа и закончить исполнение алгоритма.

2.Определить большее из двух чисел.

38

3.Заменить большее число на разность большего и меньшего чисел.

4.Перейти к пункту 1.

Команды такого алгоритма выполняются в естественной последовательности, если в самой команде нет указания на иной порядок. Форма записи команд при словесной записи алгоритма не формализуется. В командах, кроме слов, могут использоваться символы и формулы.

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

В таблице 1 приведены основные условные графические обозначения, применяемые при составлении схем алгоритмов (ГОСТ 19.003–80).

 

 

 

 

 

Таблица 1

Наименование

Обозначение

Функция

 

 

 

 

 

 

Блок выполнения

 

 

 

 

Выполнение операции или группы опера-

 

 

 

 

действия (про-

 

 

 

 

ций, изменяющих значение, форму пред-

цесс)

 

 

 

 

ставления или расположение данных

Логический блок

 

 

 

 

Выбор направления выполнения алгорит-

(решение)

 

 

 

 

ма в зависимости от некоторых условий

 

 

 

 

 

 

Модификация

 

 

 

 

Выполнение действий, изменяющих ко-

(заголовок цикла)

 

 

 

 

манды или группы команд

 

 

 

 

 

 

Предопреде-лен-

 

 

 

 

Обращение к вспомогательному алгорит-

 

 

 

 

ный процесс

 

 

 

 

му

 

 

 

 

 

 

 

 

 

 

 

 

Блок ввода-выво-

 

 

 

 

Ввод или вывод данных

да

 

 

 

 

 

 

 

 

 

 

 

Пуск-останов

 

 

 

 

Начало или конец алгоритма

Линия потока

 

 

 

 

Указание на последовательность связей

 

 

 

 

 

между блоками

Комментарий

- - - - - - - - [

 

Пояснение элемента схемы

Соединитель

 

 

 

 

Указатель связи между прерванными ли-

 

 

 

 

 

ниями потока в пределах одной страницы

Межстраничный

 

 

 

 

Указание связи между частями схемы, рас-

соединитель

 

 

 

 

положенными на разных страницах

39

Блок-схема алгоритма нахождения наибольшего общего делителя двух чисел имеет следующий вид (рис. 8).

Блок-схемы алгоритмов обладают большей наглядностью, чем словесная

Начало

Ввод m,k

m<>k

+

+ m>k

m:=m–k

 

k:=k–m

nod:=m

Вывод nod

Конец

Рис. 8. Блок-схема алгоритма Евклида

запись алгоритма.

Формализованное описание алгоритма предназначено для исполнения на ЭВМ. Алгоритм записывается в виде программы на некотором языке программирования. В настоящее время существует несколько сотен языков программирования. Они рассчитаны на разные классы решаемых с помощью ЭВМ задач.

Ниже пример программы вычисления НОД, написанной на языке программирования Бейсик.

'Определение НОД DEFINT m,k,nod

INPUT " Введите m и k"; m, k DO WHILE m <> k

IF m > k THEN m = m – k ELSE k = k – m LOOP

nod = m

40