Имя материала: Методика преподавания информатики

Автор: М.П.ЛАПЧИК

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

 

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

 

Тема «Введение в компьютерное моделирование»

 

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

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

Каждый из этапов, обозначенных на рис. 14.3, требует обсуждения.

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

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

 

Рис. 14.3. Этапы компьютерного моделирования

 

Содержательное описание объекта (процесса) служит основой для дальнейшей формализации. Оно включает [18]:

• сведения о физической природе исследуемого объекта (процесса);

• сведения о количественных характеристиках элементарных составляющих объекта;

• сведения о месте и значении каждого элементарного явления в общем процессе функционирования рассматриваемой системы;

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

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

 

Тема «Классификационные информационные модели»

 

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

Вводная лекция может быть посвящена следующим вопросам:

• что такое система и структура;

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

• что такое «системный подход»;

• о системологии и информатике.

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

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

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

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

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

Пример 1. Выделение характеристик.

Рассматриваемый объект — компьютер. Создадим несколько экземпляров описания, которые могут составить базу для построения информационной модели.

 

Экземпляр 1. Набор характеристик:

• фирма-изготовитель;

• место в компьютерной классификации (т.е. персональный, main-frame и т.д.);

• год изготовления;

• поколение.

 

Экземпляр 2. Набор характеристик:

• фирма-изготовитель;

• тип процессора;

• материнская плата;

• тип монитора;

• тип принтера.

 

Экземпляр 3. Набор характеристик:

• фирма-изготовитель;

• тактовая частота процессора;

• максимальная разрешающая способность монитора;

• объем ОЗУ;

• емкость винчестера.

 

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

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

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

Все связи в информационной модели требуют описания, которое включает, как минимум:

• идентификатор связи;

• формулировку сущности связи;

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

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

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

 

Пример 2. Простейшие виды структурирования информации.

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

Обратите внимание учащихся, что речь идет о простом структурировании информации; задачи классификации появятся позднее. Напомните учащимся, какими свойствами отличаются стандартные структуры данных:

• упорядоченная — неупорядоченная;

• прямого доступа — последовательного доступа;

• однородная — неоднородная;

• статическая — динамическая.

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

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

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

 

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

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

 

Строится дерево, начиная с «главной» вершины — так называемого корня (или вершины первого уровня). Затем располагаются вершины второго уровня — они «подчинены» корню, но не друг другу. Их взаимосвязи друг с другом если и наличествуют, то не по тому виду связи, который положен в основу построения модели (так, на рис. 14.4 в основу построения положена связь «отец-сын», а связи типа «брат-брат» не учитываются).

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

Методика построения графовых моделей подразумевает первоначальное знакомство учащихся с элементами теории графов (если это знакомство не состоялось в базовом курсе информатики).

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

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

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

Геометрические построения различных графов следует отрабатывать в процессе выполнения заданий. Многие такие задания можно найти в задачнике [5].

Блок-схемы алгоритмов как графы. Учитывая характер изучаемого предмета, на этом этапе уместно вспомнить правила построения блок-схем алгоритмов (при структурной алгоритмизации) и интерпретировать их как графы. На блок-схемах вершины — действия, дуги — последовательность их выполнения. Например, на рис. 14.5 изображена схема алгоритма типа «развилка в цикле».

 

 

Рис. 14.5. Блок-схема алгоритма как граф

 

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

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

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

 

Тема «Логико-лингвистические

информационные модели»

 

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

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

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

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

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

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

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

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

 

Пример. Рассмотрим следующий текст: «Из гаража выпущен на линию автобус. Он работает 8 часов и возвращается в гараж. В случае неисправности он следуют в ремонтную зону».

Выделим объекты, фигурирующие в этом примере: «автобус», «гараж», «ремонтная зона». Понятия: «работать 8 часов». Отношения: «выпустить на линию», «быть исправным», «быть неисправным», «вернуться в гараж». Теперь построим представление знаний, зафиксированных в этом тексте,^ виде семантической сети, в которой понятия и объекты представлены в виде вершин сети, а отношения — в виде линий, связывающих соответствующие вершины (рис. 14.6).

 

