ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 20.04.2024
Просмотров: 403
Скачиваний: 0
Тарова Инна Николаевна
•«визуализацию явлений и процессов» (графическое моделирование);
•«высокие» технологии, понимаемые как специализированные прикладные технологии, использующие компьютер (как правило, в режиме реального времени) в сочетании с измерительной аппаратурой, датчиками, сенсорами и т.д.
Итак, укрупненная классификация абстрактных (идеальных) моделей такова.
1. Вербальные (текстовые) модели. Эти модели используют последовательности предложений на формализованных диалектах естественного языка для описания той или иной области действительности (примерами такого рода моделей являются милицейский протокол, правила дорожного движения).
2. Математические модели - очень широкий класс знаковых моделей (основанных на формальных языках над конечными алфавитами), широко использующих те или иные математические методы. Например, можно рассмотреть математическую модель звезды. Эта модель будет представлять собой сложную систему уравнений, описывающих физические процессы, происходящие в недрах звезды. Математической моделью другого рода являются, например, математические соотношения, позволяющие рассчитать оптимальный (наилучший с экономической точки зрения) план работы какого-либо предприятия.
3. Информационные модели - класс знаковых моделей, описывающих информационные процессы (возникновение, передачу, преобразование и использование информации) в системах самой разнообразной природы.
Граница между вербальными, математическими и информационными моделями может быть проведена весьма условно; вполне возможно считать информационные модели подклассом математических моделей. Однако, в рамках информатики как самостоятельной науки, отделенной от математики, физики, лингвистики и других наук, выделение информационных моделей в отдельный класс является целесообразным.
Отметим, что существуют и иные подходы к классификации абстрактных моделей; общепринятая точка зрения здесь еще не установилась. В частности, есть тенденция резкого расширения содержания понятия «информационная модель», при котором информационное моделирование включает в себя и вербальные, и математические модели.
Основное содержание курса связано с прикладными математическими моделями, в реализации которых используются компьютеры. Это вызвано
34
Компьютерное моделирование
тем, что внутри информатики именно компьютерное математическое и компьютерное информационное моделирование могут рассматриваться как ее составные части. Компьютерное математическое моделирование связано с информатикой технологически; использование компьютеров и соответствующих технологий обработки информации стало неотъемлемой и необходимой стороной работы физика, инженера, экономиста, эколога, проектировщика ЭВМ и т.д. Неформализованные вербальные модели не имеют столь явно выраженной привязки к информатике - ни в принципиальном, ни в технологическом аспектах.
2.4. НЕКОТОРЫЕ ПРИЕМЫ ПРОГРАММИРОВАНИЯ
Как уже отмечалось выше, наибольшая польза при изучении вопросов компьютерного моделирования будет в том случае, если, наряду с проникновением в общую методологию моделирования и осознанием существа рассматриваемых задач, реализуются несколько моделей в виде компьютерных программ, не просто заглатывающих одни числа и выводящих на экран или принтер длинные столбцы других, но и реализующих некоторый интерфейс пользователя с элементами диалога, графики и т.д.
Именно поэтому мы не будем касаться вопроса об использовании специализированных пакетов программ решения математических задач и графической поддержки. Во-первых, такие пакеты различны на разных ЭВМ, постоянно появляются новые, и за этим не угнаться никакому учебнику. Во-вторых, самостоятельно запрограммированное осознанное решение системы дифференциальных уравнений методом Эйлера и сопровождающая его простенькая самостоятельно созданная на ВАSIС или PASCAL иллюстрация в виде графика или движущегося по экрану предмета дают тому, кто это сделал, куда больше, чем обращение к пакету МАТНЕМАТIСА с его могучими программами. Разумеется, овладение возможностями одного из пакетов математической поддержки (МаthCad, МаthLab и др.) вполне желательно и может принести определенную пользу, но не заменить самостоятельно проделанной работы.
Далее остановимся лишь на отдельных вопросах программирования, наиболее существенных при разработке моделирующих программ, ограничиваясь лишь примерами и советами, призванными уточнить суть дела.
Организация диалога человек – ЭВМ. Организация интерфейса пользователя при разработке профессиональных программ - работа не менее (а часто и более) сложная, чем реализация логической или расчетной части зада-
35
Тарова Инна Николаевна
чи. Многие, работая с табличными процессорами, текстовыми редакторами и другими широко распространенными программами, не склонны задумываться, сколько усилий потребовала от разработчиков организация экрана, на котором всегда есть нужная в данный момент информация, причем именно в том месте экрана, где ее легче найти, система подсказок и помощи, меню для смены режимов работ и т.д. Очень жесткие требования по оформлению диалога предъявляются к обучающим и контролирующим программам, компьютерным дидактическим играм, многим другим классам программ. Именно по соответствию этим требованиям сегодня в первую очередь судят о профессионализме разработки.
Характерной чертой практически всех профессиональных моделирующих программ является их диалоговый характер. Диалоговые (интерактивные) программы - большой шаг вперед в развитии процесса взаимодействия человека с компьютером. Обсудим некоторые черты подобной организации человеко-машинного интерфейса.
Диалог человека с машиной весьма далек от привычного человеческого диалога. Главная особенность - ограниченные возможности компьютера в форме восприятия и анализа смысла человеческих сообщений. Воспринимаемые компьютером в ходе диалога сообщения жестко ограниченны в своих конструкциях как синтаксически, так и семантически. Синтаксически - сообщения воспринимаются лишь в предусмотренной автором программы форме. Например, оговорено, что сообщение содержит 5 букв кириллицы - любое другое система признает неверным и отвергнет. Однако она в этом случае сочтет верным любой текст из 5 букв кириллицы, даже совершенно бессмысленный; такой текст будет отвергнут на уровне семантического анализа, в котором исследуется, приписал ли автор программы этому тексту какой-либо смысл. Слово «семантика» означает смысловую сторону сообщения. В распознании смысла сообщений компьютерные программы пока преуспели гораздо меньше, чем в синтаксическом анализе, и могут несравненно меньше, чем человек. Работы в этом направлении - одно из самых перспективных направлений развития информатики. Подавляющее число программ, реализованных на компьютерах с первого по четвертое поколения, могут распознавать «верно - неверно» лишь по сравнению с эталонными ответами, которые либо заранее заложены в эти программы, либо выражены в числовой форме и рассчитываются программами. Обсудим технические вопросы ведения диалога с компьютером. В моделирующих программах, в основном, используются следующие типы
36
Компьютерное моделирование
элементов диалога:
•меню;
•вопросы, требующие ответа «да/нет»;
•ответы по шаблону;
•команды.
Меню - на экране нумерованное или помеченное иным способом (например, выделением заглавных букв первых слов) множество функций системы, реализация которых возможна в настоящий момент, рис. 2.3. Пользователь выбирает нужную функцию и тем самым начинает диалог.
Динамика популяций с непрерывным размножением
1.Внутривидовая конкуренция.
2.Межвидовая конкуренция.
3.Система хищник-жертва. Введите номер пункта:
Рис. 2.3, а. Пример кадра меню
Программа может предусматривать и другие способы организация реакции пользователя: вводом букв В, М, С; еще удобнее - установкой курсора в нужную строку клавишами и (или) «мышью» (если она есть). Сути дела это не меняет.
Вопрос, требующий ответа «да/нет» - частный случай меню, кото-
рый, однако, целесообразно выделить.
Хотите продолжать работу? (Д/Н) - Д
Рис. 2.3. б. Выбор одного из возможных ответов
Ответы по шаблону даются чаще всего при ожидании числовой информации, когда хотят избежать длинных Объяснений о формате числа, количестве значащих цифр.
Команда подается пользователем. В диалоговой моделирующей программе может быть строго фиксированный набор команд, краткий перечень которых сопровождает все или часть кадров в строке-подсказке; по этим командам пользователь может в любой момент прекратить работу или изменить ее характер. Например, в нижней части кадра, содержание которого сейчас неважно, написано:
Меню - М Выход - В Справка – С
Рис. 2.3, г. Выбор последующего режима работы
37
Тарова Инна Николаевна
Введите ускорение, начальную скорость и начальную координату тела:
а=
v0= x0=
Исправления - клавишами
Рис. 2.3, в Форматированный ввод данных
В основной части кадра - некий текст, предписывающий определенную реакцию. Но указанные внизу команды имеют приоритет, и при нажатии «М» мы попадем в основное меню независимо оттого, что требовалось в верхней части кадра. При этом предусматривается возможность возврата в кадр, из которого вышли.
Разработка диалоговой моделирующей программы - достаточно сложный процесс, включающий создание сценария, программирование, разработку инструкций и документации. Согласитесь, что ситуация, когда программа требует ввода данных и извещает об этом лишь знаком «?» на совершенно пустом экране, вам, вероятно, знакома, как знакома и реакция сидящего за компьютером человека, который не понимает, что бы это значило (что особенно смешно, если он сам - автор этой программы). Так не стоит ли снабдить этот знак фразой «введите начальную скорость v0», звуковым сигналом, привлекающим внимание, и т.д.? Как быть с огромным количеством чисел, проносящихся по экрану в процессе решения дифференциальных уравнений и сметающих на своем пути всю нужную информацию? В отлаженной программе такого просто не должно быть.
Спроектируем возможное оформление диалога и формы представления результатов для одной из рассмотренных ниже задач по моделированию. Уместно начать с кадра-заставки, где написаны название задачи, фамилия автора программы - это минимум. Если удастся создать несложный рисунок, иллюстрирующий задачу - очень хорошо, он уместен в том же кадре. Затем, через несколько секунд, кадр сменяется следующим. На нем - основное уравнение (т.е. сама математическая модель) и предложение ввести исходные данные - с представлением шаблонов, или, если это затруднительно, то в свободной форме, но обязательно со словесным запросом значения каждого параметра по очереди. Более чем существенно разумно спроектировать формы для вывода результатов – таблицы, графики, траектории и т.д., их очередность, взаимное расположение.
38
Компьютерное моделирование
Неплохо, если в процессе счета программа выводит на экран стационарную или мерцающую надпись типа «Подождите, идут расчеты». Когда счет закончен, на экране может появиться меню с предложениями: «Вывод таблицы результатов», «Вывод графика N(t)», «Запись параметров и результатов в файл», «Печать результатов», «Выполнение очередного расчета»» «Окончание расчетов».
Разумеется, можно усовершенствовать это оформление, но каждый шаг здесь требует определенной программистской культуры и немалого труда. Повсеместный переход на графические интерфейсные операционные системы уровня WINDOWS, появление сред визуального программирования ведут к значительному повышению стандартизации пользовательского интерфейса. Если при разработке моделирующих программ использовать возможности таких сред, то могут получить вполне профессиональные программные продукты.
Компьютерная научная графика С простейшей научной графикой мы встречаемся очень рано. Уже в курсе математики 6-7 классов есть достаточно абстрактные и условные рисунки, которые дети легко воспринимают - например, график линейной функции. А ведь на нем немало элементов, интерпретация которых, если задуматься, вовсе не очевидна: линии, штрихи, стрелки, масштабы и т.д. Несмотря на это, понять по графику свойства сложной функции человеку гораздо легче, чем из соответствующей формулы, хотя в ней информации, строго говоря, гораздо больше. Так уж устроено человеческое восприятие, что рисунки, пусть даже условные, гораздо легче воспринимаются рассудком, чем сложные формулы или колонки чисел. В современной прикладной информатике этим обстоятельством очень широко пользуются, и в ней сформировалось соответствующее направление - машинная (компьютерная) графика. По определению, машинная гра-
фика - раздел информатики, в рамках которого исследуются и разрабатываются технические, математические, программные и методические средства и приемы использования ЭВМ для создания, обработки, хранения
ипрактического применения графических изображений.
Вмашинной графике выделяют несколько разделов.
Иллюстративная графика, простейшими программными средствами которой являются всем знакомые диалоговые программы - графические редакторы, служит для создания изображений, за которыми, как правило, не стоят какие-либо математические объекты (уравнения и др.). Это - средство реализации свободного полета мысли и воображения, любимое заня-
39