Выделим объекты, фигурирующие в этом примере: «автобус», «гараж», «ремонтная зона». Понятия: «работать 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 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 129 130 131 132 133 134 135