Рис. 14.6. Пример семантической сети

 

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

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

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

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

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

Язык программирования Паскаль как логико-лингвистическая модель. Любой язык программирования является логико-лингвистической моделью языка. Назначением такого языка является запись алгоритма решения задачи в виде, пригодном для ее реализации на ЭВМ.

Для изучения данной темы предпочтительным является язык высокого уровня. Так как Паскаль наиболее используем в обучении программированию, дальнейшие обсуждения ограничим им. Поскольку исполнителем программы является ЭВМ, построенная по законам математической логики, то текст любой программы должен быть однозначно интерпретируем. Двусмысленности, свойственные «естественному» языку, здесь неприемлемы. Язык программирования должен быть жёсток и по синтаксису, т. е. правилам приемлемого сочетания символов языка, и по семантике, т.е. смыслу, придаваемому каждой допустимой конструкции.

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

Проблемы формального описания искусственных языков (языков программирования) возникли при создании первых из них в конце 1940-х — начале 1950-х гг. Естественно, что для подобного описания нужен язык, стоящий «над» тем, который описывается — так называемый метаязык. Из двух чаще всего используемых профессионалами метаязыков в методическом плане представляется более подходящим и простым для понимания язык синтаксических диаграмм Вирта. Еще один методический довод в его пользу — изображение в виде специфического ориентированного графа, что создает некоторое единство при изучении информационных моделей.

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

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

 

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

Примеры построения синтаксических диаграмм начните с простейших понятий языка. Например, таким примером может быть понятие «программа»:

Важную роль на диаграмме играют линии, соединяющие отдельные объекты. В предыдущем примере в этот смысле все просто: линия со стрелкой — направление перемещения по диаграмме. Однако эти линии могут раздваиваться; всякое раздвоение передается словом «или» и означает возможность двигаться по любой ветви. Приводим диаграмму понятия «заголовок», взятую из базовой версии языка Паскаль (обратите внимание учащихся, что пока нет диаграмм для каждого из объектов языка, кроме базовых, описание его не закончено, рис. 14.6):

 

Рис. 14.6. Диаграмма понятия «заголовок»

 

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

a) program rt; б) program n2 (а,b8); в) program xu (. Вариант в) очевидным образом неверен, но надо доказать это, «проведя пальцем» по синтаксической диаграмме. В этом примере мы использовали то, что учащиеся фактически знают: как можно и нельзя строить идентификаторы. Однако следует подчеркнуть, что пока мы не изобразим синтаксическую диаграмму понятия «идентификатор», наши действия по анализу примера не являются формально полными. Соответствующая диаграмма очень проста:

 

 

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

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

 

Рис. 14.7. Оператор множественного ветвления

 

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

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

Язык управления учебными исполнителями как логико-лингвистическая модель. Другие логико-лингвистические модели, вполне доступные для изучения, связаны с многочисленными учебными исполнителями. Их использование при изучении информатики является методически полностью оправданным, особенно на ранних этапах.

Обсудим план построения соответствующей беседы (урока), базируясь на Черепашке ЛОГО — одном из самых популярных учебных исполнителей. Цель урока — не изучение языка ЛОГО (предполагается, что учащиеся с ним знакомы), а выявление его как логико-лингвистической модели. Однако этот урок вполне уместно сопроводить работой за компьютером.

Итак, выбрав некоторую версию «Черепашки» (они довольно сильно различаются друг от друга), начнем разговор о том, что Черепашка ЛОГО есть простейшая модель объекта, который может:

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

• менять направление перемещения;

• реагировать на достижение границы поля;

• оставлять или не оставлять за собой след.

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

Методически урок может быть построен следующим образом.

1. Напомните учащимся о ЛОГО.

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

3. Постройте метаязык, описывающий язык управления ЛОГО-черепашкой. Аппаратом для этого может быть язык синтаксических диаграмм Вирта. Возможная последовательность действий:

• выявите базовые понятия языка ЛОГО;

• выявите основные конструкции;

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

 

Тема «Технология компьютерного

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

 

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

Особая роль первого раздела заключается в том, что здесь повторяются и обобщаются основные понятия компьютерного математического моделирования (КММ), известные из базового курса информатики, вводятся новые — «моделирование», «информационное моделирование», «математическое моделирование», «формализация», «идентификация модели» и др.

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

