|
![]() |
Для реализации алгоритма в качестве основного был выбран язык программирования С++, который стал едва ли не стандартом для написания любых достаточно сложных программ.
Язык программирования служит двум связанным между собой целям: он дает программисту аппарат для задания действий, которые должны быть выполнены, и формирует концепции, которыми пользуется программист, размышляя о том, что делать. Первой цели идеально отвечает язык, который настолько «близок к машине», что всеми основными машинными аспектами можно легко и просто оперировать достаточно очевидным для программиста образом. С таким умыслом первоначально задумывался C. Второй цели идеально отвечает язык, который настолько «близок к решаемой задаче», чтобы концепции её решения можно было выражать прямо и коротко. С таким умыслом предварительно задумывались средства, добавленные к C для создания С++.
С++ - это универсальный язык программирования, задуманный так, чтобы сделать программирование более простым и приятным для серьёзного программиста. За исключением второстепенных деталей С++ является надмножеством языка программирования C (его объектно-ориентированным расширением).
Основной целью разработчиков C было создание языка, который вместо неудобного и лишённого наглядности ассемблера применялся бы в самых насущных задачах системного программирования. К достоинствам языка С относятся лаконичность записи алгоритмов, логическая стройность написанных на нём программ, их переносимость между компьютерами с различной архитектурой и различными операционными средами (чего не скажешь о программах на машинно-зависимом языке ассемблера). Компиляторы языка разработаны практически для всех существующих в настоящее время платформ. Как никакой другой язык программирования, язык С «доверяет» программисту. Даже в таком существенном вопросе, как преобразование типов данных, налагаются лишь незначительные ограничения. Во многих случаях программы, написанные на этом языке программирования, сравнимы по скорости с программами, написанными на языке ассемблера, при этом они более наглядны и просты в сопровождении. Всё это делает его удобным и эффективным средством для решения разнообразных задач.
Помимо возможностей, которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов, точно отвечающих концепциям приложения, программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных. Информация о типах содержится в некоторых объектах типов, определенных пользователем. Такие объекты просты и надежны в использовании в тех ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.
Различие между C и С++ состоит в первую очередь в степени внимания, уделяемого типам и структурам. C выразителен и снисходителен. С++ еще более выразителен, но чтобы достичь этой выразительности, программист должен уделить больше внимания типам объектов. Когда известны типы объектов, компилятор может правильно обрабатывать выражения, тогда как в противном случае программисту пришлось бы задавать действия с мучительными подробностями. Знание типов объектов также позволяет компилятору обнаруживать ошибки, которые в противном случае остались бы до тестирования. Немаловажно то, что использование системы типов для того, чтобы получить проверку параметров функций, защитить данные от случайного искажения, задать новые операции и т.д., само по себе не увеличивает расходов по времени выполнения и памяти. Система типов особенно полезна в нетривиальных задачах.
Некоторые части программы (работа с мышью и видеокартой) выполнены в виде ассемблерных вставок.
Управление программой производится с помощью мыши. Левая кнопка мыши используется для активизации нужного элемента окна, а правая для перемещения окна.
При запуске программы открывается главное окно,
содержащее следующие элементы:
область выбора типа ёмкости. Содержит изображение одного из трёх доступных типов ёмкостей:
Нажатие левой кнопки мыши в этой области приводит к смене изображения ёмкости.
кнопка, открывающая окно «Параметры стекла»
кнопка, открывающая окно «Выбор жидкости»
кнопка, открывающая окно «Установка камеры».
Кнопка, открывающая окно «Источник света»
кнопка, обеспечивающая построение изображения с учётом всех введённых параметров
кнопка выхода из программы
Окно «Установка камеры»
позволяет выбрать направление взгляда.
Окно «Источник света»
позволяет указать положение и интенсивность источника света.
Окно «Параметры стекла»
позволяет установить требуемые свойства стекла.
Окно «Выбор жидкости»
позволяет выбрать жидкость из предложенного списка. При выборе пункта «Другая жидкость» открывается окно «Параметры жидкости».
Окно «Параметры жидкости»
Для работы программы необходимо наличие видеокарты, поддерживающей хотя бы один из нижеперечисленных режимов (программой будет выбран наилучший доступный режим):
True Color 640?480 32 бита на пиксел (16 миллионов цветов),
True Color 640?480 24 бита на пиксел (16 миллионов цветов),
Hi Color 640?480 16 бит на пиксел (64 тысячи цветов),
Hi Color 640?480 15 бит на пиксел (32 тысячи цветов).
Для работы в режимах 2, 3, 4 объём видеопамяти должен быть не менее 1 Мбайта, в режиме 1 - на менее 2 Мбайт.
До запуска программы необходимо установить совместимый с ней драйвер русского шрифта (например, Cyrillic. exe). Если этого не сделать, то при работе программы русские буквы будут отображаться неверно.
Необходима (аппаратная или программная) поддержка VBE (VESA BIOS Extension) версии 1. 2 или выше. Программная поддержка VBE реализуется программой UniVBE. exe.
Должен быть установлен драйвер мыши (например, Mouse. com)
Номер сообщения
Текст сообщения
Содержание
Действия
7
Установленная видеокарта не поддерживает режимы HiColor и TrueColor 640?480
Установленная видеокарта не поддерживает режимы HiColor и TrueColor 640?480
см. п. 0
14
VBE не поддерживается
VBE не поддерживается
запустите программу UniVBE. exe (см. п. 0. 2)
15
Драйвер мыши не установлен
Драйвер мыши не установлен
Установите драйвер мыши (см. п. 0. 3)
16
Версия VBE должна быть 1. 2 или выше
Версия VBE должна быть 1. 2 или выше
см. п. 0
17
Объём видеопамяти должен быть 1 мегабайт или больше
Объём видеопамяти должен быть 1 мегабайт или больше
см. п. 0
Другие
нарушена целостность программы
проверьте программу на наличие вируса
|