Алгоритмы циклической структуры Циклический алгоритм – это алгоритм, который предусматривает многократное повторение блока операторов, называемого телом цикла, но при разных значениях переменной счетчика.
Для организации цикла в существует оператор цикла: FOR...NEXT.
Его формат выглядит так:
FOR перем. счетчика = нач. ТО кон. [STEP шаг]
[Блок операторов]
NEXT перем. счетчика
Действие оператора. FOR...NEXT повторяет Блок операторов до тех пор, пока значение переменной счетчика не станет больше конечного значения цикла. После каждой итерации (очередного выполнения Блока операторов) к значению переменной счетчика прибавляется значение шага.
Пример. Вывести на экран четные числа от 2 до 10
Sub A()
Dim I AS Integer
FOR I = 2 TO 10 STEP 2
Debug.Print i
NEXT i
Debug.Print i
End Sub
Результат:
Работа программы. Цикл выполнит пять итераций - пять раз запустит оператор Debug.Print. Первая итерация пройдет при i = 2. Оператор Debug.Print выведет это значение на экран. Команда NEXT вернет управление в строку FOR..., где к счетчику будет прибавлено значение шага i = i + 2 = 4. После этого программа проверит, превышает ли счетчик свое конечное значение (10). Если счетчик меньше конечного значения либо равен ему, то выполняется очередная итерация и управление переходит к блоку операторов. В примере во второй итерации на экран будет выведено число 4, а затем — 6, 8 и 10.
После вывода числа 10 NEXT передаст управление в начало цикла, а к счетчику будет прибавлено значение шага (i = = 10 + 2 = 12), после чего программа определит, что счетчик превысил свое конечное значение. В этом случае новая итерация уже проводиться не будет, управление автоматически перейдет к первому оператору после NEXT i.
Из примера видно, что после окончания работы цикла значение счетчика будет равно кон. + знач._шага (12).
Слово STEPи значение шага после него можно не указывать. В этом случае программа будет считать шаг равным +1. Положительное значение шага используется тогда, когда начальное значение счетчика меньше конечного. Иначе применяют отрицательный шаг.
Лекция 13
Моделирование
Основы моделирования
В своей деятельности человек очень часто использует модели, т.е. создает образ того объекта, явления или процесса, с которым ему предстоит иметь дело.
Модель – новый упрощенный объект, который отражает существенные свойства реального объекта, процесса или явления.
Анализ модели и наблюдение за ней позволяют понять суть реального, более сложного объекта (процесса, явления), называемого оригиналом.
Почему же не использовать сам оригинал, а не строить его модель? Причин несколько, например:
а) в реальном времени оригинала может уже не быть (теория вымирания динозавров, теория гибели Атлантиды и др.);
б) оригинал может иметь много свойств, поэтому иногда полезно отказаться от менее существенных свойств, изучая конкретное свойство (карта местности, модели живых организмов);
в) оригинал либо очень велик, либо очень мал (глобус, модель солнечной системы, модель атома);
г) процесс протекает либо слишком быстро, либо очень медленно (модель двигателя внутреннего сгорания, геологические модели);
д) исследование объекта может привести к его разрушению (модель самолета, автомобиля);
и т.д..
Моделирование – процесс построения моделей для исследования и изучения объектов, процессов, явлений.
Моделировать можно:
1. Объекты (копии архитектурных сооружений, художественные произведения, глобус, детский автомобиль).
2. Явления (модели физических явлений: грозового разряда, магнитных и электрических сил, геофизических явлений: модель селевого потока, модель оползня).
3. Процессы (модель развития вселенной, модели экономических процессов, модели экологических процессов).
Один и тот же объект в разных науках может описываться разными моделями. Например, объект «человек» с точки зрения разных наук:
- в механике человек это материальная точка;
- в химии – объект, состоящий из разных химических элементов;
- в биологии – это система, стремящаяся к самосовершенствованию;
и т.д.
Моделирование – это метод научного познания объективного мира с помощью моделей.
Классификация моделей – это упорядочение, т.е. систематизация моделей по некоторому признаку или параметру.
С учетом фактора времени (отражают динамику процессов):
Модели Определение Пример
Статические Срез информации Обследование учащихся в
по объекту на поликлинике – дает картину
данный момент физического состояния на
времени. данный момент времени.
Динамические Можно увидеть Карточка школьника
изменение отражает состояние здоровья
состояния объекта ребенка во времени.
во времени.
По способу представления (из чего сделаны):
Материальные Воспроизводят Детские игрушки, чучела
геометрические и птиц, макеты.
физические свойства
объекта и имеют
реальное воплощение.
Информационные Нельзя потрогать или Описание объекта на
увидеть воочию, т.к. разговорном или формализо-
не имеют материаль- ванном языках.
ной основы.
Информационные модели:
Знаковые Информационная Рисунки, графики, схемы.
модель, выраженная
средством формаль-
ного языка.
Вербальные Информационная Мысленный образ объекта.
модель в мысленной
или разговорной
форме.
Знаковые модели:
Компьютерные Модель, реализован- Электронные варианты
ная средствами про- рисунков, чертежей, формул.
граммной среды.
Некомпьютерные Модель, созданная Рисунки, чертежи, графики,
традиционными созданные вручную.
инструментами
инженера, художни-
ка, писателя.
Понятие «система».
Система – это целое, состоящее из объектов, взаимосвязанных между собой (примеры систем: человек, дерево, дом).
Системы бывают:
1. Материальные (человек, дерево, дом).
2. Нематериальные (человеческий язык, математика).
3. Смешанные (школьная система: включает материальные элементы – здание, оборудование, школьников, учебники и нематериальные – расписание занятий, устав школы, темы уроков.
Важный признак системы – ее целостное функционирование.
Для описания системы нужно не только перечислить ее элементы, но и указать, как эти элементы связаны друг с другом. Наличие связей превращает набор элементов в систему. Если графически представить связи между элементами системы, то получится ее структура. Если описать элементы системы и указать их взаимосвязи, тем самым будет проведен системный анализ.
Процесс превращения множества объектов в систему называется систематизацией (в повседневной жизни систематизация – разделение одежды на летнюю и зимнюю, посуду – на стаканы, тарелки, кастрюли; Аристотель разделил накопленные знания на физику, математику, логику и другие науки; математические знания классифицировал Евклид в 3 веке до нашей эры; химические вещества классифицировал Менделеев).
Формы представления информационных моделей
Выберем другое основание классификации информационных моделей, а именно, выполним ее по форме представления:
1. Словесные модели – устные и письменные описания.
2. Математические модели – математические формулы, отображающие поведение объектов.
3. Геометрические модели – графические формы и конструкции.
4. Структурные модели – схемы, графики, таблицы.
5. Логические модели – в которых представлены различные варианты выбора действий на основе умозаключений и анализа условий.
6. Специальные модели – ноты, химические формулы и т.д.
Для представления информационных моделей в той или иной форме используются естественные и формализованные языки.
Естественные языки используются для построения словесных описательных моделей. Например, басня или притча имеют отношение к понятию модели; гелиоцентрическая модель мира Коперника - текстовая информационная модель и т.д. Со словесного описания начинается построение любой модели, т.к. оно более или менее отражает оригинал.
Формализованные языки используются для построения формально-логических моделей (математических, логических)
Процесс построения информационных моделей с помощью формализованных языков называется формализацией.
Примеры формализованных языков – алгебраический язык формул в математике, который позволяет описывать функциональные зависимости между величинами.
Основные этапы моделирования
Когда мы беремся за какую-либо работу, то сначала четко представляем себе прототип (объект или процесс). Далее продумываем этапы работы (этапы моделирования), выполняем ее (моделируем) и принимаем решение. В результате мы получаем либо новый объект, либо улучшаем существующий, либо получаем о нем дополнительную информацию.
Перечислим этапы моделирования
1. Постановка задачи.
1.1. Описание задачи.
1.2. Цель моделирования.
1.3. Анализ объекта.
2. Разработка модели.
2.1. Информационная модель.
2.2. Знаковая модель.
2.3. Компьютерная модель
3. Компьютерный эксперимент.
3.1. План моделирования.
3.2. Технология моделирования.
4. Анализ результатов моделирования.
Рассмотрим этапы моделирования.
1 этап. Постановка задачи.
Задача – это некоторая проблема, которую необходимо решить.
1.1. Описание задачи.
Проблема формулируется на обычном человеческом языке. Описание должно быть понятным. Главное – определить объект моделирования и представить результат.
Все задачи по характеру постановки делятся на 2 группы:
1. Задачи, в которых требуется исследовать изменение характеристик объекта в данном диапазоне с некоторым шагом или исследовать, как изменятся характеристики объекта при некотором воздействии на него. Постановка такой задачи звучит так: «Что будет, если …?».
Например: «Что будет, если увеличить плату за электроэнергию в 2 раза?».
«Как изменится скорость велосипедиста через 10 секунд, если он движется прямолинейно и равно ускоренно с начальной скоростью 2 м/сек и ускорением 0,5 м/сек2?».
2. Задачи, в которых необходимо выяснить какое надо произвести действие на объект, чтобы его параметры удовлетворяли некоторому заданному условию. Постановка такой задачи звучит так: «Как сделать, чтобы …?».
Например: «Какой должна быть сила тяги, чтобы вывести космический аппарат на околоземную орбиту?».
«Какой должна быть скорость автомобиля при определенных начальных значениях времени, пути и расстоянии, чтобы он прибыл в пункт назначения вовремя?».
1.2. Цель моделирования. Показывает, для чего необходимо создать модель.
1.3. Анализ объекта. Подразумевает четкое моделирование объекта и его основных свойств. Этот процесс называется системным анализом.
2 этап. Разработка модели.
Одним из основных действий при построении информационной модели является сбор различной информации об объекте. В зависимости от того с какой целью исследуется объект, какими средствами и знаниями обладает человек, будет получена разная по объему и содержанию информация. Выбор наиболее существенной информации при создании информационной модели и ее сложность обусловлены целью моделирования. Построение информационной модели является отправным пунктом разработки модели.
Далее информационная модель представляется в знаковой форме, которая является либо компьютерной, либо некомпьютерной. Однако лишь простые и знакомые по содержанию задачи можно решать с помощью традиционных способов. В настоящее время персональный компьютер стал основным инструментом исследования. Поэтому все предварительные наброски, формулы, чертежи, схемы составляются на персональном компьютере с помощью различных программ.
3 этап. Компьютерный эксперимент.
После создания модели нужно выяснить ее работоспособность или внедрить в производство. Для этого надо провести эксперимент.
До появления компьютеров эксперименты проводились в лабораторных условиях, либо на настоящем образце изделия. С развитием вычислительной техники стали применять компьютерный эксперимент, который основан на тестировании.
Тестирование – это процесс проверки правильности построения и функционирования модели.
Тест – это набор исходных данных, для которых результат известен заранее. Тест должен соответствовать следующим параметрам:
а) тест должен быть ориентирован на проверку разработанного алгоритма функционирования компьютерной модели. Тест не отражает смыслового содержания модели, но результаты тестирования могут натолкнуть на мысль изменения исходной информационной или знаковой модели, где заложен смысл задачи;
б) исходные данные в тесте могут и не отражать реальную ситуацию. Важно лишь, чтобы при конкретных исходных данных заранее знать результат.
4 этап. Анализ результатов моделирования.
Конечный этап моделирования – принятие решения: либо исследование заканчивается, либо продолжается. Основой для принятия решения служат результаты тестирования. Если они не соответствуют целям поставленной задачи, значит допущены ошибки на предыдущих этапах. Ошибки надо выявить и исправить. Процесс этот продолжается до тех пор, пока результаты эксперимента не станут отвечать целям моделирования. Надо помнить: выявление ошибки – тоже результат.
Лекция 14
Компьютерные сети
При физическом соединении двух или более компьютеров образуется компьютерная сеть. Все компьютерные сети имеют одно назначение - обеспечение совместного доступа к общим ресурсам. Ресурсы бывают трех типов: аппаратные, программные и информационные. Например, принтер — это аппаратный ресурс. Когда все участники небольшой компьютерной сети пользуются одним общим принтером, это значит, что они разделяют общий аппаратный ресурс.
Кроме аппаратных ресурсов компьютерные сети позволяют совместно использовать программные ресурсы. Например, для выполнения очень сложных расчетов можно подключиться к удаленной большой ЭВМ и отправить вычислительное задание на нее, а по окончании расчетов - получить результат обратно.
Данные, хранящиеся на удаленных компьютерах, образуют информационный ресурс. Роль этого ресурса видна на примере Интернета.
Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости оборудования. Решение этой задачи относится к области стандартизации и основано на так называемой модели OSI (модель взаимодействия открытых систем — Model of Open System Interconnections). Она создана на основе технических предложений Международного института стандартов ISO (International Standards Organization).
Согласно модели ISO/ OSI архитектуру компьютерных сетей следует рассматривать на разных уровнях. Общее число уровней — до семи. Самый верхний уровень -прикладной. На этом уровне пользователь взаимодействует с вычислительной системой. Самый нижний уровень — физический. Он обеспечивает обмен сигналами между устройствами.
Обмен данными в компьютерных сетях происходит путем их перемещения с верхнего уровня на нижний, затем транспортировки и, наконец, обратным воспроизведением на компьютере клиента в результате перемещения с нижнего уровня на верхний.
Рассмотрим простой пример взаимодействия двух корреспондентов с помощью обычной почты. Если они регулярно отправляют друг другу письма и, соответственно, получают их, то они могут полагать, что между ними существует соединение на пользовательском (прикладном) уровне. Однако это не совсем так. Такое соединение можно назвать виртуальным. Оно было бы физическим, если бы каждый из корреспондентов лично относил другому письмо и вручал в собственные руки. В реальной жизни он бросает его в почтовый ящик и ждет ответа.
Сбором писем из общественных почтовых ящиков и доставкой корреспонденции в личные почтовые ящики занимаются местные почтовые службы. Это другой уровень модели связи, лежащий ниже. Для того чтобы наше письмо достигло адресата в другом городе, должна существовать связь между нашей местной почтовой службой и его местной почтовой службой. Это еще один пример виртуальной связи, поскольку никакой физической связью эти службы не обладают — поступившую почтовую корреспонденцию они только сортируют и передают на уровень федеральной почтовой службы.
Федеральная почтовая служба в своей работе опирается на службы очередного уровня, например на почтово-багажную службу железнодорожного ведомства, И только рассмотрев работу этой службы, мы найдем, наконец, признаки физического соединения, например железнодорожный путь, связывающий два города.
Это очень простой пример, поскольку в реальности даже доставка обычного письма может затронуть гораздо большее количество служб. Но нам важно обратить внимание на то, что в нашем примере образовалось несколько виртуальных соединений между аналогичными службами, находящимися в пунктах отправки и приема. Не вступая в прямой контакт, эти службы взаимодействуют между собой. На каком-то уровне письма укладываются в мешки, мешки пломбируют, к ним прикладывают сопроводительные документы, которые где-то в другом городе изучаются и проверяются на аналогичном уровне.
Согласно рекомендациям Международного института стандартизации ISO системы компьютерной связи рекомендуется рассматривать на семи разных уровнях в соответствии с таблицей:
Таблица . Уровни модели связи
Уровень
| Аналогия
| Прикладной уровень
| Письмо написано на бумаге. Определено его содержание
| Уровень представления
| Письмо запечатано в конверт. Конверт заполнен. Наклеена марка. Клиентом соблюдены необходимые требования протокола доставки
| Сеансовый уровен
| Письмо опущено в почтовый ящик. Выбрана служба доставки (письмо можно было бы запечатать в бутылку и бросить в реку, но избрана другая служба)
| Транспортный уровень
| Письмо доставлено на почтамт. Оно отделено от писем, с доставкой которых местная почтовая служба справилась бы самостоятельно
| Сетевой уровень
| После сортировки письмо уложено в мешок. Появилась новая единица доставки — мешок
| Уровеньсоединения
| Мешки писем уложены в вагон. Появилась новая единица доставки — вагон
| Физический уровень
| Вагон прицеплен к локомотиву. Появилась новая единица доставки — состав. За доставку взялось другое ведомство, действующее по другим протоколам
|
Из таблицы видно, что каждый новый уровень все больше и больше увеличивает функциональность системы связи. Местная почтовая служба работает не только с письмами, но и с бандеролями и посылками. Почтово-багажная служба занимается еще и доставкой грузов. Вагоны перевозят не только почту, но и людей. По рельсам ходят не только почтово-пассажирские поезда, но и грузовые составы и т. д. То есть, чем ниже уровень в модели связи, тем больше различных функциональных служб его используют.
Возвращаясь к системам компьютерной связи, рассмотрим, как в модели ISO/OSI происходит обмен данными между пользователями, находящимися на разных континентах.
Физическое соединение
Рис. 8.2. Простейшая модель службы передачи сообщений
Работа модели:
1.На прикладном уровне с помощью специальных приложений пользователь создает документ (сообщение, рисунок и т. п.).
2.На уровне представления операционная система его компьютера фиксирует, где находятся созданные данные (в оперативной памяти, в файле на жестком диске и т. п.), и обеспечивает взаимодействие со следующим уровнем.
3.На сеансовом уровне компьютер пользователя взаимодействует с локальной или глобальной сетью. Протоколы этого уровня проверяют права пользователя на «выход в эфир» и передают документ к протоколам транспортного уровня.
4. На транспортном уровне документ преобразуется в ту форму, в которой положено передавать данные в используемой сети. Например, он может нарезаться на небольшие пакеты стандартного размера.
5.Сетевой уровень определяет маршрут движения данных в сети. Так, например, если на транспортном уровне данные были «нарезаны» на пакеты, то на сетевом уровне каждый пакет должен получить адрес, по которому он должен быть доставлен независимо от прочих пакетов.
6.Уровень соединения необходим для того, чтобы промодулировать сигналы, циркулирующие на физическом уровне, в соответствии с данными, полученными с сетевого уровня. Например, в компьютере эти функции выполняет сетевая карта или модем.
7.Реальная передача данных происходит на физическом уровне. Здесь нет ни документов, ни пакетов, ни даже байтов — только биты, то есть элементарные единицы представления данных. Восстановление документа из них произойдет постепенно, при переходе с нижнего на верхний уровень на компьютере клиента.
Средства физического уровня лежат за пределами компьютера. В локальных сетях это оборудование самой сети. При удаленной связи с использованием телефонных модемов это линии телефонной связи, коммутационное оборудование телефонных станций и т. п.
На компьютере получателя информации происходит обратный процесс преобразования данных от битовых сигналов до документа.
Лекция 15
|