При обсуждении этапов КММ можно использовать общую схему абстрактного моделирования, изображенную выше на рис. 13.4. Обсуждение следует конкретизировать, учитывая особенности именно математического моделирования.

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

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

где Fj -  символически обозначает некоторые математические операции над входными величинами.

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

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

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

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

 

Тема «Моделирование физических процессов»

 

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

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

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

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

Перечень рассматриваемых вопросов может быть таков:

• движение тел с учетом сопротивления среды;

• движение маятника с учетом сопротивления среды, вынужденные колебания, резонанс и т.д.;

Обозначив первые (входные) величины через х1, х2, ..., хn, а вторые (выходные) через y1, у2, ..., yk , можно поведение объекта или процесса символически представить в виде

                               

• движение небесных тел (задача двух тел);

• движение электрических зарядов;

• тепломассоперенос (на примере процесса теплопроводности в линейном стержне).

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

Цели обучения: t

• ввести в КММ на примере моделей из области физики;

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

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

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

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

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

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

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

Не совсем так обстоит дело с понятием «производная». Возможны две ситуации:

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

2) учащиеся не знакомы с этим понятием; в этом случае необходимо сделать математическое отступление и пояснить понятие «производная», на что, как показывает опыт, вполне достаточно одного урока.

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

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

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

Свободное падение тела с учетом сопротивления среды. В этой и многих других физических задачах, на основе которых строятся модели, фундаментальную роль играет второй закон Ньютона — основа динамики. Формулируем его вначале в «школьной» форме  , а затем, чтобы исследовать реалистические ситуации, необходимо подвести учащихся к более общей математической форме. Проводим следующее рассуждение: если движение происходит с переменной скоростью, то, как известно учащимся, для его характеристики привлекаются два понятия: средняя скорость за некоторый промежуток времени Dt, равная отношению —   , где DS — пройденный путь и мгновенная скорость в данный момент времени t, которая на математическом языке записывается как  . Точно так же при движении с постоянным ускорением можно ввести два понятия — среднее ускорение за время Dt, равное , и мгновенное ускорение в момент t:  .

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

                                                                        (1)

разные записи этого утверждения.

Приведенное рассуждение является типичным для этой темы обоснованием перехода от дискретного к непрерывному.

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

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

.

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

                                                        (2)

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

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

На этом этапе возникает вопрос о способах решения дифференциальных уравнений. Очевидный ответ: универсальные методы их решения — численные. Для начала вполне достаточно ограничиться методом Эйлера. Проводим следующее рассуждение: если на основании определения производной заменить ее в уравнении (2) конечно-разностным отношением , то, зная скорость v0 в начальный момент времени t = 0 и обозначив ее как v1 в момент Dt, перепишем уравнение в виде

                                             (3)

Если далее понимать под v} приближенное значение скорости в момент Dt, то получим формулу для вычисления v1:

                                             (4)

Это и есть формула метода Эйлера.

Далее рассуждение ведется по индукции. Располагая значением v1 можно, отталкиваясь от него, найти v2 и т.д. Общая формула метода Эйлера применительно к данной задаче такова:

                                         (5)

Возникает следующая проблема: до каких пор проводить расчеты? В данной задаче естественным представляется ответ: до падения тела на землю. Для обнаружения этого события необходимо рассчитывать не только скорость, но и пройденный путь. Поскольку перемещение связано со скоростью соотношением , то, проводя схожие с приведенными выше рассуждения, приходим ко второму разностному уравнению sn+l = sn + vn×Dt, решаемому одновременно с первым. Иначе говоря, мы применили метод Эйлера к системе дифференциальных уравнений. Решая эту систему при заданных начальных условиях v(0) = v0, s(0) = s0, получим таблицу значений функций v(t), s(t).

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

Кроме того, ставится задача: представить полученные результаты в наиболее удобном для восприятия виде. Это могут быть графики зависимостей v(t), s(t); изображение процесса падения в динамике (здесь возможны вариации).

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

