Помимо изучения общей методологии моделирования, в курс компьютерного моделирования входит реализация моделей в виде компьютерных программ диалогового характера.
Характерной чертой практически всех профессиональных моделирующих программ является их диалоговый (интерактивный) характер. Обсудим коротко лишь некоторые черты подобной организации человеко-машинного интерфейса.
Разработка диалоговой моделирующей программы — достаточно сложный процесс, включающий создание сценария, программирование, разработку инструкций и документации. В нашем курсе невозможно требовать реализации всех этих элементов в каждой из выполняемых работ, поскольку тогда программистская работа отодвинет на второй план все остальное; можно лишь рекомендовать использовать элементы организации диалога.
Спроектируем возможное оформление диалога и формы представления результатов для одной из рассмотренных ниже задач по моделированию. Уместно начать с кадра-заставки, где написаны название задачи, фамилия автора программы — это минимум. Если удастся создать несложный рисунок, иллюстрирующий задачу — очень хорошо, он уместен в том же кадре. На следующем кадре разместим описание математической модели и запрос на ввод исходных данных. Обязательным требованием является комментированный ввод значений. Необходимо также четко спроектировать формы для вывода результатов (таблицы, графики, траектории), их очередность, взаимное расположение и т.д.
Неплохо, если в процессе счета программа выводит на экран надпись типа «Подождите, идут расчеты». Когда счет закончен, можно использовать меню со следующими вариантами: «Вывод таблицы результатов», «Вывод графика», «Запись параметров и результатов в файл», «Печать результатов», «Выполнение очередного расчета», «Окончание расчетов».
Отметим, наконец, что те примеры программ, которые приводятся здесь при рассмотрении конкретных моделей, не претендуют на совершенный интерфейс. Их цель — пояснение существа рассматриваемых процессов; попытка же оформить их «по всем правилам» привела бы к большим, плохо читаемым программам, не выполняющим этой разъяснительной функции.