Требования к практикуму по вычислительной математике

реклама
Требования к проекту
«Лабораторный практикум по вычислительной математике»
Является частью требований к конкретным подпроектам
Содержание
0 Общие требования ............................................................................................................2
1 Требования к программам. Хранение данных ...............................................................3
2 Численные методы и их опции ........................................................................................5
3 Оконный интерфейс ..........................................................................................................6
4 Справочная система ..........................................................................................................8
Перечень изменений документа
Дата
07.07
.2006
29.08
.2006
22.10
.2006
23.05
.2008
Версия
0.1
0.2
0.3
0.4
Автор
Евдокимов
Евдокимов
Евдокимов
Евдокимов
Описание изменений
Измененные
разделы
Создание структуры и первичное наполнение все
документа
Изменение терминологии («лаба»)
(введение)
Добавление требований для проверочных про- все
грамм, удаление упоминаний о «скриптах» и
MATLAB, уточнение многих требований
Изменение мелких требований (как правило, в 0, 1, 3, 4
сторону сокращения). Выделение нереализованных, но запланированных требований
Введение
Терминология
В рамках практикума принимаются следующие значения общенаучных терминов:
 Задача – решаемая математическая задача (но не метод решения)
 Метод – численный метод для решения задачи. Методы могут образовывать
иерархию, когда метод одного типа использует один из методов другого типа.
 Расчет – процесс решения поставленной задачи с помощью выбранного метода.
 Входные параметры – все данные по задаче, методу и опциям расчета.
 Решение – результат расчета, включающий различные выходные данные.
 График – графическое представление x-y зависимости, как правило – сеточной
функции.
 Выходные параметры – некоторая часть решения, включающая только скалярные величины (но не векторы/зависимости).
 Вариант расчета – совокупность входных и выходных параметров.
 Лаба – независимая программная единица практикума (эта трактовка понятия
отличается от терминологии «Концепции», где лабой называется задание студентам, включающее, возможно, использование нескольких программных единиц).
 Опции (значение 1) – параметры, значения которых изменяются пользователем
одинаково для всех (многих) лаб и хранятся независимо от вариантов расчета.
 Опции (значение 2: «опции метода») – параметры численного метода, которые