Вспомним, что ускорение есть приращение скорости, а скорость — приращение перемещения: . Знаки приближенного равенства свидетельствуют о том, что эти соотношения тем точнее, чем меньше промежуток Dt; в пределе Dt ® 0 они становятся точными.

Если в некоторый момент времени t0 величина s имеет значение s0, а величина v — значение v0, то в некоторый последующий момент времени t1 = t0 + Dt будем иметь:

 Здесь введены обозначения F0 = F(t0, v0, s0), m0 =  m(t0, v0, s0).

При вычислениях значений v и s в последующие моменты времени можно поступать аналогично (6). Так, если известны значения vi и si в момент ti, то

 

                           (7)

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

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

Вопрос о выборе конкретного значения Dt весьма непрост и определяется следующими соображениями. При компьютерном моделировании мы можем получить решение задачи о движении тела на некотором конечном отрезке времени [t0, Т]. Чем меньше величина Dt:

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

б) тем выше точность в передаче значений непрерывных функций s(t), v(t) их дискретными представлениями — наборами чисел si = s(ti), vi = v(ti).

Вопрос о точности результатов является в описываемом моделировании одним из центральных. Он распадается на два: как оценить эту точность и можно ли, уменьшая Dt, достигать все большей точности?

Остановимся вначале на первом. Теоретические оценки точности слишком сложны и на практике часто неприменимы. Самый популярный эмпирический прием оценки точности заключается в следующем: отрезок [t0, Т] проходится с некоторым шагом Dt, а затем с существенно меньшим (например, в два раза) шагом. Сравнение результатов в точках t1, t2, ..., T позволяет составить представление о реальной точности результатов. Если она недостаточна, то следует повторить процесс с еще меньшим шагом.

Однако уменьшение Dt, как ни странно, не всегда ведет к улучшению результатов моделирования. Одна из причин в том, что чем меньше шаг, тем больше арифметических действий и тем больше шансов увеличить чисто вычислительную погрешность округления, всегда сопутствующую компьютерным вычислениям. Другая причина глубже и связана со способом дискретизации — перехода от описания реально непрерывного процесса движения тел к описанию по простейшим формулам (4) — (7). Обе вместе могут привести к неустойчивости решения, т. е. получению результатов, не имеющих реально ничего общего с истинными. Обычно неустойчивость становится заметной при повторениях процесса с уменьшением шага Dt. Способы дискретизации, ведущие к более устойчивым методам решения таких задач, описаны в литературе (см., в частности, [5, 9]).

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

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

Для того чтобы продемонстрировать учащимся практическую значимость решаемых задач, построенных математических моделей, целесообразно предложить содержательную проблему, для решения которой необходимо применить построенную модель, предварительно формализовав задачу и выполнив ранжирование факторов. В качестве такой содержательной задачи может, например, выступать задача о полете парашютиста. Проведем детальное моделирование. Перед тем как его начинать, необходимо решить вопрос об удобных способах представления результатов. Разумеется, колонка чисел, выдачи которой проще всего добиться от компьютера при численном моделировании, желательна. Однако слишком много чисел в колонке быть не должно, их трудно будет воспринимать, поэтому шаг, с которым заполняется таблица, вообще говоря, гораздо больше шага, с которым интегрируется дифференциальное уравнение, т.е. далеко не все значения vh найденные компьютером, следует записывать в результирующую таблицу.

Кроме таблицы необходим график зависимости v(t); по нему хорошо видно, как меняется скорость со временем, т.е. происходит качественное понимание процесса.

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

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

Решение будем выполнять до тех пор, пока парашютист не опустится на землю. Шаг интегрирования дифференциального уравнения можно подобрать методом проб и ошибок, решая уравнение несколько раз, начав, например, с заведомо большого значения Dt = 0,1 с и постепенно уменьшая его до тех пор, пока качество решения не станет приемлемым.

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

Компьютерная реализация этой модели может быть выполнена программированием как на традиционном языке программирования (Паскаль, Бейсик и др.), так и, например, в электронных таблицах. Частичное тестирование программ можно проводить при k2 = 0, т.е. для движения без трения. Решение в этом случае очевидно (свободное падение).

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

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

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

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

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

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

2) исследовать

Страница: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 |