ftd
.pdf
дальнейшего обучения.
Язык алгебры позволяет формализовать функциональные зависимости между величинами. Так, Ньютон формализовал гелиоцентрическую систему мира, открыв законы механики и закон всемирного тяготения и записав их в виде алгебраических функциональных зависимостей.
Язык алгебры логики (алгебры высказываний) позволяет также строить формальные логические модели. С помощью алгебры высказываний можно формализовать (записать в виде логических выражений) простые и сложные высказывания, выраженные на естественном языке. Например, построение логических моделей позволяет решать логические задачи, строить логические модели устройств компьютера (сумматора, триггера) разработать символьный язык.
Формализация - это процесс построения информационных моделей с помощью формальных языков.
В процессе познания окружающего мира человечество постоянно использует моделирование и формализацию. При изучении нового объекта сначала обычно строится его описательная информационная модель на естественном языке, затем она формализуется, то есть выражается с использованием формальных языков (математики, логики и др.).
Визуализация формальных моделей. В процессе исследования формальных моделей часто производится их визуализация. Для визуализации алгоритмов используются блок-схемы: пространственных соотношений между объектами — чертежи, моделей электрических цепей — электрические схемы, логических моделей устройств — логические схемы и так далее.
Так при визуализации формальных физических моделей с помощью анимации может отображаться динамика процесса, производиться построение графиков изменения физических величин и так далее. Визуальные модели обычно являются интерактивными, то есть исследователь может менять начальные условия и параметры протекания процессов и наблюдать изменения
вповедении модели.
Вкачестве примера можно рассмотреть модель, которая демонстрирует свободные колебания математического маятника. С помощью анимации показываются движение тела и действующие силы, строятся графики зависимости от времени угловой координаты или скорости, диаграммы потенциальной и кинетической энергий. Исследователь может изменять длину
нити l, угол начального отклонения маятника φо трения b.
3.3. МАТЕРИАЛЬНЫЕ И ИНФОРМАЦИОННЫЕ МОДЕЛИ
Приведенные примеры моделей можно разделить на две группы: одна группа моделей отражает как бы идею имитации некой действительности, натуры, другая – напротив, отражается информация об объекте или явлении в виде чертежей, рисунков и т.д.
Первая группа моделей составляет материальные (предметные) модели, вторая – информационные (теоретические) модели. К материальным моделям относятся физические модели, (например, физическое моделирование – исследование плотин, шлюзов на физически подобных моделях).
Физическое моделирование применяется тогда, когда процессы в системе не могут быть описаны математически, биологические модели (воспроизводят на лабораторных животных определенные состояния заболевания: искусственно вызванные генетические нарушения, инфекционные процессы, злокачественные образования и т.д.), моделирование энергосистем используется при изучении режимов энерго систем, моделирование химических реакторов, модели в языкознании используются в структурной лингвистике при описании языка, спортивное моделирование (постройка действующих и стендовых моделей летательных аппаратов, автомобилей, судов и др.) и т. д.
Примерами информационных моделей могут служить математические описания некоторых процессов и явлений.
Математическая модель представляет собой математические закономерности, с помощью которых описаны основные характеристики моделируемого объекта, процесса или явления.
Например, для изучения прочностных характеристик автомобиля составляются математические формулы расчетов - это математическая модель. Далее эти формулы записываются в компьютер, и получается компьютерная модель
Например, физическая модель автомобиля - это автомобиль в 1/20 натуральной величины, изготавливается для изучения внешнего вида автомобиля, аэродинамических параметров; а список всех составных деталей автомобиля с указанием материалов, из которых детали изготовлены, - информационная модель автомобиля, необходимая для заказа материалов для изготовления партии.
Информационная модель - это модель объекта или явления, в которой представлены информационные аспекты моделируемого объекта, процесса или явления
Рассмотрим один из методов построения математической модели на примере задачи из курса физики.
Задача. Тело движется прямолинейно с ускорением а м/с2 и начальной скоростью v м/с. Требуется определить, какой путь пройдет тело за Т секунд. Мы знаем ответ к этой задаче: S = vT + aT/2
Приведенное соотношение неоднократно проверялось в различных физических экспериментах, в том числе и на лабораторных работах по физике. Но мы хорошо знаем, всякий физический эксперимент содержит ошибки измерений. Поэтому совершенно точно формулу проверить экспериментально невозможно. А чтобы вывести ее теоретически, на уроках физики, по сути дела, строилась математическая модель (хотя слово «модель» конечно не употреблялось). Нетрудно убедиться в том, что эта модель основана на следующем допущении:
Если интервал времени разбит на очень большое количество равных маленьких промежутков, то мы не сильно ошибемся, предполагая, что скорость тела на каждом из них постоянна (т.е. движение равномерно) и меняется «мгновенно» в конце каждого промежутка. Принято считать, что при неограниченном увеличении числа отрезков разбиения мы получим величину перемещения с любой точностью. Теперь наша цель – получить математическое соотношение, связывающие исходные данные и результат. Оно будет зависеть от того, на сколько частей мы разобьем интервал времени.
3.4. ОСНОВНЫЕ ТИПЫ ИНФОРМАЦИОННЫХ МОДЕЛЕЙ
Информационной моделью в информатике называют набор величин, содержащий необходимую информацию об исследуемых объектах и процессах.
Информационная модель содержит не всю информацию о моделируемых явлениях, а только ту ее часть, которая нужна для решения рассматриваемой задачи. Если круг решаемых задач расширяется, то приходится расширять и модель, включать в нее больше информации. Даже, когда круг решаемых задач фиксирован, информационную модель можно строить разными способами.
Информационные модели отражают различные типы систем объектов, в которых реализуются разнообразные структуры взаимодействия и взаимосвязи между элементами системы. Несмотря на разнообразие структур используют в основном три типа информационных моделей:
•табличные,
•иерархические,
•сетевые.
Примеры информационных моделей. 1. Модель кинозала.
Пусть в кинозале 28 рядов по 20 мест, а цена билета зависит только от номера ряда. Предположим, мы собираемся с помощью ПК организовать предварительную продажу билетов на один-единственный сеанс. Какая информация должна войти в информационную модель? Как организовать эту информацию?
Во-первых, нам понадобится информация о том, на какие места в зале
билеты уже проданы, а на какие еще нет, т.е. информация о проданных местах. При ручной продаже перед кассиром обычно лежит таблица, в которой изображены все места, и по мере продажи билетов кассир делает отметки – ставит крестики – в этой таблице. Такая информационная модель называется
табличной.
2. Подсчитать стоимость уже проданных билетов не удастся, пока мы не включим в модель информацию о ценах на билеты. Поскольку, по предположению, все места в ряду имеют одинаковую цену, эту информацию можно организовать в виде иерархии (дерева): (рис. 3.2)
Теперь в модели уже будет информация для подсчета выручки. Это -
иерархическая модель.
Иерархический принцип построения модели – принцип, при котором функции управления распределяются между соподчиненными частями системы. Например, модель школы (директор – завучи – учителя, школа – классы – ученики).
|
Цена билета |
|
2 тыс. руб. |
2,5 тыс. руб. |
3 тыс. руб. |
↓ |
↓ |
↓ |
Ряды от 1 до 6 |
Ряды от 21 до 28 |
Ряды от 7 до 20 |
Рис. 3.2. Иерархическая модель зрительного зала
При построении модели всегда есть возможность свободного выбора. Модель кинозала можно организовать и по-другому. Можно было бы все места пронумеровать подряд (от 1 до 560=20х28) и в таблицу ввести стоимость каждого места. Но такой подход доставил бы массу неприятностей: неудобство подсчета, нет в зале сквозной нумерации и т.д.
Описанная модель кинозала весьма схематична – она рассчитана на один сеанс, не учитывает возможности бронирования мест, продажи абонементов, скидок в цене пенсионерам и т.д. В модели также не учитывается количество проходов в зале, количество входов и выходов и т.д. В одних случаях эта информация важна, в других нет. Модель строится с учетом конкретной задачи.
3. Информационная модель транспортной сети. Пусть в стране 100 городов и между некоторыми из них летают самолеты. Авиатрассы проложены так, что из любого города можно перелететь в любой другой (возможно с пересадками). В каждом городе один аэропорт, поэтому нет рейсов из города в тот же самый город. Информационная модель должна быть построена таким образом, чтобы получить ответ на вопрос: как перелететь из одного города в другой, каково минимальное число пересадок и какова минимальная длина пути при таком полете. Строится сетевая модель – рисунок (план) сети.
3.5.ИСПОЛЬЗОВАНИЕ КОМПЬЮТЕРА ДЛЯ ИССЛЕДОВАНИЯ ИНФОРМАЦИОННЫХ МОДЕЛЕЙ
Использование компьютера для исследования различных объектов и систем позволяет изучить их изменения в зависимости от значения тех или иных
параметров. Процесс разработки моделей и их исследования на компьютере можно разделить на несколько основных этапов.
На первом этапе исследования объекта или процесса обычно строится описательная информационная модель. Такая модель выделяет существенные с точки зрения целей проводимого исследования параметры объекта, а несущественными параметрами пренебрегает (постановка задачи).
На втором этапе создается формализованная модель, то есть описательная информационная модель записывается с помощью какого-либо формального языка. В такой модели с помощью формул, уравнений, неравенств и пр. фиксируются формальные соотношения между начальными и конечными значениями свойств объектов, а также накладываются ограничения на допустимые значения этих свойств (формализация).
Однако далеко не всегда удается найти формулы, явно выражающие искомые величины через исходные данные. В таких случаях используются приближенные математические методы, позволяющие получать результаты с заданной точностью.
На третьем этапе необходимо формализованную информационную модель преобразовать в компьютерную модель, то есть выразить ее на понятном для компьютера языке. Существуют два принципиально различных пути построения компьютерной модели:
1)построение алгоритма решения задачи и его кодирование на одном из языков программирования (алгоритмизация);
2)построение компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД, пр.).
В процессе создания компьютерной модели полезно разработать удобный графический интерфейс, который позволит визуализировать формальную модель, а также реализовать интерактивный диалог человека с компьютером на этапе исследования модели.
Четвертый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на одном из языков программирования, ее нужно запустить на выполнение и получить результаты (программирование).
Если компьютерная модель исследуется в приложении, например в электронных таблицах, можно провести сортировку или поиск данных, построить диаграмму или график и так далее.
Пятый этап состоит в анализе полученных результатов и корректировке исследуемой модели. В случае различия результатов, полученных при исследовании информационной модели, с измеряемыми параметрами реальных объектов можно сделать вывод, что на предыдущих этапах построения модели были допущены ошибки или неточности (анализ результатов).
Например, при построении описательной качественной модели могут быть неправильно отобраны существенные свойства объектов, в процессе формализации могут быть допущены ошибки в формулах и так далее. В этих случаях необходимо провести корректировку модели, причем уточнение модели может проводиться многократно, пока анализ результатов не покажет их соответствие изучаемому объекту.
Моделирование - творческий процесс, и поэтому заключать его в
формальные рамки очень трудно.
Обобщенную схему математического моделирования можно представить в следующем виде. (рис. 3.3)
Постановк |
|
Математиче |
|
Алгоритми |
|
|
|
Расчеты и |
|
|
|
Программиро- |
|
||||
а задачи |
|
ское |
|
зация |
|
вание |
|
анализ |
|
|
моделирова |
|
|
|
|
|
результатов |
|
|
|
|
|
|
|||
|
|
ние |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.3. Обобщенная схема математического моделирования
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1.Что такое модель и моделирование?
2.Назовите типы моделей.
3.Чем материальная модель отличается от теоретической?
4.Для чего нужна формализация?
ГЛОССАРИЙ
Информационная модель - это модель объекта или явления, в которой представлены
информационные аспекты моделируемого объекта, процесса или явления. Математическая модель представляет собой математические закономерности, с помощью которых описаны основные характеристики моделируемого объекта,
процесса или явления.
Математическое моделирование – определение свойств и характеристик
рассматриваемого явления, процесса или состояния посредством решения с помощью ЭВМ системы неких уравнений – математической модели.
Моделирование – исследование объекта или явления путем создания его модели и
оперирования ею с целью получения полезной информации.
Создание модели - это итерационный процесс, при котором модель сравнивается с
оригиналом и уточняется.
Формализация - это процесс построения информационных моделей с помощью формальных языков.
4 |
АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ |
|
|
ГЛАВА |
4.1.Основные положения. |
|
4.2. Понятие алгоритма и их свойства. |
|
4.3. Способы записи алгоритмов. |
|
4.4. Основные алгоритмические конструкции |
|
|
|
Цель главы – сформировать представление об алгоритмах, их |
|
свойствах и построении |
ПОСЛЕ ИЗУЧЕНИЯ ГЛАВЫ ВЫ ДОЛЖНЫ ЗНАТЬ:
структуру основных алгоритмических конструкций и уметь использовать их для построения алгоритмов;
сущность алгоритма, его основных свойств, иллюстрировать их на конкретных примерах алгоритмов;
способы записи алгоритма; основные алгоритмические конструкции.
|
|
КЛЮЧЕВЫЕ ПОНЯТИЯ |
Алгоритм |
Алгоритмизация |
|
- |
Линейный, |
Программа |
- |
Ветвления, |
Программирование |
- |
Циклический, |
Программное обеспечение |
-Счетчик,
-Вспомогательный
4.1. ОСНОВНЫЕ ПОЛОЖЕНИЯ Возможности компьютера как технической основы системы обработки
данных связаны с используемым программным обеспечением (программами).
Программа – упорядоченная последовательность команд (инструкций) компьютера для решения задачи.
Программное обеспечение – совокупность программ обработки данных и необходимых для их эксплуатации документов.
Процесс создания программы можно представить как последовательность действий, изображенных на рис. 4.1.
Постановка |
|
|
|
|
|
|
|
|
Алгоритмизация |
|
|
Программирование |
|
|
|
|
|
|||
задачи |
|
|
решения задачи |
|
|
|
|
Рис. 4.1. |
Схема процесса создания программ |
||||
Постановка задачи связана с конкретизацией основных параметров ее реализации, определением источников и структурой входной и выходной информации, востребуемой пользователем.
Алгоритмизация – это процесс создания алгоритма решения задачи.
Алгоритм – система точно сформулированных правил, определяющая процесс преобразования допустимых исходных правил (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.
В алгоритме обязательно должны быть предусмотрены все ситуации, которые могут возникнуть в процессе решения комплекса задач.
Программирование – теоретическая и практическая деятельность, связанная с созданием программы.
Программа – результат интеллектуального труда, для которого характерно творчество, индивидуальность разработчиков. Вместе с тем программирование предполагает и рутинные работы, которые могут и должны иметь строгий регламент выполнения и соответствовать стандартам.
Программирование базируется на комплексе научных дисциплин, направленных на исследование, разработку и применение методов и средств разработки программ (специального инструментария создания программы).
Поэтому раздел программирования изучается в рамках специальной дисциплины, (например, Информатика и программирование) и не входит в состав данного учебника.
4.2. ПОНЯТИЕ АЛГОРИТМА. СВОЙСТВА АЛГОРИТМА "Прежде чем что-нибудь делать, надо составить план",- говорила Алиса из
сказки Льюиса Кэрролла. Мы с вами часто так поступаем: строим планы на каждом шагу.
Если внимательно выполнять задания, то можно заметить, что для каждого шага нашего плана можно предложить свой, более подробный план. Последовательность действий, которые требуется выполнить, чтобы получить нужный результат, и называют алгоритмом.
Само слово алгоритм происходит от имени арабского математика аль Хорезми. Его полное имя было Абу Абдуллах (или Абу Джафар) Мухаммад ибн
Муса аль Хорезми. Он использовал индийскую позиционную систему счисления с нулем и в своих трудах сформулировал правила четырех арифметических действий над многозначными числами. Эти действия и стали впоследствии называть алгоритмами.
Составляя алгоритм для какого-нибудь автоматического устройства, мы должны принимать во внимание следующее:
Первое - это кто исполнитель, тот, кто будет работать по нашему алгоритму. Какие действия он может выполнять, какие команды и в каком виде мы можем ему отдавать. Исполнителем, в принципе, может быть кто или что угодно: человек, компьютер, станок с ЧПУ, автоматический луноход и т.д.
Второе - это как скомбинировать команды, чтобы исполнитель сделал то, что от него требуется. Это самый трудный этап в составлении алгоритма, использовать набор команд, понятных исполнителю, какие действия и в каком порядке выполнять.
Третье - это форма записи алгоритма. Человек понимает смысл сказанной фразы по множеству неуловимых оттенков и интонаций. Одну и ту же мысль мы можем выразить различными словами. Компьютер же понимает алгоритм буквально (Хозяин, тебе дрова не нужны?), для него каждая конкретная команда всегда имеет один и тот же смысл. Поэтому алгоритмы для компьютеров записываются по строгим, заранее определенным правилам, чтобы их нельзя было истолковать по-разному.
Кстати и люди тоже нуждаются в правилах для записи своих мыслей, слов и речей. Представим себе книгу хотя бы без знаков препинания (вспомним "Казнить нельзя помиловать). Все слова понятны, а смысл совершенно не ясен.
Теперь дают такое определение:
Алгоритм – это набор элементарных операций, или строгая и четкая последовательность действий, выполнение которых (человеком или машиной) приводит к определенному результату.
Основные свойства алгоритма
1.Дискретность означает, что процесс решения задачи, определяемый алгоритмом, разделен на элементарные действия (шаги) и, соответственно представляющие последовательность указаний, команд, определяющих порядок выполнения шагов процесса.
2.Определенность означает, что каждая команда алгоритма (предписание, выдаваемое на каждом шагу) должна быть понятна исполнителю, не оставлять места для ее неоднозначного толкования и неопределенного исполнения.
3.Результативность означает то, что алгоритм всегда приводит к результату через конечное, возможно, очень большое число шагов.
4.Массовость заключается в том, что каждый алгоритм, разработанный для решения некоторой задачи, должен быть применим для решения задач этого типа при всех допустимых значениях исходных данных.