хранятся в файле описания методов и копируются оттуда в вариант расчета.
Обозначения
Курсивом ниже помечается обсуждение реализации требований в различных подпроектах (а не обсуждение самих требований).
Требования к практикуму по вычислительной математике. Версия 0.4
1
0 Общие требования
В данном (и следующем) разделе приводятся функциональные требования, затрагивающие многие части лаб (как графический интерфейс, так и «внутренности» лаб).
0.1 Зависимости (скалярных) выходных от входных параметров
Наиболее интересными входными параметрами являются шаги (шаг сетки, шаг по
времени), а также параметры линейных уравнений или их безразмерные аналоги типа
числа Куранта. К входным параметрам относятся также производные параметры задачи,
автоматически вычисленные по параметрам, введенным пользователем (автоматический
или «ручной» характер вычисления отличает входные производные параметры от выходных параметров, характеризующих не задачу и не метод, а решение задачи). Не поддерживается построение зависимости от нечисловых параметров (например, от названия метода), а также построение зависимости от элементов вектора или матрицы.
Выходными параметрами могут быть элементы вектора решения, но не любые, а
предопределенные (например, значение решения на конце отрезка). Также к выходным
скалярным параметрам (представимым на зависимостях) относятся типовые характеристики сеточных функций (нормы, вычисленные как максимум или как «интеграл» модуля), однако это используется только в тех лабах, которые включают точное решение задачи (смысл имеет только вычисление нормы от разности точного и численного решения, то
есть характеристики погрешности метода). Погрешность является обязательным выходным параметром во всех лабах, включающих точное решение или допускающих оценку
погрешности по определенному алгоритму. В некоторых лабах (с точным решением) дополнительным выходным параметром является также невязка. Обязательным выходным
параметром всех лаб является машинное время, затраченное на расчет.
Построение зависимостей можно реализовать путем поточечного добавления текущих состояний варианта расчета на график (рекомендуется в случае C++), а можно
путем автоматической загрузки многих вариантов в «общем интерфейсе» (реализуется
в случае Java). В случае Java имеется также возможность выбора пользователем осей x
и y (варианты для выбора – возможные для показа входные и выходные параметры – указываются в файле варианта; см. пункт 1.1).
0.2 Сохранение x-y зависимостей (графиков) в текстовый файл
Зависимость сохраняется в файл стандартного табличного формата (с заголовками
столбцов и с разделителями, задаваемыми в опциях), причем файл называется/размещается так, чтобы пользователь не путался, к какому варианту расчета относится
файл. Через эту функцию можно также сравнивать разные зависимости (полученные по
разным методам, с разными шагами и т.п.). Как правило, типичные сравнения на одном
графике выполняются автоматически без знания пользователем механизма сохранения в
файл, однако более сложные сравнения могут быть выполнены студентом через файлы с
использованием внешней программы типа Excel (в случае Java также должна быть
предусмотрена автоматическая загрузка зависимостей многих вариантов из общего документа).
0.3 Показ/сохранение (компактных) таблиц
Для того, чтобы решение, полученное в лабе, можно было использовать как эталон
для проверки студенческих программ, графиков недостаточно, необходимо (быстро) показывать компактную таблицу значений (типичная таблица имеет размер 11 строк на 2
столбца, не считая заголовки столбцов). Причем если задача динамическая, график показывает лишь один момент времени, а таблица должна содержать несколько равноотстоящих моментов (размер 11х12). Показ таблицы делается единообразно с сохранением графиков (см. пункт 0.2; также из контекстного меню графика, также через сохранение в текстовый файл), однако имеются два отличия: текстовый файл таблицы не выбирается польТребования к практикуму по вычислительной математике. Версия 0.4
2
зователем, но сразу после сохранения показывается пользователю (с помощью программы
типа «Блокнот»). Пользователь после показа может сохранить файл под своим именем.
0.4 Анализатор формул
Формулы вводятся в текстовой форме, а затем анализируются специальным анализатором, распознающим все математические операторы (+-*/^) и все основные математические функции (а также спец.функции step («ступенька») и theta (1+sign(x)/2)). Анализатор
применяется в нелинейных задачах и в задачах, требующих постановки граничных или
начальных условий в виде функции. Результатом работы анализатора является функция
многих переменных, пригодная для вычислений – для получения значения функции при
заданных значениях аргументов. Расширенной возможностью анализатора формул, требуемой в некоторых лабах, является функция символьного дифференцирования (которая
позволяет пользователю не вводить матрицу производных введенной системы).
0.5 Использование точных решений
Для всех лаб, которые допускают вычисление точного решения задачи, это решение
используется двумя способами. Во-первых, оно вычитается из численного решения с целью получения погрешности (это относится как к скалярным или векторным решениям,
так и к одномерным и двумерным сеточным функциям). Во-вторых, точное решение показывается на графике (обычно на графике, обновляемом в процессе расчета, см. пункт 3.3),
если оно представимо в виде функции одной переменной (не является числом/вектором
или двумерной функцией). Эта ситуация относится к задачам дифференцирования и интегрирования, к ОДУ и к одномерным УМФ (когда решение показывается в каждый момент
времени или в заданной точке). Вместе с самим точным решением (показываемом на одном графике с численным решением) обычно показывается отдельный график модуля
разности численного и точного решения либо (для УМФ) график зависимости от времени
интегральной нормы модуля разности.
1 Требования к программам. Хранение данных
1.1 Хранение всех данных варианта расчета в XML-файле
В одном файле хранится все состояние задачи, опции метода и расчета, а также основные выходные параметры (не являющиеся сеточными функциями). В случае C++ такой файл содержит не только значения параметров, но и некоторые параметры представления параметров типа названий (те, которые могут быть легко изменены в программе при загрузке варианта). За счет этого преподаватель без помощи программиста
может настраивать названия и места показа параметров (на графиках, на «панели варианта» и др.). При загрузке лабы загружается файл «варианта по умолчанию», который
затем копируется в сохраняемые студентами файлы (с изменениями значений входных и
выходных параметров). Файл «варианта по умолчанию» обрабатывается точно так же, как
и другие.
1.2 Хранение в настроечном файле опций, редактируемых пользователем
Прежде всего, к таким опциям относятся опции графиков, но могут возникать и другие опции внешнего вида (например, опции обновления данных в процессе расчетов, опции запоминания динамики решения, опции сохранения в текстовые файлы). Большая
часть таких опций не зависит от лабы, и поэтому должна быть вынесена в отдельный файл
(пригодный для копирования из одной лабы в другую). Сохранение опций позволяет сократить время технической работы с программой. Сохранение файла (файлов) происходит
незаметно для пользователя – при нажатии кнопки «ОК» в соответствующем окне редактирования опций. Следует заметить, что такие общие для многих лаб опции как параметТребования к практикуму по вычислительной математике. Версия 0.4
3
ры разрядности чисел и флаг «Пересчитывать автоматически» хранятся непосредственно
в файле варианта.
1.3 Обновление лабы преподавателем без обращения к программистам
Имеются ввиду существенные изменения во внешнем виде и в данных программы,
осуществляемые преподавателем не в качестве пользователя программы, а путем редактирования текстовых файлов. Самые простые изменения могут быть внесены путем изменения XML-файла «варианта по умолчанию» (см. пункт 1.1): это значения параметров по
умолчанию (а в случае C++ – также названия и места расположения параметров в интерфейсе). Имеется настроечный файл и для более общих параметров: заголовки окон,
названия/структура закладок и панелей (в качестве формата файла также рекомендуется
XML). Наконец, справочные материалы могут также легко заменяться – в силу того, что
разделы справки каждой лабы хранятся в виде отдельных HTML-файлов (см. пункт 4.1).
1.4 Гибкий механизм обновления программного кода лаб
Под обновлением лаб понимается их постепенная доработка в будущем – с участием
программистов-студентов, но без участия авторов программ. Обновление предполагает не
добавление совершенно новых функций, а расширение набора способов выполнения некой функции (или изменении уже реализованных способов). Прежде всего, расширению/изменению подлежит набор численных методов, но также можно отметить тот код
размещения элементов графического интерфейса, который не управляется настроечными
файлами, упомянутыми в пункте 1.3 (дело в том, что размещение элементов, наполнение
списков и т.д. является предметом наиболее частых изменений лаб).
В подпроекте “C++” механизм обновления кода реализуется двумя способами:
1) Выделение части кода, потенциально предназначенного для расширения, в отдельные
файлы т.н. «открытого» исходного кода, который максимально читабелен, откомментирован (на русском языке), а также снабжен интерфейсом подлежащих реализации
функций и примерами их реализации (которые уже включены в лабу). 2) Загрузка расчетных модулей из независимых DLL (причем так, что основная программа не содержит параметров имен параметров, используемых этими DLL, читая их из настроечного файла и
создавая нужные графические элементы для редактирования значений этих параметров). В подпроекте “Java” используется механизм reflection для непрямой загрузки всего
подверженного расширениям/изменениям кода (оформленного по тем же требованиям) –
то есть для загрузки кода по имени класса, указанному в одном из нескольких настроечных файлах (файлах метаданных). Такие файлы метаданных (для численных методов и
для выбора внешнего вида) вместе со ссылками на программный код содержат некоторые названия (а в случае численных методов – также структуру взаимосвязей и опции
методов).
1.5 Использование понятия «рабочей директории лабы»
Под рабочей директорией лабы понимается студенческая директория (точнее, ее
поддиректория, которая соответствует лабе), которая предназначена для хранения пользовательских настроечных файлов лабы (см. пункты 1.2, 1.3, 1.4), вариантов расчета (см.
пункт 1.1) и сохраненных зависимостей (см. пункт 0.2). Это понятие необходимо для того,
чтобы программу можно было запускать с сервера (или из директории, к которой студенты имеют доступ только для чтения), без копирования в папку студента. [Папка студента –
это либо локальная папка, либо папка в подключенном сетевом диске] Если пользовательский настроечный файл в рабочей директории отсутствует, то используется соответствующей настроечный файл по умолчанию (из директории, где лежит код программы). Для
простоты, вместо хранения имени «рабочей директории» в специальном настроечном
файле, она передается программе в качестве аргумента командной строки (если не передается, используется директория “work” из директории запуска программы).
Требования к практикуму по вычислительной математике. Версия 0.4
4
2 Численные методы и их опции
В данном разделе обсуждаются алгоритмы, реализующие численные методы, а также проявления особенностей этих методов, видимые пользователю в графическом интерфейсе.
2.1 Иерархическая организация кода численных методов
По мере усложнения вычислительных задач, начиная с нелинейных алгебраических
уравнений, результат решения зависит не только от численного метода, выбранного для
самой задачи, но и от методов, применяемых на некоторых шагах общего алгоритма для
решения вспомогательных задач (как правило, это решение линейных или нелинейных
алгебраических уравнений, а также дифференцирование функций). Кроме того, обычно
метод решения задачи содержит неизменную часть (например, решение линейной системы, матрица которой приведена к треугольному виду) и варьируемую часть (например,
приведение матрицы к треугольному виду без выбора главного элемента, с выбором и
т.д.). Таким образом, численные методы образуют естественную иерархию (обычно двухили трехуровневую), причем одни и те же методы могут использоваться как самостоятельно, так и как элементы более общего алгоритма. В такую же иерархию организуются
и программные коды реализации методов (называемые солверами) – для того, чтобы в
солвере верхнего уровня можно было заменить солвер следующего уровня иерархии. Без
соблюдения этого требования программная реализация численных методов включала бы
большое количество кода, дублирующегося в разных солверах, а возможности выбора
пользователем различных методов были бы сильно ограничены.
2.2 Выбор численных методов и их опций
Как следствие предыдущего пункта, пользователь большинства лаб может выбрать
не один метод решения задачи, а несколько методов. Причем набор выбираемых методов
не-верхнего уровня может меняться для различных методов верхнего уровня. Например,
неявные методы решения ОДУ требуют указания методов решения алгебраической системы уравнений на шаге, а явные не требуют; многошаговые методы требуют указания
метода расчета приграничных точек, а для одношаговых это не имеет смысла, но зато для
них может быть выбран алгоритм изменения шага. Очевидно, что кроме уровня в иерерхии, выбираемый метод должен характеризоваться типом (иначе, например, алгоритм изменения шага может быть выбран вместо метода решения алгебраических уравнений, что
недопустимо).
Наряду с самими методами, в иерархию методов включаются опции этих методов,
которые тоже выбираются пользователем. Иногда методы и их опции сложно разделить:
например, явный одношаговый метод решения ОДУ с различными таблицами Бутчера
(которые служат его опциями) обычно рассматриваются как различные методы. К опциям
методов относятся все вышеприведенные рассуждения; в частности, опции имеют тип и
относятся только к определенным типам методов (например, таблица Бутчера является
структурой опций («типом опций») только одношаговых методов Рунге-Кутты – явного,
полуявного и неявного). Отличие опций (точнее, структуры опций) от методов заключается лишь в том, что опции могут быть не только выбраны из какого-либо набора, но и введены пользователем в некоторую структуру, которая определяется методом (см. ниже
пункт 2.3).
Выбор методов и их опций (в т.ч. с учетом сложных взаимосвязей между типами
методов/опций) обычно реализуется на основе файлов метаданных (см. пункт 1.4).
2.3 Редактируемые опции методов
Выше обсуждался выбор метода (и соответствующей структуры опций метода) из
некоторого набора. Даже если у метода есть опции, после выбора метода пользователь не
обязан вводить значения этих опций, поскольку выбор метода автоматически присваивает
опциям значения по умолчанию. Однако часто пользователю требуются изменять опции
Требования к практикуму по вычислительной математике. Версия 0.4
5
(особенно это касается «профессиональных» – не «чисто учебных» – лаб). Структура опций может сильно различаться (даже для однотипных методов, например, для методов изменения шага интегрирования). Поэтому программный код, реализующих графический
интерфейс ввода опций, обычно подчиняется тем же правилам, что и код, реализующий
численные методы.
В частности, в подпроекте “Java” этот код для ввода опций указывается в том
же файле метаданных, что и код численных методов (см. пункт 1.4), а в подпроекте
“C++” все возможные способы редактирования опций метода предусмотрены в основной программе, и файл метаданных просто определяет тот способ, который нужен..
Примечание. Даже если в лабе не предусмотрено возможности редактирования опций метода, значения опций выбранного метода во многих случаях показываются пользователю в нередактируемом режиме. Следует также заметить, что свойства метода, например, порядок точности и класс устойчивости, с методической точки зрения не всегда следует показывать.
3 Оконный интерфейс
В данном разделе рассматривается общая организация графического «окна лабы», но
не затрагиваются требования, относящиеся к наиболее сложным частям интефейса – к
графикам и к процессу редактирования данных; эти части описываются в требованиях к
подпроектам.
Следует заметить, что для подпроекта “Java” (причем для не-Web-версии) «окно
лабы», содержимое которого обсуждается ниже, может быть лишь внутренним окном,
включенным в основное окно т.н. «общего интерфейса».
3.1 Использование в интерфейсе «вкладок» (tabs), «панелей с разделителями» (splits) и т.п. частей для четкого разделения в окне разнотипных данных
Данное требование используется только в том случае, если все необходимые графические компоненты не умещаются (или «с трудом умещаются») в одном окне размера
800х600 пикселей. Требование необходимо для того, чтобы интерфейс был «интуитивно
понятным» и «не перегруженным», а также для того, чтобы будущие расширения функций лабы не приводили к необходимости существенной перекомпоновки элементов интерфейса. Рекомендуется следующий набор вкладок (которые могут объединяться друг с
другом): «Задача», «Метод», «Расчет», «Результаты», однако альтернативой является разделение лабы на «базовую» и «факультативные» части. Вкладка «Расчет» является необязательной и может использоваться для слежения за результатами в процессе расчета (в
том числе, в пошаговом режиме, если он поддерживается), а также для ввода дополнительных параметров методов (например, в случае ОДУ или УМФ: шаги интегрирования,
метод решения алгебраических уравнений, метод получения матрицы Якоби и т.п.; см.
пункт 2.2). Если сравнение результатов разных вариантов расчетов производится в рамках
окна самой лабы, то для этого может выделяться еще одна вкладка «Сравнение» (см.
пункт 0.1 и, возможно, пункт 0.2).
3.2 Показ в одном месте («панели варианта», «строке состояния») текущих
значений всех основных входных и выходных параметров варианта
Назначением отдельной панели варианта с нередактируемыми данными является
возможность понимания пользователем текущего состояния варианта без просмотра многочисленных элементов интерфейса (находящихся в разных вкладках).
На панели варианта обычно показываются те входные и выходные параметры, которые могут быть выбраны в качестве осей зависимостей, описанных в пункте 0.1. Панель
варианта размещается в правой или в нижней части экрана (и видна при выборе любой
вкладки). Возможно размещение на панели варианта нескольких блоков, которые отражают данные как текущего варианта, так и ранее рассчитанных вариантов, соотвествуюТребования к практикуму по вычислительной математике. Версия 0.4
6
щих кривым на графике сравнения. На этой же панели размещается кнопка «Расчет» (чтобы расчет можно было запустить в любой момент). В случае наличия в лабе вкладки «Расчет» эта вкладка становится активной при нажатии на кнопку «Расчет» (с целью слежения
за некоторыми результатами в процессе расчета). В противном случае после завершения
расчета становится активной вкладка «Результаты» (которую на время длительного расчета лучше блокировать).
Вместо панели варианта во многих лабах (особенно в тех, которые не имеют вкладок) используется строка состояния, которая изменяется лишь после пересчета варианта
(однако не изменяется в процессе редактирования варианта). Строка состояния отражает
смысл данных, показываемых на графиках. Имеет место также и промежуточный случай:
многострочная текстовая области, которая может быть скопирована и изменяется аналогично строке состояния, но содержит большое число входных и выходных данных аналогично панели варианта.
3.3 Обновление элементов интерфейса при изменении данных
Во-первых, автоматически обновляется содержимое панелей (закладок) при изменении взаимосвязанных данных в других панелях. Прежде всего, это касается обновления
«панели варианта» и обновления списков компонентов вектора в некоторых панелях при
изменении размерности задачи. Исключением является содержимое вкладки «Результаты», которое может обновляться лишь после завершения расчета.
Во-вторых, в процессе расчетов автоматически обновляются некоторые выходные
данные, показываемые во вкладке «Расчет» (обновляются с некоторой периодичностью,
заданной в опциях). Это относится только к тем лабам, алгоритм расчета состоит из однотипных шагов (итераций), каждый из которых приводит к получению промежуточного
решения.
В-третьих, если в варианте задан флаг «Пересчитывать автоматически» (имеется в
лабах с не слишком ресурсоемкими расчетами), то при изменении любого параметра варианта автоматически запускается расчет (и, соответственно, обновляются все выходные
данные).
3.4 Отсутствие в главном меню пунктов, важных для выполнения расчета
Это необходимо для того, чтобы без меню можно было выполнить элементарную
последовательность действий от постановки задачи до получения основных результатов.
Исключением из этого правила является меню, содержащее ссылки на методические материалы (чтение которых является неотъемлемой частью работы студента). Рекомендуется
следующий набор меню и пунктов меню:
Файл (Создать, Открыть…, Сохранить, Сохранить как…, Выход). Все пункты этого меню, кроме последнего, относятся к файлу варианта расчета.
Расчёт (Запустить расчет, Приостановить расчет, Прекратить расчет). Последние два
пункта для многих лаб часто являются неактивными.
Свойства (пункт или пункты, открывающие редакторы опций поведения и внешнего вида, в частности, опции чисел, опции графиков и опции сохранения результатов в файл).
Справка (Оглавление, Учебник, Задание, Вопросы, Интерфейс, О программе…).
Примечание: все пункты справки, кроме «О программе…», открывают одну и ту же справочную систему (в различных разделах).
3.5 Заставка при загрузке программы
Заставка появляется до открытия окна лабораторного практикума (но не отдельной
лабы) и исчезает автоматически по истечению времени и/или по нажатию на нее мышью.
На рисунок заставки можно помещать не только название, но и информацию о методистах
и разработчиках; в этом случае тот же рисунок следует показывать их через пункт меню
«? / О программе…».
Требования к практикуму по вычислительной математике. Версия 0.4
7
4 Справочная система
Справочная система представляет собой совокупность справочных материалов и
программных компонентов, предназначенных для их показа пользователю.
4.1 Гипертекстовый характер справочных материалов к лабам
Это позволяет делать гиперссылки между различными разделами методических и
иных материалов (ссылки из задания на учебник и на описание работы с лабой и т.п.). В
каждом разделе справки каждой лабы (в разделе верхнего уровня, если у него есть подразделы) имеются ссылки типа «См. также». Необходимо использовать формат HTML (не
*.chm, не MS HTML, а то, что не содержит излишнего форматирования и непосредственно пригодно к публикации в Интернет).
4.2 Структура справочных материалов
Справочные материалы имеют общую структуру в обоих подпроектах (Java и C++) и
включают 12 документов – для каждой лабы (только в одном случае – в лабах №1а «Погрешности: ряды» и №1б «Численное дифференцирование» – две лабы-программы имеются общую справочную систему под общим названием «Погрешности вычислений»).
Кроме документов для конкретных лаб, справка включает введение, список литературы,
две общих справки по пользовательскому интерфейсу (отдельно для Java и C++), а также
три оглавления – два для каждого подпроекта и одно общее оглавление.
Документ отдельной лабы имеет следующую структуру:
1. Введение (без подразделов).
2. Теоретическая справка (здесь всегда есть подразделы, причем последним подразделом идет «Библиографическая справка»).
3. Задание (иногда с подразделами).
4. Контрольные вопросы (без подразделов)
5. Пользовательский интерфейс (со стандартным набором подразделов)
4.3 Навигация по справочным материалам
Навигация осуществляется с помощью стандартного установленного в системе броузера, который запускается программой лабы через один из нескольких пунктов меню. По
возможности требуемые пользователем материалы следует показывать в том же окне броузера, что и старые материалы (иначе число окон будет слишком большим). При выходе
из программы она должна закрывать броузер.
Оглавление справки (для соответствующего подпроекта) вызывается через пункт
«Оглавление» («Указатель») меню «Справка», а разделы документа отдельной лабы открываются через пункты «Учебник», «Задание», «Вопросы» и «Интерфейс» того же меню.
Документ лабы имеет также собственное меню в левой части окна броузера, в котором находится дерево всех разделов и подразделов документа. В основную часть окна
броузера сразу загружается весь документ (за исключением описания пользовательского
интерфейса); то есть, роль пунктов меню заключается не в открытии нового текста, а в
вертикальном перемещении к соответствующему подразделу уже открытого текста.
4.4 Контекстно-зависимая справка по интерфейсу
Под контекстно-зависимой справкой понимается показ по нажатию Ctrl+F1 конкретного подраздела справки из раздела «Интерфейс» (подраздел соответствует тому графическому компоненту, который находится в данный момент в фокусе). Данное требование
является необязательным, однако раздел «Интерфейс» обязательно разрабатывается с
использованием меток, к которым можно перейти автоматически (аналогично тому, как
при выборе разных пунктов меню показываются различные разделы справочной системы).
Требования к практикуму по вычислительной математике. Версия 0.4
8
Скачать