Реферат по предмету "Компьютеры и цифровые устройства"


Обучающая программа "Графика" программированию в графическом режиме на языке turbo-pascal 7.x

СОДЕРЖАНИЕ ВВЕДЕНИЕ 1. НАЗНАЧЕНИЕ ОБУЧАЮЩЕЙ ПРОГРАММЫ 1. Обзор существующих обучающих средств и методов 2. Назначение программы для обучения работе в графическом режиме 1. Роль ЭВМ в учебном процессе СПГУАП 2. Методика обучения с помощью обучающей программы 3. Возможности языка TURBO-PASCAL 6.0 7.О 3. Техническое задание 17 1.3.1.

Постановка задачи 2. Выбор технических средств и программного обеспечения 3. Технико-экономическое обоснование 2. ОПИСАНИЕ БАЗЫ ДАННЫХ 1. Методическое оснащение базы данных 2. Структура базы данных 3. Возможности изменения или обновления 1. Теория 2. Вопросы 3. Справки 3. ОПИСАНИЕ

ПРОГРАММЫ 1. Общие сведения 2. Функциональное назначение 3. Описание логической структуры 4. Используемые технические средства 5. Вызов и загрузка 6. Входные и выходные данные 4. ОПИСАНИЕ ПРИМЕНЕНИЯ 1. Назначение программы 2. Условия применения 1. Технические средства 41 4.2.2.

Общие характеристики входной и выходной информации 3. Пример использования 5. РУКОВОДСТВО ПРОГРАММИСТА 1. Назначение и условия применения программы 2. Характеристики программы 3. Обращение к программе 4. Входные и выходные данные 6. РУКОВОДСТВО ОПЕРАТОРА 1. Назначение программы 47 6.2.

Условия выполнения программы 3. Выполнение программы 4. Сообщения оператору 7. ТЕХНОЛОГИЯ ИСПОЛЬЗОВАНИЯ ОБУЧАЮЩЕЙ ПРОГРАММЫ 8. ПЛАНИРОВАНИЕ РАБОТ ПО СОЗДАНИЮ ОБУЧАЮЩЕЙ ПРОГРАММЫ. СМЕТА ЗАТРАТ 1. Построение ленточного графика 2. Расчет сметы затрат 9. ВОПРОСЫ ОХРАНЫ ТРУДА И ОКРУЖАЮЩЕЙ

СРЕДЫ.БЕЗОПАСНОСТЬ И ХАРАКТЕРИСТИКА САНИТАРНО-ГИГИЕНИЧЕСКИХ УСЛОВИЙ ТРУДА НА РАБОЧЕМ МЕСТЕ ПОЛЬЗОВАТЕЛЯ 1. Основные санитарно-технические требования к помещению 2. Характеристика санитарно-гигиенических условий труда 1. Микроклимат производственного помещения 2. Вредные вещества и пыль 59 9.2.3.

Излучение 4. Освещенность 60 9.2.5. Шум 3. Расчет необходимого воздухообмена 4. Система освещения 5. Инженерно-технические мероприятия по созданию благоприятных условий труда 1. Защита от шума 2. Защита от излучения 3. Меры защиты от поражения электрическим током 63 9.6.

Организация рабочего места пользователя при работе с терминалом 7. Противопожарные требования 8.Приборы контроля параметров среды 66 ЗАКЛЮЧЕНИЕ 68 СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 69 ПРИЛОЖЕНИЕ 1 Текст программы 70 ПРИЛОЖЕНИЕ 2 База данных 107 ПРИЛОЖЕНИЕ 3 Экранные формы 157 ВВЕДЕНИЕ Обучение - очень важный процесс в современном обществе.

От того насколько качественно и эффективно оно будет осуществляться зависит благосостояние народа. В нынешней сложной экономической ситуации крайне необходим прилив новых хорошо подготовленных кадров во все сферы народного хозяйства. Необходимо быстрое внедрение всех достижений науки и техники в производство- Возрождение отечественного производства - залог экономического подъема, роста социального благосостояния народа. Компьютер - одно из главных изобретений века.

В последнее десятилетие он стал неотъемлемой частью жизни человека. Компьютер применяют в самых различных областях жизнедеятельности начиная с решения простейших математических задач, моделирования различных процессов, применение в банковском деле, медицине, образовании, издательском деле, использование компьютера для управления различной техникой в том числе автомобилем, самолетом, космическим кораблем до использования в быту, играх.

Идея обучения с помощью компьютера родилась давно. Связана она была с видимостью человекоподобного поведения компьютера, его способности вести осмысленный диалог с человеком. Первые попытки внедрить компьютер В обучение были сделаны еще в 50-х годах , когда в качестве устройства ввода вывода использовался телеграфный аппарат. В течение последующих 40-лет ведутся непрерывные интенсивные исследования в этой области.

За это время компьютерная техника изменилась, стала более совершенной, появились персональные компьютеры , микрокомпьютеры. Разработано программное обеспечение , обеспечивающее довольно широкое использовать технический возможности компьютера. Снижение стоимости компьютерной техники позволило внедрить ее в образовательных учреждениях. Теперь компьютеры пошли в школы, институты и в количественном выражении Компьютеризация образования идет высокими темпами в отдельных странах число школьных компьютере составляет

уже десятки и сотни тысяч, а в США - миллионы. И в нашей стране школьники старших классов уже в течение семи лет изучают такой предмет как информатика, знакомятся с компьютерами и основами работы на них. Однако, обучение с помощью компьютера остается малоэффективным. Основная причина состоит в том, что разработчики автоматизированных обучающих систем преследуют цель компьютеризация обучения ради самой компьютеризацию

Мало внимания уделяется дидактике. Возможности применения компьютера в учебном процессе, весьма многообразны. Он может служить для моделирования изучаемых явлений или систем, для реализации учебных игр, применяться для выполнения вычислений , для редактирования текстов, в качестве различного рода тренажеров, как инструмент автоматизации проектирования, программируемого управления экспериментами, как информационно-поисковая или экспертная система и наконец как средство практического обучения самой компьютерной технике и программированию

. В настоящее время уже создано множество средств обучения с помощью компьютера- Их можно квалифицировать следующим образом компьютерные учебники, предметно-ориентированные среды микромиры, моделирующие программы, учебные пакеты , лабораторные практикумы тренажеры, контролирующие программы. Компьютеры прочно вошли в учебный процесс Санкт-Петербургской государственной академии аэрокосмического приборостроения. Компьютер здесь служит не Только предмета изучения, но и средством обучения.

Уже внедрены и применяются ряд компьютерных программ для обучения и контроля, в частности контролирующие программы, моделирующие с элементами контроля по таким предметам как Охрана труда , Экономика и планирование производства , Схемотехника , Кодирование информации и др Однако, потребности академии в компьютерных обучающих программах не удовлетворены. Именно поэтому темой данной дипломной разработки стала программа для обучения работе

в графическом режиме. В учебном плане академии отсутствует лекционный курс по теме Графический режим языка Turbo-Pascal . Это делает сложным работу со студентами на лабораторных практикумах, вызывает много вопросов у студентов и усложняет работу преподавателей. Среди уже существующих обучающих программ отсутствует программа обучения работе в графическом режиме. К требуемой программе предъявлялись совершенно конкретные специальные требования .

Перед разработчиком была поставлена задача создания программы для обучения с элементами контроля, дающей возможность повторного изучения материала, поясняющей ошибки обучаемому студенту. Программа должна включать в себя соответствующий методический материал по заданной теме, подобрать и оформить который предстояло также разработчику. Именно такая программа была создана. Программа имеет название Графика , содержит теоретический материал по заданной теме, контрольные вопросы

с необходимыми поясняющими справками. Разработчик надеется, что цель восполнения пробела лекционного курса, повышения качества и интенсивности обучения студентов с помощью данной программы, им достигнута. 1. НАЗНАЧЕНИЕ ОБУЧАЮЩЕЙ ПРОГРАММЫ 1.1. Обзор существующих обучающих средств и методов Известно, что возможности применения компьютеров в учебном процессе весьма многообразны. Он может служить для моделирования изучаемых явлений или систем, для реализации учебных игр, применяться

для выполнения вычислений, для редактирования текстов, в качестве различного рода тренажеров, а также как инструмент автоматизации проектирования, программируемого управления экспериментами, как информационно-поисковая или экспертная система, наконец, как средство практического обучения самой компьютерной технике и программированию. Вместе с тем, особый интерес представляет использование компьютера в качестве дидактического инструмента общего назначения, применимого для обучения любым знаниям.

Идея обучения с помощью компьютера появилась давно. Первые попытки относятся к концу 50-х годов. В то время уже имелась возможность общения человека с компьютером посредством используемого в качестве устройства ввода вывода телеграфного аппарата-телетайпа. Надлежащим образом запрограммированный компьютер заносит в свою память набираемый человеком на клавиатуре телетайпа текст запроса, а по окончании ввода этого текста производит некоторый анализ его и печатает

на телетайпе заранее заготовленный, или конструируемый из подходящих элементов текст ответа. Или проще - компьютер выдает на телетайп текст вопроса или условия задачи и ждет ввода с клавиатуры ответа, который затем сверяется с имеющимся эталоном, чтобы выдать оценку верно неверно. С тех пор во всем мире ведутся непрерывные научные поиски решения проблемы эффективного и дешевого способа обучения с помощью компьютера. Проблему дороговизны попробовали решить в 70-е годы специалисты

Иллинойского университета. Их силами была создана поражавшая своими техническими возможностями суперсистема PLATOIY. Каждому учащемуся здесь был предоставлен уже не телетайп, а комфортабельный терминал с плазменным дисплеем, обеспечивающим выдачу произвольного текста, графики и цветных кадров с микрофишей в сопровождении звука. Расчеты на низкую стоимость системы не оправдались и после проведенных испытаний в условиях обучения школьным предметам выявилась сложность, дидактическая неэффективность и трудоемкость подготовки учебных

материалов. Создание компьютерных систем обучения приняло широкий размах и в связи с этим говорили о революции в образовании. Но в действительности существенного влияния на практику обучения разрабатываемые системы не оказали, и ни одна из них не получила сколько-нибудь значительного применения системы создавались сами по себе, а обучение людей производилось с помощью книг и лекций. С появлением массового производства недорогих и удобных в использовании микрокомпьютеров, компьютеризация

в настоящее время в количественном выражении идет высокими темпами. В конце 80-х годов проблемной лабораторией электронных вычислительных машин Московского государственного университета была создана микрокомпьютерная система обучения Наставник . Эта система предназначена для обучения предметам теоретического характера в вузах, техникумах, профессионально-технических училищах, общеобразовательных школах, центрах подготовки, переподготовки

и повышения квалификации кадров на предприятиях. Типовой вариант системы рассчитан на обучение одновременно до 32 учащихся, обслуживаемых одним микрокомпьютером. Система проста и удобна в управлении, не требует специальной подготовки преподавателей и удобна для обучаемых. Все общение с компьютером происходит по подсказкам и контролем с его стороны. В состав аппаратуры системы входит микрокомпьютер общего назначения, дисплей с клавиатурой, гибкий

магнитный диск или магнитная лента, принтер, специализированное оборудование для связи учащихся и преподавателя с компьютером, включающее мини терминалы, источники электропитания мини терминалов и контроллер для сопряжения их с микрокомпьютером, систему кабелей. Программное обеспечение системы состоит из пяти частей. Три части, Обучение , Экзамен , Тест , обеспечивают возможность проведения соответствующих занятий.

Существуют еще две служебные подсистемы - подготовки управляющей информации и обработки протоколов. Программное оснащение реализовано и функционирует в диалоговой системе структурированного программирования ДССП , которая после ее начальной загрузки, обеспечивает всю дальнейшую работу. По вводимым с клавиатуры командам производится дозагрузка требуемой подсистемы и ввод управляющей информации . Далее система работает не обращаясь к внешней памяти.

И только в конце занятия согласно вводимым командам производит распечатку и или запись в архив протокола. Алгоритмы функционирования основных подсистем разработаны так, что обеспечивают управление обучением и проведение экзаменов или тестов независимо от конкретного содержания учебных материалов. т.е. пригодны для автоматизированных занятий по любым предметам. Работа подсистемы Обучение заключается в предоставлении учебных материалов, разбитых на секции, и назначении

упражнений по каждому разделу, в случае неверных ответов обучаемому выдается справка, поясняющая суть ошибки и отсылающая к необходимому абзацу инструктивного текста. В отдельных случаяx назначаются дополнительные упражнения. В случае успешного ответа на все вопросы по разделу обучаемый переходит к изучению следующей секции. В случае неверного ответа - возврат в предшествующую секцию или отправка к преподавателю.

Подсистемы Экзамен и Тест предназначены для контроля знаний и умений. В режиме Экзамен обучаемый получает от преподавa- теля набор секций, в которых получает определенное преподавателем число упражнений с ограниченным числом попыток ответов. Верные ответы подтверждаются, а неверные отрицаются, однако справки не выдаются. Тест отличается от Экзамена тем, что каждый учащийся отвечает на все имеющиеся в учебном материале

вопросы, причем попытка ответа предоставляется только одна. Ответы не подтверждаются и не отрицаются. Вся работа учащегося протоколируется . Учебно-мето- дическое оснащение наименее фиксировано и наиболее открыто для наращивания и развития. Жестко определены только форматы и правила оформления учебных материалов. Никаких ограничений по тематике и содержанию учебных материалов, равно как и методик или дидактических

приемов, кроме необходимости выражаться в форме множественного выбора, нет. Подробнее о микрокомпьютерной системе Наставник можно прочитать в 1 . В период с 1991 по 1994 годы Российским НИИ информационных систем по заданию государственного комитета высшей школы России были проведены четыре конкурса Электронный учебник , В результате этих конкурсов в фонде

РосНИИ ИС накоплено более 150 компьютерных обучающих программ готовых к распространению на IBM PC и совместимых с ними. Их классификация и краткая характеристика, применяемых в них методов подробнее приведена в 2 Среди этих программ можно выделить следующие основные группы инструментальные системы , прикладные пакеты, учебные пакеты. Инструментальные среды предназначены для создания компьютерных обучающих программ. Они сокращают трудоемкость при создании этих программ, то же время дают возможность

легко участвовать в разработке программ преподавателям, не являющимся квалифицированными программист ми. Примерами отечественных инструментальных сред могут служить такие системы как Адонис , Урок , Аосмикро , Сценарий и др Недостатком таких систем является то, что они дорогостоящи. Кроме того для эффективного применения инструментальных систем необходимо привлечение стабильной группы специалистов, что создает определенные трудности. Обучающие программы могут создаваться на базе прикладных

пакетов, которые позволяют преобразовывать математические выражения, производить вычисления, строить графики, обрабатывать экспертные данные и т.п. По сравнению с инструментальными средами прикладные пакеты дешевле, более универсальны, доступны широкому кругу пользователей. Альтернативой прикладным пакетам могут служить учебные пакеты. В общем случае компьютерные программы учебного назначения можно разбить на следующие группы 1 компьютерные

учебники 2 предметно-ориентированные среды микромиры, моделирующие программы, учебные пакеты 3 лабораторные практикумы 4 тренажеры 5 контролирующие программы Проблема практического применения ЭВМ в учебном процессе продолжает стоять и сейчас. Важно использовать все новейшие достижения науки и техники для более эффективного обучения школьников, студентов, специалистов самых разных специальностей,

На кафедре общей физики Новосибирского государственного университета компьютеры при чтении лекций начали использовать около 10 лет назад. С 1992 года здесь ведутся разработки по созданию универсального автоматического комплекса, предназначенного для лекционных демонстраций. В комплекс входят персональные ЭВМ, видеоаппаратура, TV-мониторы и программное обеспечение. К настоящему времени уже создан и действует макет такого комплекса,

лекционная мультимедиа аудитория ЛЕММА . Программное обеспечение - это полный набор средств создания, модификации и воспроизведения мультимедиа продуктов, предназначенных для сопровождения лекционных курсов. Мультимедиа продукт создается из слайдов графических изображений в стандарте PCX , анимации анимационных сюжетов в стандарте FLI , задач исполнимых программ DOS и видео сюжетов, записанных на видеокассетах в стандартах

PAL SECAM. Мультимедиа продукт включает информацию о демонстрационных единицах и их расположении на информационных носителях, названия демонстрации и способы их представления. Программы обеспечение выполнено в системе Turbo-Pascal с использованием стандартной библиотеки Turbo Vision и состоит из трех основных программ 1 Программа Планировщик лекций . Выполняет функции создан настройки и модификации мультимедиа продуктов,

вставки в продукт новых и изъятие устаревших материалов, просмотр материалов, планирование сценарием для лекционной работы. В режиме разметки видеофрагментов выполняет полный набор функций управления видеоаппаратурой и обеспечивает разметку выбранного видео сюжета. 2 Программа Ассистент . Предназначена для предоставления демонстрационного лекционного материала в процессе лекций. Матери ал выбирается в соответствии со сценарием.

3 Программа Демонстратор анимации . Данная программа осуществляет демонстрацию анимационных сюжетов в стандарте FLI аниматора Autodesk Animator и организует управление анимацией в ходе исполнения. Возможна приостановка воспроизведения. Для пояснения представляемого материала используется указка - графический курсор, управляемый манипулятором мышь . Сценарий лекций составляется методистами - профессиональными лекторами - применительно к конкретной

тематике лекций с учетом подготовки аудитории. Более подробно данный метод описан в 3 Все описанные выше обучающие средства и методы имеют общую цель - максимально возможное использование компьютера в процессе обучения. Однако, они не решают задачу , поставленную перед разработчиком темы данной дипломной работы. Поиски наиболее рационального решения вопроса применения ЭВМ в обучении идут и сейчас. Разработка данной дипломной работы - это еще одна попытка использовать

компьютер как средство обучения. 1.2. Назначение программы для обучения работе в графическом режиме 1.2.1. Роль ЭВМ в учебном процессе СПГУАП В учебном процессе очень важна в последнее время роль ЭВМ. Научно-технический прогресс требует от учебных заведений оперативности в решении вопросов технического обеспечения учебного процесса. Однако, слабое финансирование не позволяет в полной мере соответствовать этим требованиям. В настоящее время вычислительная техника развивается достаточно быстро.

Появляются Как новые машины, так и все более сложное и разнообразное программное обеспечение. ЭВМ входит в нашу жизнь все больше и в самых различных областях науки и производства, сферы обслуживания и образования. Потребность в грамотных пользователях возрастает с каждым днем. ЭВМ прочно вошли в учебный процесс Санкт-Петербургской Государственной Академии аэрокосмического приборостроения.

Академия имеет кафедру Вычислительных машин , которая готовит специалистов по вычислительной технике. Помимо будующих программистов-электронщиков на кафедре проходят подготовку и студенты других специальностей. Студенты изучают курсы Алгоритмизация и программирование , Языки прог-рамирования , Вычислительные комплексы, системы и сети и др Лаборатории кафедры оснащены персональными ЭВМ, микроЭВМ, имеется класс аналоговых вычислительных машин,

вычислительный центр, установлена локальная сеть. Студенты Академии учатся пользоваться компьютером как помощником в учебе. Они приобретают навыки работы на компьютере, учатся программировать . В Академии на многих кафедрах введены курсы лабораторных работ на компьютере. Они представляют собой набор контрольных работ. В частности, такие программы введены по курсам схемотехника

, охрана труда . На кафедре экономики введен курс лабораторных работ на компьютере. Программа предоставляет студенту возможность смоделировать то или иное производство и самому проследить результаты его работы, в затем сделать выводы. Такие программы повышают интерес студентов к предмету, дают возможность получить навыки работы с компьютером, сокращают время на изучение той или иной темы, освобождают преподавателя для индивидуальной работы со студентами.

Компьютеры прочно вошли в учебный процесс СПГУАП. Это обеспечивает высокое качество подготовки специалистов по всем специальностям. 1.2.2. Методика обучения с помощью обучающей программы Данная обучающая программа предназначена для студентов младших курсов Академии аэрокосмического приборостроения. Она восполняет отсутствие курса лекций по теме

Графический режим языка Turbo-Pascal . Теоретический материал изложен следующим образом. В начале раздела приводится его краткое содержание и цели его изучения. Затем приводятся названия процедур и функций с параметрами , а ниже описываются их назначение и роль параметров. Название процедур и функций для наглядности выделены красным цветом . Процедуры и функции, требующие иллюстрации содержат графические комментарии.

Одновременно с теоретическим материалом программа содержит контрольные вопросы. Это обеспечивает возможность студенту самостоятельно изучить предлагаемый материал и самостоятельно проверить свои знания. После изучения тем 3-7 студенту предлагается ответить на четыре вопроса, случайным образом выбираемые из имеющихся в базе данных. Контрольные вопросы оформлены следующим образом. Сам вопрос расположен наверху экрана. Ниже приведены четыре варианта ответов.

Студенту предлагается выбрать правильный и ввести его номер. Такая форма вопросов удобна . Практически студенту необходимо найти все ошибки в приведенных вариантах ответов . Необходимо помнить при написании базы данных, что при такой форме контрольных вопросов нецелесообразно приводить варианты ответов типа Да , Нет , Возможно . И вопросы должны формулироваться соответственно. За работу с контрольными вопросами студенту выставляется

оценка. Выставляемая оценка может быть занесена преподавателем в журнал, а может быть использована и как итог самоконтроля при самостоятельном обучении с помощью компьютера. Программа для обучения работе в графическом режиме языка Turbo-Pascal содержит 7 разделов 1 программирование графических режимов 2 управление курсором и полем рисования 3 формирование прямолинейных монохромных изображений 4 управление цветом и стилем изображений 5

программирование цветных криволинейных изображений 6 формирование графических текстов 7 программирование динамические озвученные сцены Первый раздел посвящен графическим режимам. В разделе, на базе элементарной структуры Turbo-Pascal-программы, показано использование графических средств языка. Здесь изучаются процедура вхождения в графический режим, UnitGraph, процедура восстановления текстового режима,

CloseGraph, процедура изменения графического режима и процедура восстановления исходного текстового режима. В разделе приводится описание вспомогательных процедур и функций, с помощью которых можно получить справки о текущем графическом режиме и графическом адаптере. Этот раздел вводит студента в курс изучаемой темы. Знание этого раздела будет необходимо при написании любой программы с использованием графики.

Второй раздел содержит информацию также необходимую для любой работы в графическом режиме. Он посвящен процедурам управления курсором и полем рисования. В языке существует возможность перемещать курсор относительно исходного положения без рисования. Возможно определять координаты курсора. Это бывает необходимо, когда координаты очередного местонахождения курсора заранее неизвестны. В данном разделе описаны процедуры очищения экрана, установки прямоугольного

окна, очищения открытого окна, возвращение параметров активного окна. Система меню данной обучающей программы дает возможность обучаемому самому уста навивать порядок изучения разделов. Однако, автор рекомендует начать изучение разделов в порядке их следования Если обучаемый уже владеет информацией, содержащейся в первых двух разделах, то их можно просто просмотреть, чтобы еще раз вспомнить возможности графического режима.

Такой просмотр не займет много времени, но поможет быстрее и точнее ответить на контрольные вопросы следующих разделов. Третий раздел посвящен формированию прямолинейных монохромных изображений. Цель данного раздела обучить студента пользоваться операторами построения прямолинейных фигур отрезков, прямоугольников, параллелепипедов и ломаных линий. Рассматривается возможность закраски фигур определяемым предварительно стилем и цветом.

Изучив этот раздел студент должен не только научиться строить фигуры с использованием приведенных процедур, но и видеть разницу между аналогичными с первого взгляда процедурами, находить наиболее рациональное решение поставленной задачи. На это обращается большое внимание в контрольных вопросах. Этот и все последующие разделы содержат после теоретической части контрольные вопросы. Обучаемому предоставляется возможность дважды через меню войти в каждый из этих разделов.

При этом повторное изучение теории обязательно. После ответов на вопросы выставляется оценка. Эта оценка хранится в разделе Результаты Вашей работы . Таким образом можно получить две оценки за одну тему. Обе они будут зафиксированы и учтены при выставлении оценки работы за сеанс. Все дальнейшие разделы включая третий посвящены непосредственно формированию графических изображений.

Они по сути самостоятельные под темы. Однако, каждый следующий раздел содержит часть информации предыдущий разделов, опирается на эту информацию, использует в приводимых примерах и в контрольных вопросах. Поэтому и последующие разделы рекомендуется в первый раз изучать в порядке их следования. Четвертый раздел знакомит с операторами управления стилем и цветом изображений. В данном разделе приведены процедуры установки цвета фона и цвета рисования, процедуры изменения одного

или нескольких цветов палитры, а также процедуру дающую справочную информацию о текущей цветовой палитре. Цветовая палитра проиллюстрирована. Приведен пример и стандартных стилей закраски. Изучив данный раздел студент получает возможность управлять стилем рисования, а именно устанавливать тип контурных линий один из четырех стандартных или нестандартный , устанавливать стиль закраски один из 12 стандартных или формировать свой, нестандартный образец закраски.

Приведено также описание справочных процедур возвращающих значение текущих цвета и стиля рисования. Пятый раздел посвящен криволинейный изображениям. В нем студент сможет ознакомиться с процедурами построения дуг окружности и эллипса, контуров окружности и эллипса, круга, секторов криволинейных фигур, а также с процедурой закраски ограниченных областей, закрашенного эллипса и сектора. Данные процедуры проиллюстрированы и это дает возможность быстрее разобраться

в их возможностях. При формировании иллюстраций к данным процедурам были использованы различные цвета и стили закраски. Это обеспечивает повторение уже изученного в разделе четыре материала. Пятый раздел знакомит студента с понятием генератора случайных чисел и функцией возврата случайного числа. Шестой раздел назван Формирование графических текстов . Он посвящен операторам языка, с помощью которых возможно формировать стандартные шрифты один растровый

и четыре штриховых и нестандартные их количество зависит от содержимого внутренней таблицы шрифтов компьютера . Примеры этих шрифтов приведены в качестве иллюстраций в программе. В этом разделе рассматривается возможность изменения пропорций штриховых шрифтов, вспомогательные процедуры возврата ширины заданной текстовой строки, привязки выводимого текста к текущему положению курсора, возврат параметров текущего текстового шрифта. Вывод символьной строки осуществляется с помощью процедур

OutText и OutTextXY. Они также рассмотрены в разделе. Знание возможностей языка Turbo-Pascal, в частности графических шрифтов, дает возможность более полно их использовать. Поэтому изучение данного раздела не менее важно чем изучение предыдущих . Последний раздел программы является наиболее сложным для изучения, однако и наиболее интересным с точки зрения будущего программиста. Он знакомит со способами программирования эффектов мультипликации с использованием

динамической и видеопамяти компьютера, программированием звуковых эффектов с использованием одноканального звукогенератора. Здесь рассматриваются наиболее общие приемы мультипликации, основанные на предварительном формировании, сохранении и быстром выводе, если требуется с наложением, на экран статических изображений. Это обеспечивается наличием средств работы с динамической памятью компьютера и возможностью использования страничной организации его видеобуфера. Программа знакомит студентов с соответствующими процедурами.

В качестве иллюстрации приведен пример создания эффекта движения вдоль экрана объекта в области 50x50 пикселов. Создание звуковых эффектов с использованием одноканального звукогенератора сводится к включению, выключению и программированию определенных законов изменения частоты звукогенератора. Это делается с помощью процедур Sound и NoSound. В программе также приведен пример использования звукогенератора. Для обучения с помощью данной обучающей программы необходимо знать язык

Pascal , интегрированную среду и персональный компьютер IBM PC. Программа рассчитана на работу с ней в течение 40 минут . Если после работы с программой в течение этого времени студент получил неудовлетворительные оценки, то целесообразно дать ему возможность пополнить свои знания с помощью учебной литературы, а затем вернуться к компьютерной версии. 1.2.3. Возможности языка TURBO-

PASCAL 6.0 7.0 Pascal является широко распространенным языком программирования высокого уровня. Система программирования Turbo-Pascal была разработана в середине 80-х годов фирмой Borland International США . Turbo - торговая марка фирмы-разработчика. Turbo-Pascal включает в себя как язык программирования - одно из расширений языка Pascal для ЭВМ типа IBM, так и среду, предназначенную для написания, отладки и запуска программ.

Turbo-Pascal имеет широкие возможности. Практически он полностью реализует аппаратные возможности персонального компьютера фирмы IBM и совместимых с ним. Система имеет два основных достоинства простота и естественность языка программирования Pascal, великолепные сервисные возможности диалоговой среды программирования фирмы Borland. Язык характеризуется расширенными возможностями по сравнению со стандартом, хорошо развитой библиотекой стандартных модулей, позволяющих использовать возможности операционной системы, создавать

оверлейные структуры, организовывать ввод-вывод , формировать графические изображения и т.д Среда программирования позволяет создавать тексты программ, компилировать их, находить ошибки и оперативно их исправлять, компоновать программы из отдельных частей, включая стандартные модули, отлаживать и выполнять отлаженную программу. За последние годы фирма выпустила шесть модификаций этой системы, известных как версии 3.0, 4.0, 5.0, 5.5, 6.0, 7.0. Каждая из них представляет собой усовершенствование предыдущей,

однако, и все программы, разработанные для младших версий, могут практически без изменений компилироваться и исполняться на более поздних. С помощью Turbo-Pascal можно создавать любые программы - от программ, предназначенных для решения простейших вычислительных задач, до сложных современных систем управления базами данных и операционных систем. Система не уступает, а в некоторых случаях и более проста в применении, по сравнению с профессиональным языком программирования

СИ. Пакет Turbo-Pascal 7.0 предоставляет пользователю также большой объем справочной информации. Он как и версия 6.0 обеспечивает многооконный и много файловый режим работы, использование манипулятора мышь , позволяет применять объектно-ориентированное программирование, обладает встроенным ассемблером, имеет инструментальное средство создания интерактивных программ - Turbo-Vision -и т.д. Пакет Turbo-Pascal 7.0 позволяет работать в обычном режиме

MS DOS и может быть использован практически на любой машине. Версия имеет ряд преимуществ по сравнению с предыдущими 1 выделение цветом различных элементов исходного текста программы - идентификаторов, зарезервированных слов, комментариев, строк, чисел и т.д что позволяет уже на стадии ввода исходного текста устранить многие ошибки, описки 2 многофайловая система помощи с возможностью ее перестройки пользователем 3 наличие локального меню с содержанием, зависящем от текущего

состояния среды 4 ряд дополнительных расширений языка, таких, как использование открытых массивов, параметров-констант, типизированного адресного оператора и т.д дающих программисту дополнительные возможности, позволяющих совмещать требования, накладываемые на программы операционной системой MS DOS и средой Windows, пользоваться некоторыми возможностями, которых нет в языке Pascal и которые есть в других языках, например в языке

СИ 5 наличие дополнительных стандартных процедур и функций 6 наличие дополнительных ключей компилятора 7 расширенные возможности объектно-ориентированного программирования 8 получение более эффективных кодов программ использование кодового сегмента для размещения строковых констант и констант типа-множества, удаление пустых строк, проверка переполнения величин целых типов, более быстрый ввод-вывод текстовых файлов и т.д. 9 усовершенствованные программы Turbo

Vision 10 новая улучшенная компоновка системы меню. 1.3. Техническое задание 1.3.1. Постановка задачи Техническое задание данной дипломное работы требует разработать программу для обучения работе в графическом режиме языка Turbo-Pascal 6.0 7.0 , предназначенную для студентов младших курсов Санкт-Петербургской государственной Академии аэрокосмического приборостроения.

Программа должна отвечать следующим требованиям 1 позволять индивидуально изучить работу с компьютеров в графическом режиме 2 содержать 7 разделов для изучения - программирование графических режимов - управление курсором и полем рисования - формирование прямолинейных монохромных изображений - управление цветом и стилем изображений - программирование цветных криволинейных изображений - формирование графических текстов - программирование озвученных динамических сцен 3 представлять изучаемый материал наглядно,

сопровождая текст необходимыми иллюстрациями 4 предусматривать возможность повторения изученного материала 5 предусматривать возможность контроля приобретенных знаний 6 регистрировать результаты контроля знаний 7 обеспечивать возможность разъяснения студенту в случае необходимости его ошибок 8 иметь продолжительность сеанса не более 45 минут 9 программа должна быть написана на языке программирования Turbo-Pascal , не ниже версии 6.О 1.3.2. Выбор технические средств и программного обеспечения

Для реализации данного технического задания необходимо использование персонального компьютера типа IBM или совместимого с ним, растровый дисплей с графическим адаптером типа EGA, имеющий объем видеобуфера 256 К ,графическим выводом 640x350 пиксел , 16 регистрами палитры режим ЮН . В качестве программного обеспечения необходимо иметь DOS, инструментальную интегрированную среду Turbo-Pascal 7.O.

1.3.3. Технико-экономическое обоснование Разрабатываемая программа предназначена для студентов младших курсов СПГУАП. В учебном плане отсутствует курс лекций по данной теме и изучение графического режима полностью оставлено для самостоятельного изучения. Однако, для многих студентов работа только с литературой является затруднительной, малопонятной и для получения удовлетворительных результатов требует больших временных затрат.

Применение компьютерной программы для обучения в данном случае является целесообразным. В процессе работы с такой программой студент приобретает навыки работы с компьютером, что является целью курса, и получает конкретные знания по теме Графические средства алгоритмического языка Turbo-Pascal . Диалог ЭВМ-пользователь в данном случае обучаемый ведется в удобном для последнего темпе, что обеспечивает лучшее усваивание материала. Каждый студент имеет возможность изучать разделы темы

в удобном для него порядке. Это экономит время студента для изучения более важных для него разделов и игнорирование разделов, которые ему уже знакомы. В то же время преподаватель имеет возможность уделять внимание студентам в индивидуальном порядке. Программа предусматривает элементы проверки знаний в виде контрольных вопросов в конце разделов. Такая система обучения дает возможность студенту самостоятельно оценить свои знания.

После ответа на вопрос обучаемый получает справку о его правильности и пояснения в случае неверного ответа. После ответов на все вопросы раздела он может изучить тему вновь и вновь ответить на контрольные вопросы. Принцип обучение контроль повышает уровень получаемых знаний. В предыдущих разделах были описаны многочисленные средства и методы обучения с помощью компьютера. Однако, разработка настоящей программы для обучения является необходимой и целесообразной в условиях

данного учебного заведения. Целью создания данной программы является удовлетворение нужд учебного процесса с учетом технических возможностей академии, а именно разработка методических материалов по программированию с использованием ЭВМ типа IBM PC и языка Turbo-Pascal. Среди уже существующих компьютерных обучающих программ отсутствует программа для обучения работе в графическом режиме языка Turbo-Pascal. Таким образом разработка методических материалов необходима при

использовании любых методов обучения. Кроме того существующие обучающие программы не отвечают ряду требований технического задания , в частности по содержанию программы, ее оформлению, ограничению по продолжительности сеанса, выбору языка программирования. Разработка данной программы является экономически обоснованной. Существует теоретическая возможность приобретения академией уже существующего аналогичного программного обеспечения и адаптация его для решения конкретной задачи по обучению работе в графическом режиме.

Это потребует значительных материальных затрат как на приобретение такого программного обеспечения , так и на его обработку и подготовку к работе . В сложившейся экономической ситуации такое решение проблем для академии невозможно. Данная дипломная работа решает вопрос обеспечения учебного процесса необходимым компьютерным сопровождением и экономит материальные средства академии. 2. ОПИСАНИЕ БАЗЫ ДАННЫХ 2.1. Методическое оснащение базы данных

В 1992 году фирма Borland International выпустила два пакета программирования, основанные на использовании языка Паскаль -Borland Pascal 7.0 и Turbo Pascal 7.O. Первый пакет включает в себя три режима работы в обычном режиме операционной системы MS DOS, в защищенном режиме MS DOS и в среде Windows. Этот пакет требует для использования своих возможностей довольно большой объем памяти -примерно 30

Мбайт на Жестком диске и не менее 2 Мбайт оперативной памяти. Пакет Turbo-Pascal 7.0 обладает ограниченными возможностями и дает возможность работать только в обычном режиме MS DOS. Однако, он доступен для использования на обычных персональных компьютерах типа IBM и его стоимость по сравнению с первым пакетов значительно ниже Turbo-Pascal включает в себя язык программирования - одно из расширений языка

Паскаль для ЭВМ типа IBM и среду, предназначенную для написания, отладки и запуска программы. Язык имеет расширенные возможности по сравнению со стандартом, хорошо развитую библиотеке модулей, позволяющих использовать возможности операционной системы, создавать оверлейные структуры, организовывать ввод-вывод, формировать графические изображения и т.д. Целью написания данной программы является ознакомить студентов с возможностями языка

Turbo-Pascal б.0 7.0 по формированию, вводу и выводу графической информации. При написании базы данных были использованы учебные пособия 4 , 5 и 6 Работа посвящена возможностям языка TURBO-PASCAL по работе с графической информацией. Студентам предлагается ознакомиться со стандартными модулями Graph, Crt, а также с отдельными процедурами других модулей.

Модуль Graph содержит типы, константы, переменные и подпрограммы, позволяющие программисту создавать изображения с использованием широкого набора графических адаптеров CGA, MCGA, EGA, VGA, Hercules, AT T400, 3270PC,IBM8514 . При работе с этими адаптерами весь экран разбивается на отдельные точки - пиксели, которые можно закрасить в тот или иной цвет. Каждый пиксель имеет две координаты

X и Y. Количество пикселей зависит от типа адаптера и режима его работы. Данная программа написана для адаптера EGA и режима EGAHi с размером поля 640x350, палитрой состоящей из 16 цветов и двумя страницами видеопамяти. Данный режим позволяет выделять окна на экране дисплея. В этом случае используются координаты в пределах окна.

Курсор в графическом режиме невидим, однако его можно переместить в любую точку экрана, посмотреть его координаты. Модуль Graph содержит 8 стандартных типов, описывающих цвета палитры, характеристики линий, характеристики текста, орнамент и цвет заполнения, задаваемый пользователем орнамент заполнения, координаты точки, окно вывода графической информации, данные о дуге. Константы и переменные указанных типов приведены в таблицах в 5 .

Обучающая программа предлагает студентам ознакомиться с процедурами и функциями следующего назначения 1 процедуры управления графическим режимом 2 функции управления графическим режимов 3 процедуры управления экраном, окном, страницей 4 процедуры управления цветом и палитрой 5 функции управления цветом и палитрой 6 функции работы с точками 7 процедуры работы с линиями 8 процедуры построения фигур из линий 9 процедуры построения криволинейных фигур 10 процедуры работы с текстом 11 функции работы с текстом 12 процедуры

обмена с памятью 13 функции обмена с памятью Подавляющее большинство процедур и функций модуля Graph можно использовать только после задания графического режима процедурой UnitGraph. Модуль Crt содержит константы, переменные и подпрограммы, предназначенные для работы с консолью. В отличие от стандартного ввода-вывода, когда он осуществляется через операционную систему, подпрограммы модуля Crt работают с BIOS и, даже непосредственно с видеопамятью.

При работе с экраном он разбивается на строки, а строки на отдельные позиции, в которые можно поместить только один символ. Есть возможность открывать окна, задавать цвета символов и фона. Обучающая программа знакомит студентов с частью процедур и функций данного модуля, а именно 1 процедуры работы с экраном 2 функции работы с клавиатурой 3 процедуры управления звуком 4 процедуры разнообразного назначения. Кроме перечисленных выше процедур и функций программа знакомит обучаемого с понятием случайного

числа, функцией Random, и генератором случайных чисел Randomize , которые описаны в стандартном модуле System. Процедуры и функции, представленные на рассмотрение в данной работе, сгруппированы для изучения в 7 разделов 1 раздел - программирование графических режимов 2 раздел - управление курсором и полем рисования 3 раздел - формирование прямолинейных монохромных изображений 4 раздел - управление цветом и стилем изображений 5

раздел - программирование цветных криволинейных изображений 6 раздел - формирование графических текстов 7 раздел - программирование озвученных динамических сцен Изучая эти разделы студент последовательно узнает как задать графический режим, как узнать его параметры, изменить, временно выйти из режима, научиться управлять курсором и полем рисования, открывать окна, пользоваться цветовой палитрой и имеющимися в арсенале языка типами линий и стилей закраски.

Полезным будет изучение разделов 5,6 , которые содержат информацию о возможностях построения криволинейных фигур, формирование графических текстов стандартных типов и ряда нестандартных. Наиболее сложным является последний раздел, посвященный озвученным динамическим сценам. В этом разделе студент знакомится с динамической памятью компьютера и страничной организацией видеобуфера. Это основные средства, с помощью которых стало возможным создание эффекта мультипликации на экране

дисплея. В этом же разделе представлен звукогенератор, позволяющий обеспечить звуковое сопровождение . В меню программы перечисленные разделы следуют в порядке, указанном выше. Этот порядок следования разделов соответствует последовательному изучению материала от простого к сложному. Однако, система меню дает возможность студенту нарушить этот порядок и изучать разделы в порядке, удобном ему. При этом следует учесть, что каждый последующий раздел опирается на знание предыдущих, в контрольных

вопросах следующих разделов содержатся вопросы, касающиеся предыдущих тем. Поэтому рекомендуется знакомиться первый раз с темой последовательно. Доступ к разделам 3,4,5,6,7 ограничен . Студенту предоставляются только две попытки ответить на контрольные вопросы. Рекомендуется после первого изучения и неудачного ответа во второй раз начать изучение с раздела, который показался наиболее простым и понятным. С учетом целей и задач данной разработки база данных

содержит основные процедуры и функции, касающиеся работы в графическом режиме. 2.2. Структура базы данных База данных представляет собой набор 17 файлов типа запись Семь из них содержат теоретическую часть семи изучаемых разделов, пять - тексты контрольных вопросов к разделам 3,4,5,6,7 и пять -тексты справок к этим вопросам. Схема обращений процедур к файлам базы данных приведена в табл.

1 Таблица 1 Схема обращений процедур к файлам базы данных Номер раздела Имя модуля Имя процедуры Имена файлов базы данных теория вопросы Справки 1 Razdel1 Razdel10 Raztex1 2 Razdel2 Razdel20 Raztex2 3 Razdel3 Razdel30 Raztex3 Joing Iod 4 Razdel4 Razdel40 Raztex4 Joi Iodi 5 Razdel5 Razdel50 Raztex5

Join Iodin 6 Razdel6 Razdel60 Raztex6 Jois Iodis 7 Razdel7 Razdel70 Raztex7 jos ios Структура базы данных приведена в таблицах 2, 3, 4 Таблица 2Структура базы данных. ТеорияПоле Р1 Поле Р2 ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ procedure DrawPoly NumPoints word var PolyPoints 7 Строит ломаную линию.

NumPoints - число вершин многоугольника PolyPoints - переменная без типа, содержащая NumPoints 1 пар координат вершин многоугольника первая и последняя вершины должны совпадать . procedure FillPoly NumPoints word var PolyPoints 8 Закрашивает многоугольник текущим цветом и орнаментом. Параметры NumPoints и PolyPoints имеют тот же смысл и тип, что и одноименные параметры процедуры DrawPoly. 0 Поле Р1 - флаги - признак выделения строки цветом 7,8 - признак наличия иллюстрации к тексту

и ее номер О - признак конца файла Поле Р2 - текст. Таблица 3Структура базы данных. ВопросыПоле Р1 Поле Р2 Поле Р3 02 КАК ПОСТРОИТЬ СТОЛБЧАТУЮ ДИАГРАММУ В ЗАРАНЕЕ СФОРМИРОВАННОЙ РАМКЕ? 1 Bar3D X1, Y1, X , Y2, depth, true SetViewPort X1, Y1, X , Y2, false ClearViewPort Bar3D

X1, Y1, X , Y2, depth, false 2 Bar3D X1, Y1, X , Y2, depth, true SetViewPort X1, Y1, X , Y2, true ClearViewPort Bar3D X1, Y1, X , Y2, depth, false 3 Bar3D X1, Y1, X , Y2, depth, true Bar3D X1, Y1, X , Y2, depth, false 4 Bar3D X1, Y1, X , Y2, depth, true Bar3D X1, Y1, X , Y2, depth, true 0

Таблица 4 Поле Р1 Поле Р2 Поле РЗ Поле Р4 Поле Р5 SetViewPort. Координаты окна002 отсчитываются от левого верхнего угла экрана в то время как для процедуры Bar3D от левого верхнего угла окна. 1 3 Ответ правильный. 005 4 Ответ не точный. На экране появятся затененные контуры нижнего параллелепипеда. 003 0 Поле Р1 - флаги - признак конца вопроса 1 - признак наличия иллюстрации и ее номер

О - признак конца файла Поле Р2 - номера вопросов. Поле РЗ - флаги 1,2,3,4 - номера ответов признак конца справки Поле Р4 - текст справок. Поле Р5 - оценка. 2.3. Возможности изменения или обновления 2.3.1. Теория Данная структура базы данных является удобной для использования . Она легко может быть дополнена в случае необходимости, частично или полностью заменена.

Файлы теоретической части являются файлами типа запись и содержат по два поля. Первое поле - Р1 . Так оно названо в программе и под него отведен один символ. Это поле используется как поле флага и анализируется программой с помощью условного оператора CASE. Значения флагов поля Р1 приведено в табл.5 Таблица 5 Символ поля Р1 Значение Действия программы 0 Конец файла

При считывании записи с этим символом в поле Р1 программа возвращает Вас в меню, если Вы изучали разделы 1 Или 2, или переходит в режим контрольных вопросов, если изучался раздел 3-7. 1 вывод строки другим цветом Строка выводится на экран другим красным цветом. Этим символом отмечены строки, содержащие названия изучаемых процедур и функций. Это сделано для наглядности изучения. В случае необходимости эти значки возможно убрать и

Текст будет выводится одним синим цветом. Возможно выделить и другие строки цветом, внеся в поле Р1 соответствующих записей значок . Возможно изменить цвет выделенных строк путем замены параметра процедуры SetColor в операторах CASE константы процедур RAZDELXO . признак конца страницы Используется только в разделах процедурах RAZDEL6, RAZDEL7, в операторе CASE при проверке наличия иллюстрации.

При обнаружении этого символа заканчивается цикл вывода текста из файла теории. любой другой ASCII-символ признак наличия иллюст- рации Оператор CASE сравнивает этот символ с имеющимися у него константами и выводит соответствующую иллюстрацию на экран. Если символ среди констант не обнаружен, это не мешает дальнейшему считыванию текста. Поэтому целесообразно иллюстрации обозначать сразу при написании базы данных, а затем вносить соответствующие

изменения в программу. Второе поле - Р2 - составляет 69 символов и содержит непосредственно текст теоретической части изучаемой темы. Программа написана таким образом, что из файла теории считывается на экран по 32 строки. Экран удерживает изображение до нажатия любой символьной клавиши, после чего он очищается и выводятся следующие 32 строки текста и т.д. до конца файла. При этом каждые 32 строки образуют страницу текста.

Началу каждой новой страницы соответствует заголовок - название изучаемого раздела. Это целесообразно, так как теория имеет значительный объем, экраны полностью заполнены. В случае необходимости нехватки строк следует добить пустые строки, чтобы страница состояла из 32 строк. Количество пустых строк будет в данном случае незначительно, однако такая структура делает базу данных наглядной и удобной для работы даже неспециалисту и не загромождает поле

Р1 лишними знаками типа признака вывода пустой строки. При внесении изменений в файл теоретической части базы данных следует помнить следующее 1 поле Р1 должно занимать 1 символ. В случае отсутствия в нем флага поле должно быть пустым 2 поле Р2 должно занимать 69 символов. Если в строке необходимо поместить больше символов, То их следует перенести на другую строку, а если значащих символов меньше 69, то следует добить символы

пробел так, чтобы строка составляла всего 69 символов 3 звездочкой необходимо помечать строки, которые следует выделить другим красным цветом 4 если базу данных дополняют, то следует не забыть указать в начале страницы название раздела 5 символ - признак иллюстрации можно ставить в любом месте страницы. Место нахождения иллюстрации будет определено программным путем 5 в конце файла следует поставить значок 0 в поле Р1. Поле Р2 этой записи считываться не будет 6 после окончания написания базы данных следует

проверить еще раз соответствие всех строк необходимой длине после нажатия клавиши END курсор должен останавливаться в позиции 70 2.3.2. Вопросы Файлы, содержащие вопросы к разделам 3,4,5,6,7 являются так же как и файлы теории файлами типа запись. Они содержат по три поля. Первое поле Р1 и под него выделен один символ. Поле используется как поле флагов. Значения этих флагов приведены в табл.6

Таблица 6 Значения флагов поля Р1Символ поля Р1 Значение Действия программы 0 Конец файла При считывании записи с этим символом программа прекращает поиск нужного номера вопроса. Конец вопроса Прекращается вывод содержимого поля РЗ текста вопроса на экран. Любой другой ASCII-символ Признак наличия иллюстрации CASE сравнивает этот символ с имеющимися у него константами и выводит соотв.

иллюстрацию на экран. Если символ среди констант не обнаружен, это не мешает дальнейшему считыванию текста. Поэтому целесообразно иллюстрации обозначать сразу при написании БД,а затем вносить соотв. изменения в ПО. Второе поле - Р2. Оно состоит из двух символов и предназначено для обозначения начал и номеров вопросов. Поле может содержать номера с 01 по 99. При считывании записи программа анализирует поле

Р2 и если считанный номер соответствует требуемому, то выводит содержимое поля РЗ текст вопроса на экран до тех пор, пока в поле Р1 не появится признак конца вопроса. Третье поле - РЗ - содержит текст самих вопросов и под него выделено 69 символов. Аналогично полю Р2 файла теории это поле должно содержать ровно 69 символов и, в случае если значащих символов в строке меньше 69, следует добить символы пробел .

В отличие от порядка считывания файла теории, файл вопросов имеет флаг признака конца вопроса. Таким образом на экран выводится текст вопроса начиная с нужного номера и до появления флага признака конца вопроса. Поэтому при наборе текста вопросов необходимо следить, чтобы вопрос поместился в поле экрана , т.е. не превышал 32 строк, имелись необходимые пустые строки, отступы, красные строки и т.д Пустые строки в конце вопроса добивать не следует.

При внесении изменений в файл вопросов базы данных следует помнить следующее 1 поле Р1 должно занимать 1 символ. В случае отсутствия в нем флага поле должно быть пустым 2 поле Р2 должно занимать 2 символа 3 поле РЗ должно занимать 69 символов. Если в строке необходимо поместить больше символов, то их следует перенести на другую строку, а если значащих символов меньше 69, то следует добить символы пробел так, чтобы строка составляла всего 69

символов 4 текст вопроса должен начинаться номером вопроса, содержащимся в поле Р2 и кончаться символом , содержащимся в поле Р1 5 символ - признак иллюстрации можно ставить в любом месте поля Р1 напротив текста вопроса. Место нахождения иллюстрации будет определено программным путем 6 в конце файла следует поставить значок 0 в поле Р1. Остальные поля этой записи считываться не будут 7 после окончания написания базы данных следует проверить

еще раз соответствие всех строк необходимой длине после нажатия клавиши END курсор должен останавливаться в позиции 72 2.3.3. Справки Файл справок является файлом типа запись и имеет пять полей. Первое поле - Р1 - поле флагов, под которое отведен один знак. Значение флагов поля Р1 приведено в табл.7 Таблица 7

Значения флагов поля Р1 Символ поля Р1 Значение Действия программы 0 Конец файла При считывании записи с этим символом программа прекращает поиск нужного номера вопроса. Конец вопроса Прекращается вывод содержимого поля РЗ текста вопроса на экран. Любой другой ASCII-символ Признак наличия иллюстрации Оператор CASE сравнивает этот символ с имеющимися у него константами и выводит

соответствующую иллюстрацию на экран. Если символ среди констант не обнаружен, это не мешает дальнейшему считыванию текста. Поэтому целесообразно иллюстрации обозначать сразу при написании базы данных, а затем вносить соответствующие изменения в программу. Поле Р2 содержит номера вопросов от 01 до 99. Под это поле отводится 2 знака. Программа, считывая поле Р2 анализирует его значение и, если оно соответствует нужному номер вопроса,

то начинает поиск нужного номера ответа в поле РЗ вплоть до появления признака конца вопроса в поле Р1. Поле РЗ - поле флагов. Под него отведен один знак. Числа 1,2,3,4 - номера ответов. При полном обновлении базы данных возможно увеличить или уменьшить количество вариантов ответов. Однако, необходимо при этом внести изменения и в программу. Поле РЗ содержит и признак конца справки. Таким образом, программа, найдя нужный номер ответа начинает

считывать и выводить на экран справку -содержимое поля Р4 до появления значка в поле РЗ. Поле Р4 содержит текст справок. Под него отведено 68 знаков. Необходимо при написании базы данных четко соблюдать размеры всех полей. Поле Р5 - поле оценки. Под него отведено 3 знака. Это обусловлено разницей в длине ASCIIZ-строки и строки типа string.

Оценка должна выглядеть следующим образом 001, 002, 003, 004, или 005. Программа обращается к этому полю когда находит нужный номер ответа Поэтому оценку следует помещать в поле Р5 в записях, содержащих номера ответов. Как правило, текст справки не превышает текста вопроса, но следует помнить, что объем ее не должен превышать объема экрана, т.е. 32 строки. При внесении изменений в файл справок следует помнить следующее 1

поле Р1 должно занимать 1 символ. В случае отсутствия в нем флага поле должно быть пустым 2 поле Р2 должно занимать 2 символа 3 поле РЗ должно занимать 68 символов. Если в строке необходимо поместить больше символов, то их следует перенести на другую строку, а если значащих символов меньше 68, то следует добить символы пробел так, чтобы строка составляла всего 68 символов 4 текст справки должен начинаться номером ответа и кончаться символом , содержащимися в поле

РЗ 5 запись, содержащая в поле Р1 признак конца вопроса не считывается далее и не выводится на экран. Поэтому конец вопроса и конец последней справки в вопросе не должны попадать в одну запись, т.е. должны находится в разных строках. 6 символ - признак иллюстрации можно ставить в любом месте поля Р1 напротив текста справки. Место нахождения иллюстрации будет определено программным путем 7 в конце файла следует поставить значок О1 в поле Р1. Остальные поля этой записи считываться не будут 8 после

окончания написания базы данных следует проверить еще раз соответствие всех строк необходимой длине после нажатия клавиши END курсор должен останавливаться в позиции 76 Всякое внесение изменений в базу данный вплоть до ее полного обновления требует внимания и точности . Необходимо четко соблюдать размеры всех полей записи. В противном случае возможны ошибки. Например, появление значков конца строки в выводимом тексте, отсутствие

вывода результатов работы и др 3. ОПИСАНИЕ ПРОГРАММЫ 3.1. Общие сведения Настоящая дипломная работа посвящена разработке программы для обучения работе в графическом режиме языка Turbo-Pascal. Цели и задачи данной разработки, а также методика обучения с помощью данной программы возможности языка были описаны выше, в разделе Назначение обучающей программы . Программа написана на языке

Turbo-Pascal. Этот язык является языком высокого уровня . Он имеет рад преимуществ перед другими языками высокого уровня. Самые главные его достоинства - это простота и естественность, великолепные сервисные возможности. Наличие типа запись, возможности модульного программирование, наличие библиотеки стандартных модулей дают возможность быстро и эффективно создавать самые разнообразные программные продукты начиная от решения

простейших вычислительных задач и кончая сложными современными системами управления базами данных и операционных систем. В данном случае с его помощью была создана программа для обучения, которая работает с базой данных. Возможности языка и его преимущества более подробно описаны в п.1.2.3 . Программа называется Графика . Она состоит из основной программы, содержащейся в файле с именем Graphic , восьми самостоятельных модулей с именами

Razdel1, Razdel2, Razdel3, Razdel4, Razdel5, Razdel6, Razdel7, MyBook. Основная программа формирует заставку к программе, обращается к файлу Veden, содержащему текст введения, выводит текст введения, формирует систему меню, через которое затем обращается к процедурам модулей Razdel1 - Razdel7, получает из этих процедур переменные , содержащие оценки за ответы на контрольные вопросы, присваивает их значение своим переменный, хранит их в течение

всей работы с программой и отвечает за формирование раздела Результаты Вашей работы системы меню. Основная программа регламентирует доступ к разделам. Переменные NOMER3 - NOMER7 являются счетчиками и обеспечивают вход в процедуры модулей Razdel3 - Razdel7 не более двух раз за сеанс. При этом основная программа хранит все оценки, полученные за ответы на контрольные вопросы , и все их выводит на экран по обращению к разделу меню

Результаты Вашей работы . Модули Razdel1 - Razdel7 содержат процедуры с именами Razdel10 - Razdel70 соответственно. Эти процедуры устанавливают связь с файлами базы данных, выводят текст теории, вопросов, справок, содержат программный текст иллюстраций к теории, вопросам и справкам. По результатам ответов студента на контрольные вопросы процедура формирует переменную. После отработки модуля значение этой переменной переприсваивается определенной переменной основной

программы. И основная программа хранит это значение до окончания работы с программой. База данных состоит из трех логических частей, которые содержат теоретическую часть, контрольные вопросы и справки. Они расположены в каталоге следующим образом. Теоретическая часть размещается в восьми файлах типа запись . Файлы с именами Raztex1, Raztex2, Raztex3, Raztex4,

Raztex5, Raztex6, Raztex7 содержат тексты теоретической части по семи разделам соответственно. Файл Veden содержит текст введения. К разделам , содержащимся в файлах Razdel3 - Razdel7 имеются контрольные вопросы , размещенные в файлах Joing, Joi, Join, Jois, Jos, и справки , размещенные в файлах lod, lodi, lodin, lodis, los. Файлы контрольных вопросов и справок так же являются файлами типа запись.

Структура базы данных, ее содержание, возможности дополнения, обновления или частичного изменения, схема обращений процедур к базе данных подробно описаны в разд.2. Модуль MyBook является библиотечным модулем. Он включает в себя четыре процедуры, которые неоднократно встречаются в текстах основной программы и процедур рабочих модулей. Процедура OKNO -формирует экранную рамку, в которой будут размещаться тексты программы.

Процедура OKN01 формирует заставку с надписью Контрольные вопросы . Процедура GraphRegim обеспечивает вход в графический режим. Эти три процедуры используются практически во всех процедурах и в основной программе. Процедура Diogramraa формирует последнюю иллюстрацию к разделу 5 и вынесена в данный модуль так как занимает значительный объем. Разработанная программа является самостоятельной программной единицей.

Для ее функционирования необходимо иметь в арсенале следующие средства персональный компьютер типа IBM или совместимый с ним, дисплей с графическим адаптером типа EGA, имеющим объем видеобуфера 256 К, графическим выводом 640x350 пиксел, 16 регистрами палитры. В качестве программного обеспечения необходимо иметь DOS, инструментальную интегрированную среду Turbo-Pascal 7.0, файлы bold.chr, goth.chr, sans.chr, trip.

chr нестандартных шрифтов, файлы с текстом программы, файлы , содержащие базу данных. Для работы с программой , при условии наличия выще указанных технических и программных средств, следует обратиться к файлу с именем Graphic . При этом необходимые данные загружаются в оперативную память компьютера и далее работа с программой идет в диалоговом режиме, не требующем вмешательства программиста. Выход из программы осуществляется также по желанию обучаемого при входе в раздел меню

Конец работы . 3.2. Функциональное назначение Программа для обучения работе в графическом режиме предназначается для обучения студентов младших курсов Санкт-Петербургской государственной Академии аэрокосмического приборостроения навыкам программирования, а именно работе в графическом режиме языка Turbo-Pascal . Для работы с настоящей программой необходимо знание стандарта языка, интегрированной среды и элементарным навыкам работы с персональным компьютером .

Программа содержит теоретический материал по семи разделам 1 Программирование графических режимов. 2 Управление курсором и полем рисования. 3 Формирование прямолинейных монохромных изображений. 4 Управление цветом и стилем изображений. 5 Формирование цветных криволинейных изображений. 6 Формирование графических текстов. 7 Программирование озвученных динамических сцен.

Эти разделы содержат наименование процедур и функций, их параметры, условия и примеры использования в программах. Текст сопровождается необходимыми иллюстрациями. Ввиду отсутствия лекций по данной теме, наличие обучающей программы дает возможность студентам самостоятельно и с минимальными затратами времени освоить работу с графикой . Разделы 3-7 содержат контрольные вопросы. Элемент контроля знаний обеспечивает студентам возможность

самоконтроля, резко повышает уровень знаний, т.к. в случае необходимости обучаемый имеет возможность повторно изучить любую тему и ответить на контрольные вопросы - проверить Полученные знания. Программа имеет специальное назначение. Она может быть использована только для обучения заданной теме, а именно работе в графическом режиме. База данных, в случае необходимости, может быть изменена, дополнена.

Однако эти изменения могут быть сделаны только в пределах темы. При этом, если к новому теоретическому материалу или контрольным вопросам необходимо сделать некоторые иллюстрации, то в таком случае потребуется вмешательство программиста. Текст иллюстраций содержится в процедурах модулей и вмешательство в их содержимое требует специальных знаний. Существует теоретическая возможность изменения темы программы.

Однако это потребует изменения меню программы, полной замены базы данных и соответственно внесения изменений в процедуры модулей. А именно - создание новых иллюстраций. Все это потребует очень больших трудозатрат программиста и эквивалентно созданию новой программы. 3.3. Описание логической структуры Обучающая программа Графика в своем составе содержит основную программу

Graphic , семь рабочих модулей, один библиотечный модуль. Назначение каждого из них подробно описано в п,3.1. Текст программы приведен в приложении. Структура обучающей программы приведена на рис. 1 Основная программа Graphic вызывает на исполнение модули Razdel1 - Razdel7. Каждый модуль содержит по одной процедуре, которые обеспечивают связь с файлами базы

данных, вывод текста теории и контрольных вопросов на экран, вывод справок, регистрацию оценок. Использование модулей в данном случае является целесообразным по следующим причинам. Это удобно в случае дополнения или изменения базы данных. Если потребуется внесение дополнительных иллюстраций, то нетрудно войти в требуемый раздел и внести дополнения в условный оператор CASE. Модуль является автономно компилируемой программной единицей.

Это позволяет работать с одним из модулей программы, не нарушая при этом другие, облегчает поиск ошибок программирования. В данной работе каждый модуль отвечает за обеспечение изучения одного из разделов темы Графический режим . И один модуль - МУВООК - является библиотечным, содержит процедуры, встречающиеся часто во всех модулях. После окончания работы модуля управление возвращается к главной программе. Главная программа использует в своей работе переменные модулей, а именно переменные формирования оценок

REZ3 - REZ7. Подробнее эти переменные описаны ниже в подразделе 3.6. Схема алгоритма функционирования программы приведена на рис. 2 Алгоритм функционирования рабочих модулей приведен на рис. 3 Рассмотрим первый алгоритм. Структура обучающей программы Рис. 1 Алгоритм функционирования программы Рис. 2 Алгоритм функционирования рабочих модулей

Рис. 3 Блок номер 1 - формирование заставки. В текст заставки входит название программы, Графика , ее назначение, имя разработчика. Формируется заставка в графическом режиме. Блок 2 - процедура Windo1. Эта процедура устанавливает связь с файлом текстом введения и выводит его на экран. Более подробно работу блока можно описать с помощью блоков 1-4,7 изображенных на рис. Блок 3 - выбор режима работы. В данном случае обучаемому требуется выбрать один из трех режимов работа

модуля - изучение теории и ответы на контрольные вопросы, Вывод результатов - получение ведомости оценок, конец - выход из программы, т.е. окончание работы с ликвидацией всех ее результатов. Главная программа содержит процедуру VERTIKALNOE MENU , которая формирует окно меню программы. Процедура написана в графическом режиме. Меню содержит девять разделов, названия которых соответствуют

фактическим параметрам упомянутой процедуры. Выбор режима работы, т.е. выбор соответствующего названия раздела осуществляется с помощью условного оператора CASE. В операторе CASE выражением, значение которого вычисляется , является параметр REGIME процедуры VERTIKALNOE MENU. Он может принимать значения 1 - 9 . На экране это соответствует девять положениям курсора.

Таким образом, если параметр REGIME принимает значения 1 - 7 , то далее управление передается модулю с соответствующим именем. На схеме алгоритма -блоку 5 . Если параметр REGIME принимает значение 8, то управление переходит к блоку схемы с номером 4 и производится вывод результатов работы. Если же параметр REGIME равен 9 , то работа с программой заканчивается.

Блок 4 - вывод результатов. Этот процесс оформлен в главной программе как составной оператор условного оператора CASE. Он выполняется при условии, что параметр REGIME равен 8. В операторе вывода результатов производится формирование самой ведомости оценок в виде таблицы. В эту таблицу вписываются с помощью оператора writeln переменные главной программы, содержащие оценки за работу с программой. Подробнее формирование этих переменных будет описано в подразделе 3.6.

После отработки составного оператора с выводом результатов программа возвращается в окно меню. Блок 5 - отработка модуля. Это - рабочий блок . При входе в этот режим главная программа передает управление одному из семи рабочих модулей - RAZPEH, RAZDEL2, RAZDEL3, RAZDEL4, RAZDEL5, RAZDEL6, RAZ0EL7. Модули обеспечивают изучение семи разделов по теме Графический режим . Работа модулей описана подробнее в данном подразделе ниже.

Схема алгоритма функционирования модулей приведена на рис. При входе в режим Конец обучаемому еще раз задается вопрос Вы хотите закончить работу с программой Y N ? При нажатии на клавишу У Н программа заканчивает свою работу . При этом все результаты работы с контрольными вопросами уничтожаются. При нажатии на любую другую клавишу программа возвращается в окно меню.

Рассмотрим подробнее алгоритм функционирования рабочих модулей, изображенный на рис. Блок 1 - процедура GraphRegim. Эта процедура содержится в библиотечном модуле МУВООК. Она осуществляет вход в графический режим. Следующие далее блоки 2-8 обеспечивают вывод теоретической части на экран. Блок 2 - Связь с файлом теории. Этот блок содержит операторы связи с необходимым файлом текста теории.

Таблица соответствия между процедурами модулей и файлами базы данных приведена в подразделе 2.2. Файл открывается для чтения, производится проверка на наличие файла в каталоге . Блок 3, блок 13 - процедура ОКНО . Эта процедура содержится в библиотечном модуле MYBOOK и отвечает за оформление экрана. Она создает рамку и устанавливает фоновый цвет и цвет рисования основного текста. Блок 4 - вывод текста теории. Этот блок обеспечивает считывание из открытого файла

записей и вывод содержимого поля Р2 на экран . Цикл Рог выводит на экран 31 строку текста. После вывода 31 строки на экран, экран очищается и выводятся следующие 31 строка вплоть до появления признака конца файла в поле Р1 очередной считываемой записи. Проверка признака конца файла оформлена оператором цикла REPEAT . В процедурах RAZDEL6-7 использован дополнительно значок для пометки конца строки.

По этому значку с помощью оператора CASE вывод иллюстраций прекращается вывод текста теории. Это необходимо, т.к. в этих разделах присутствуют рисунки требующие всего экрана. Блок 5 - проверка условия наличия иллюстрации. Эта проверка производится после считывания очередной записи файла теории с помощью условного оператора CASE. С константами оператора сравнивается содержимое поля

Р1. В случае наличия иллюстрации она выводится на экран. Если иллюстрация не требуется то выполняется далее считывание текста теории и после окончания цикла REPEAT очистка экрана. Блок 6 - вывод иллюстрации. Вывод осуществляется с помощью оператора OutTextXY. Блок 7 - очистка экрана. Производится после вывода 31 строки текста.

Блок 8 - проверка конца файла. Осуществляется с помощью оператора цикла REPEAT. В поле Р1 последней записи содержится значок 0 . При обнаружении этого значка считывание прекращается и цикл завершает свою работу. Блоки 9 -24 обеспечивают работу с контрольными вопросами. Блок 9 - проверка наличия контрольных вопросов. Этот блок означает, что если это алгоритм работы модулей

RAZDEL1 или RAZDEL2 , то блок 8 является последним и так как эти разделы не содержат контрольные вопросы, то после условной вершины блока 9 модуль заканчивает свою работу. Если же мы рассматриваем работу алгоритма для модулей, которые содержат контрольные вопросы, то по Да переходим к блоку 10. Блок 10 - процедура OKNO1 . Эта процедура содержится в библиотечном модуле MYBOOK и формирует заставку с надписью

Контрольные вопросы . Блок 11 - Случайный выбор номеров вопросов. Выбираются четыре номера вопросов из десяти имеющихся . Это делается случайным образом с помощью генератора случайных чисел RANDOMIZE и функции Random, которая формирует случайное число. Выбранные номера вопросов запоминаются в массиве М 0 3 .

Элементы этого массива используются при поиске нужного вопроса при выводе текста теоретической части и при поиске нужного номера вопроса для вывода текста справки. Блок 12 - связь с файлом текста вопросов. Блок содержит операторы , устанавливающие связь с файлом текста вопросов, открывающие его для чтения и обеспечивающие проверку наличия файлов в каталоге. Блок 14 - вывод текста очередного вопроса. Записи начинают считываться по одной.

Поле Р2 сравнивается с содержимым массива случайно выбранных чисел М 0 3 . При обнаружении необходимого номера вопроса начинается его вывод на экран с помощью процедуры OutTextXY вплоть до появления признака конца вопроса , содержащегося в поле Р1. Блок 15 - проверка наличия иллюстрации. Признаком наличия иллюстрации служит любой символ кроме , О в поле Р1. Если при считывании очередной записи обнаружен признак наличия иллюстрации, то она выводится

на экран . Проверка наличия иллюстрации и ее выбор осуществляется с помощью условного оператора CASE. Блок 16 - вывод иллюстрации. Вывод осуществляется с помощью оператора outTextXY других операторов формирования графических изображений в зависимости от содержания иллюстрации. Блок 17 - проверка введенного числа. При выводе очередного вопроса на экран внизу экрана располагается надпись ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА . Обучаемый должен ввести число 1,2,3 или 4.

Если введено какое-либо другое число, то на экране останется текст вопроса, место для ввода номера ответа останется пустым. Если же число введено верно, то программа переходит к обработке введенной информации. Блок 18 - связь с файлом текста справок. Устанавливается связь с файлом текста справок, файл открывается для чтения, осуществляется проверка наличия файла в каталоге. Блок 19 - вывод текста справок. Поиск нужной справки происходит вначале с помощью условного оператора

If , когда выбирается запись с нужным номером вопроса . Далее в цикле REPEAT вплоть до появления Признака конца вопроса в поле Р1 происходит поиск нужного номера ответа. Когда номер ответа найден, он выводится на экран . Блок 20 и 21 - аналогичны блокам 15 и 16. Блок 22 - фиксация результатов. При считывании и выводе на экран первой записи справки переменной

REZY присваивается значение поля Р5 файла текста справок, это поле содержит оценку за ответ на вопрос. Переменная REZY накапливает оценки за четыре ответа. После окончания работы модуля значение этой переменной присваивается переменной главной программы ballY nomerX . При повторном вхождении в данный раздел переменная REZY обнуляется. Блок 23 - очистка экрана. Производится с помощью процедуры

ClearDevice. Блок 24 - Проверка условия конца вопросов. Если вопрос не последний, то программа возвращается к выполнению блока 14 и далее. Если уже считано и выведено четыре вопроса , то модуль заканчивает свою работу. 3.4. Используемые технические средства Для работы с данной программой необходимо иметь следующие технические средства персональный компьютер типа IBM или совместимый с ним , растровый дисплей с графическим адаптером

типа EGA, который будет иметь объем видеобуфера 256 К , графический вывод 640x350 пиксел, 16 регистров палитры. В качестве программного обеспечения для работы данной программы необходимо иметь DOS, инструментальную интегрированную среду Turbo-Pascal 7.0, набор файлов нестандартных шрифтов bold.chr, goth.chr, sans.chr, trip.chr. 3.5. Вызов и загрузка

Для работы программы необходимо иметь в памяти компьютера следующие файлы загрузочный модуль graphic.exe, модули razdell.tpu, razde!2.tpu, razdelS.tpu, razde!4.tpu, razdelS.tpu, razde!6.tpu, razde!7.tpu, библиотечный модуль mybook.tpu, файлы нестандартных шрифтов bold.chr, goth.chr, sans.chr, trip.chr , модуль из библиотеки языка Pascal graph.tpu, драйвер egavga.bgi, текстовые файлы базы данных raztexl.pas, raztex2.pas, raztexS.pas, raztex4.pas, raztexS.pas, raztex6.pas, raztex7.pas - содержащие тексты

теории, joing.pas, iod.pas , joi.pas, iodi.pas, join.pas, iodin.pas, jois.pas, iodis.pas, jos.pas, ios.pas - содержащие текст вопросов и справок. Все они хранятся на жестком диске. Запуск программы осуществляется обращением к загрузочному модулю graphic.exe. При этом все необходимые модули автоматически загружаются в оперативную память Объем данной обучающей программы 80 000 байт. Любая

IBM PC имеет объем оперативной памяти, доступной для пользовательских программ, не менее 640 Кбайт. Таким образом объем данной обучающей программы является незначительным и никаких трудностей с использованием оперативной памяти нет. Программа имеет одну входную точку - начало программы. 3.6. Входные и выходные данные Программа для обучения Графика , работает в диалоговом режиме. Однако, ЭВМ ведет диалог с обезличенным пользователем.

ЭВМ не регистрирует фамилии обучаемых и соответственно не ведет журнал. От программиста или оператора не требуется ввод какой-либо информации для запуска программы и начала ее работы. Запуск осуществляетя обращением к загрузочному модулю graphic.exe. От обучаемого требуется при ответе на контрольные вопросы ввести номер правильного ответа. Согласно введенному числу из файла справок считывается число - оценка за ответ.

Оценки за все ответы складываются и затем выставляется одна оценка за работу со всеми вопросами раздела. Таким образом вводимый обучаемым номер ответа можно рассматривать как входную информацию, которая после обработки формирует определенные выходные данные - оценку работы за сеанс. Контрольные вопросы содержат разделы 3 - 7 . Доступ к изучению этих разделов ограничен. Возможно только два раза ответить на контрольные вопросы этих разделов.

Все получение оценки фиксируются и хранятся в переменных главной программы до окончания работы с программой. По разделу меню Результаты Вашей работы можно получить на экране ведомость оценок. Обращение к данному разделу меню возможно в любой момент работы. Выводимые на экран оценки сохраняются до выхода из программы. Программа не предусматривает вывод этих оценок на печать или хранение их в памяти компьютера после

окончания ее работы . Таким образом выходными данными программы являются оценки, выводимые на экран дисплея. В табл. 8 приведено соответствие между переменными главной программы, содержащими оценки, и аналогичными переменными процедур. NomerX - переменная, регламентирующая число возможных обращений к процедурам. Может принимать два значения - 1 и 2. REZY - переменная процедуры, которой присваивается значение выставляемой оценки. ballY NomerX - Переменная, хранящая значение оценки в главной программе.

Формируется следующим образом baUY NomerX REZY Itog NomerX - переменная накопления результатов работы за сеанс по итогам двух попыток. Формируется следующим образом Itog NomerX ItogTNomerX3 baIlY NomerX tog NomerX - переменная вывода результатов работы за сеанс по итогам двух попыток, формируется следующим образом togЈNonterX3 Round Itog NomerX K

NomerX , где К NomerX - переменная, накапливающая число попыток ответов на контрольные вопросы. Таблица 8Соответствие между переменными главной программы и процедур Имя процедуры Апеременная процедуры Переменные главной программы REZY NomerX BallY NomerX Itog NomerX Tog NomerX RAZDEL30 REZ3 1 Ball3 1 Itog 1 Tog 1 REZ3 2 Ball3 2 Itog 2 Itog 2

RAZDEL40 REZ4 1 Ball4 1 Itog 1 Itog 1 REZ4 2 Ball4 2 Itog 2 Itog 2 RAZDEL50 REZ5 1 Ball5 1 Itog 1 Itog 1 REZ5 2 Ball5 2 Itog 2 Itog 2 RAZDEL60 REZ6 1 Ball6 1 Itog 1 Itog 1 REZ6 2 Ball6 2 Itog 2 Itog 2 RAZDEL70 REZ7 1 Ball7 1 Itog 1 Itog 1 REZ7 2 Ball7 2 Itog 2

Itog 2 4. ОПИСАНИЕ ПРИМЕНЕНИЯ 4.1. Назначение программы Программа для обучения работе в графическом режиме языка Turbo-Pascal предназначена для обучения студентов младших курсов Санкт-Петербургской государственной академии аэрокосмического приборостроения. Программа рассчитана на студента, знакомого со стандартом языка, имеющего понятие об инструментальной

интегрированной среде , имеющего элементарные навыки работы с персональным компьютером. Программа содержит семь разделов для изучения по теме Графический режим языка Turbo-Pascal программирование графических режимов, управление курсором и полем рисования, формирование прямолинейных монохромных изображений, управление цветом и стилем изображений, программирование цветных криволинейных изображений, формирование графических текстов, программирование

озвученных динамических сцен. Эти разделы практически полностью охватывают тему. Программу Предполагается использовать как реальное средство обучения. Так как лекционных занятий по теме Графические средства языка Turbo-Pascal нет, то наличие данной программы восполняет пробел в теоретической и частично практической подготовки студентов по данной теме. Внедрение данной программы облегчит труд и студентов и преподавателей.

Студенты смогут овладеть необходимыми знаниями в более короткий срок и будут освобождены От необходимости поиска нужной литературы. Кроме того режим контроля позволит студенту без помощи преподавателя разобраться в своих ошибках, повторить изучение и вновь проверить свои знания с помощью контрольных вопросов. В процессе работы с обучающей программой студент получает и практические навыки общения с ЭВМ, что в условиях дефицита машинного времени также важно.

Преподаватель в этом случае освобождается от объяснения студентам теоретического материала и получает достаточно времени для индивидуальной работы с ними. Работая с программой каждый обучаемый может затратить неодинаковое время на изучение каждого раздела. Индивидуальный темп работы обеспечивает повышение качества знаний. 4.2. Условия применения 4.2.1. Технические средства

Предлагаемая программа для обучения написана на языке Turbo-Pascal 7.0 . Она предназначена для установки на IBM PC и требует наличия монитора со следующими характеристиками графический адаптер типа EGA, который будет иметь объем видеобуфера 256 К , графический вывод 640x350 Пиксел, 16 регистров палитры. Необходимо иметь в качестве программного обеспечения операционную систему

DOS , инструментальную интегрированную среду Turbo-Pascal 7.0 , набор файлов нестандартных шрифтов bold.chr, goth.chr, sans.chr, trip.chr. 4-2.2. Общие характеристики входной и выходной информации Программа для обучения Графика работает в диалоговом режиме. При этом ЭВМ работает с обезличенным пользователем и требует лишь механической реакции на свои действия.

Для начала работы программы достаточно обратиться к загрузочному модулю graphic.exe. В качестве входной информации в данной программе можно рассматривать вводимы обучаемым номера правильных ответов при работе с контрольными вопросами. Введение номера ответа влечет за собой следующие действия программы Введенный номер считывается с клавиатуры и фиксируется в переменной СН. Затем при считывании файла справок значение этой переменной сравнивается со значением соответствующего

поля номеров ответов. При совпадении этих значений переменной оценки RE2X присваивается значение поля Р5 , в котором расположены оценки за все варианты ответов. Далее эта переменная накапливает оценки за все четыре ответа обрабатывает их и формирует оценку за работу с разделом. Эта оценка передается в главную программу. Главная программа обеспечивает вывод этих оценок на экран по разделу меню

Результаты Вашей работы . Кроме того главная программа обрабатывает все оценки по разделам и формирует оценку работы за сеанс. Таким образом значения переменных вывода оценок являются выходной информацией. Подробнее процесс формирования выходной информации описан в подпункте 3.6. 4.3. Пример использования В этом подпункте описан пример конкретного использования программы для обучения работе в графическом режиме. Итак, программа запущена на исполнения.

На экране появляется заставка с названием программы - Графика , полное наименование - Программа для обучения работе в графическом режиме , фамилия разработчика, место и год создания. Для перелистывания экранов необходимо пользоваться клавишей Enter. Нажимаем Enter. На экран выводится текст введения. В нем кратко описано содержание данной обучающей программы.

После его прочтения можно перейти непосредственно к работе. Нажимаем Enter. На экране появляется окно вертикального меню. Внешний вид меню изображен в приложении 3. Перемещая курсор с помощью клавиш-стрелок вниз и вверх мы можем выбрать желаемый режим работы. Их, как было описано выше в подразделе 3.3 ,три. Выберем режим обучения. Допустим, курсор остановился на разделе 3 с названием

Формирование прямолинейных монохромных изображений . Для изучения этого раздела следует нажать клавишу Enter. Нажимаем Enter. Появляется экран , оформленный небольшой по толщине рамкой во весь экран. В верхней строке помещается название изучаемого раздела ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ.

В левой части экрана расположен текст теории, который содержит наименования процедур, выделенных красным цветом, и пояснения их работы. В правой части экрана расположены рисунки, поясняющие их работу, а именно фигуры, которые можно построить с помощью данных процедур. Изучив полученную информацию, можно перейти к следующему экрану. Текст теории раздела 3 содержится на трех экранах.

Изучив содержимое третьего экрана нажимаем клавишу Enter. На экране появляется заставка с надписью Контрольные вопросы . Далее , после очередного нажатия Enter , на экран будет выведен текст первого вопроса. Экран вопроса выглядит следующим образом. Экран оформлен той же рамкой, что и экран теории. Верхние строки занимает текст вопроса, выделенный крупным шрифтом.

Ниже вертикально расположены четыре варианта ответа на поставленный вопрос. Если выведенный вопрос содержит иллюстрацию, то она расположена на уровне вариантов ответов в правой части экрана. Нижнюю строку экрана занимает надпись ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА . Прочитав все варианты и проанализировав их нужно выбрать один и ввести его, нажав клавишу с соответствующей цифрой. Если нажата клавиша отличная от клавиш 1,2,3 или 4, то

После нажатия клавиши Enter введенный символ будет стерт, вопрос останется на экране. Номер ответа придется ввести вновь. Если введено допустимое число, то после нажатия клавиши Enter на экран будет выведен текст справки. Экран при этом оформлен аналогично экрану вопроса. Текст справки располагается в средней части экрана и содержит оценку за ответ в формулировке правильно или неверно и краткую информацию о допущенных ошибках.

После нажатия Enter на экран выводится текст второго вопроса. Действия ЭВМ и обучаемого аналогичны действиям с первым вопросам. После прочтения последней справки последнего вопроса мы нажимаем Enter и возвращаемся в окно меню. Далее можно войти в любой другой раздел для изучения. Войдем в раздел Результаты Вашей работы . Для этого переместим курсор в позицию с данным названием

и нажмем клавишу Enter. На экране появилась ведомость оценок. Текст выполнен ярко-розовым цветом на синем фоне. Слева перечислены названия 7 изучаемых разделов, а справа два столбца оценок -первая попытка и вторая попытка. В графе Формирование прямолинейных монохромных изображений первая попытка стоит оценка например 2 . В остальных графах стоят О . Последняя графа левого столбца называется

Оценка работы за сеанс . В этой графе 1 попытка стоит оценка 4 . Для выхода из раздела Результаты Вашей работы необходимо вновь нажать клавишу Enter. Если повторно войти в третий раздел и ответить на вопросы, а затем войти в раздел Результаты Вашей работы , то в графе Формирование графических режиме вторая попытка будет стоять не О , а оценка например, 4 . Третий раз войти в третий раздел нельзя, т.к. разрешено сделать только две

попытки. Через меню войдем в четвертый раздел Управление цветом и стилем изображений . Порядок работы в этом разделе такой же как и в предыдущем, как и в последующих. После изучения теории отвечаем на контрольные вопросы. Закончив работу с вопросами обучаемый попадает в окно меню и вновь может узнать результаты своей работы в виде оценок. Для этого необходимо вновь войти в раздел

Результаты Вашей работы, подведя курсор к разделу с этим названием и нажав клавишу Enter. Теперь к уже имеющимся двум оценкам по разделу Формирование прямолинейных монохромных изображений добавилась еще одна оценка в графе Управление цветом и стилем изображений первая попытка например, 5 . Изменилась оценка работы за сеанс первой попытки и стала 4 .

Нажав вновь клавишу Enter вернемся в окно меню. На этом закончим работу с программой. Для этого необходимо подвести курсор к разделу с названием Конец работы . На экране появляется заставка с надписью Вы хотите закончить работу с программой Y N Нажимаем клавишу Y или Н и выходим из программы. При нажатии любой другой клавиши на экране появится окно меню.

Если после выхода из программы вновь в нее войти и через меню войти в раздел Результаты Вашей работы , то во всех графах будут находится О . Это означает, что при выходе из программы результаты работы с ней не сохраняются. Поэтому, перед выходом из программы следует предъявить ведомость оценок преподавателю. 5. РУКОВОДСТВО ПРОГРАММИСТА 5.1. Назначение и условия применения программы

Программа для обучения работе в графическом режиме языка Turbo-Pascal предназначена для обучения студентов младших курсов СПГУАП. Она знакомит студентов в основами программирования в графическом режиме, возможностями языка и turbo-среды, дает навыки работы с компьютером. Программа содержит материал для изучения по следующим темам 1 Программирование графических режимов. 2 Управление курсором и полем рисования.

3 Формирование прямолинейных монохромных изображений. 4 Управление цветом и стилем изображения. 5 Программирование цветных криволинейных изображений. 6 Формирование графических текстов. 7 Программирование озвученных динамических сцен. Изучение темы по данным разделам обеспечивает основная программа graphic и семь модулей RAZTEX1-RAZTEX7. Основная программа выполняет следующие функции формирует заставку, окно меню, вызывает

на исполнение модули , формирует и выводит на экран ведомость оценок. Модули RAZTEX1-RAZTEX7 выполняют функции связь с файлами базы данных, вывод на экран текста теории, вопросов, справок, считывание оценки за ответы на вопросы из файла справок. Для успешной работы программы необходимо иметь персональный компьютер IBM или совместимый с ним, растровый дисплей с графическим адаптером типа

EGA с объемом видеобуфера 256 К, разрешением экрана 640x350 пиксел, 16 регистрами палитры. В качестве программного обеспечения необходимо иметь DOS, инструментальную интегрированную среду Turbo-Pascal 7.0 . Вызов И загрузка программы подробнее описаны ниже в подразделе 5.3. 5.2. Характеристики программы Программа для обучения рассчитана на работу в течение 45 минут.

Программа работает в диалоговом режиме. В начале работы студенту предлагается воспользоваться окном меню для выбора раздела для изучения. Далее выдается теоретическая часть . После нее предлагаются контрольные вопросы. Вопросы выдержаны в режиме вопрос -четыре варианта ответа . Обучаемому предлагается выбрать один и ввести номер правильного ответа. Введенный ответ обрабатывается и выводится на экран справка о его правильности.

Инструментальная интегрированная среда Turbo-Pascal имеет хорошо развитую службу помощи. Поэтому при возникновении ошибок она выдает на экране в верхней строке код ошибки и ее название. Для избежания возникновения ошибок следует внимательно вносить изменения в базу данный и программу , если это потребуется, четко выдерживать размеры полей файлов записей базы данных. Изменения в программу вносить только после подробного знакомства с программными документами.

Особое внимание следует обратить на необходимость преобразования ASCIIZ-строки в строку стандарта Pascal при выводе ее на экран, а также преобразование символьного представления числа в двоичную форму перед тем как проводить сравнения его с числом. Если на экране при выводе текста появляются значки - признаки конца строки - это значит, что не соблюдены длины полей в соответствующем файле базы данных. 5.3.

Обращение к программе Для успешной работы программы необходимо иметь в памяти компьютера следующие файлы загрузочный модуль graphic.exe, библиотечные модули RAZDELl.tpu, RAZDEL2.tpu, RAZDEL3.tpu, RAZDEL4.tpu, RAZDELS.tpu, RAZDEL6.tpu, RAZDEL7.tpu, MYBOOK, файлы нестандартных шрифтов bold.chr, goth.chr, sans.chr, trip.chr, модуль среды Turbo-Pascal graph.tpu, драйвер egavga.bgi, текстовые файлы базы данных

raztexl.pas, raztex2.pas, raztexS.pas, raztex4.pas, raztexS.pas, raztex6.pas, raztex7.pas - содержащие тексты теоретической части, joing.pas, iod.pas, joi.pas, iodi.pas, join.pas, iodin.pas, jois.pas, iodis.pas, jos.pas, ios.pas - содержащие тексты вопроов и справок . Все эти файлы хранятся на жестком диске. Запуск программы на исполнение осуществляется обращением к загрузочному модулю graphic.exe. При этом необходимые модули автоматически подгружаются в оперативную

память компьютера. Объем данной обучающей программы 80 000 байт, что значительно меньше объема оперативной памяти любого персонального компьютера. Необходимо, чтобы загрузочный модуль, библиотечные модули программы, а также файлы нестандартных шрифтов, модуль graph.tpu и драйвер egavga.bgi находились в одном каталоге. В противном случае работа программы становится невозможной. 5.4. Входные и выходные данные Как пояснялось выше данная обучающая программа работает в диалоговом

режиме с обезличенным пользователем. Программа не требует ввода фамилии, группы и т.д. и соответственно не веден никаких журналов. Для запуска программы на исполнение от программиста не требуется ввод какой-либо входной информации. В качестве входной информации можно рассматривать введение обучаемым номеров правильных ответов. Введенное число считывается, анализируется и в результате выводятся на экран оценки, являющаяся выходными данными. Оценку можно увидеть , войдя в раздел

Результаты Вашей работы . Ведомость результатов работы сохраняется в течение всех работы с программой, однако после выхода из программы ведомость ликвидируется. Таким образом выходная информация имеет место, однако не сохраняется. Подробнее о процессе формирования выходных данных можно узнать из подраздела 3.6. 6. РУКОВОДСТВО ОПЕРАТОРА 6.1. Назначение программы Программа для обучения работе в графическом режиме

Графика предназначена для обучения студентов младших курсов Санкт-Петербургской государственной академии аэрокосмического приборостроения работе с графическим режимом языка Turbo-Pascal. Программа предусматривает изучение темы по семи разделам , которые оформлены в семи модулях. Программу предполагается использовать для обучения студентов различных специальностей. Изложенный в ней материал дает возможность студентам быстро и эффективно овладеть навыками работы в

графическом режиме. Подробнее с назначением данной обучающей программы можно ознакомиться в подразделе 1.2. 6.2. Условия выполнения программы Данная обучающая программа написана на языке Turbo-Pascal 7.0 Для ее успешной работы необходимо наличие персонального компьютера типа IBM или совместимого с ним. Программа написана в расчете на графический адаптер типа EGA с объемом видеобуфера 256 К, графическим выводом 640x350 пиксел,

16 регистров палитры. Перечисленные аппаратурные средства являются минимально необходимыми для работы программы. В качестве программного обеспечения необходимо иметь DOS, Turbo-Pascal 7.0, в текущем каталоге - файлы нестандартных шрифтов, используемые программой goth.chr, sans.chr, trip.chr, bold.chr, библиотечный модуль Turbo-Pascal - graph.tpu, драйвер egavga.bgi. Непосредственно для работы программы требуется иметь в

текущем каталоге загрузочный модуль программы Графика - graphic.exe, библиотечные модули программы - RAZDELl.tpu, RAZDEL2.tpu, RAZDELS.tpu, RAZDEL4.tpu, RAZDELS.tpu, RAZDEL6.tpu, RAZDEL7.tpu, файлы базы данных - raztexl.pas, raztex2.pas, raztex3.pas, raztex4.pas, raztexS.pas, raztex6.pas, raztex7.pas, joing.pas, joi.pas, join.pas, jois.pas, jos.pas, iod.pas, iodi.pas, iodin.pas, iodis.pas, ios.pas. 6.3. Выполнение программы

Для обеспечения загрузки, запуска, выполнения и завершения программы оператору следует выполнить следующие действия 1 Включить компьютер и подготовить его к работе. 2 Проверить наличие на данной ЭВМ необходимых для выполнения программы программных средств перечисленных в подразделе 6.2. 3 В случае отсутствия каких-либо файлов в текущем каталоге, но наличии их на другом диске, переписать в текущий каталог пользуясь командами

Norton Commander. 4 Запуск программы осуществляется из Norton Commander. Необходимо обратиться к загрузочному модулю программы с именем graphic.exe. При этом необходимые модули автоматически будут загружены в оперативную память. Далее программа будет выполняться в диалоговом режиме. На экране появится заставка с названием программы.

5 Чтобы работать с программой необходимо листать экраны с помощью клавиши Enter. При работе с вопросами вводить номер правильного ответа с клавиатуры путем нажатия на клавиши с соответствующими цифрами. 6 Для выхода из программы необходимо войти в раздел меню Конец работы и нажать клавишу с символом Y или Н . После этого для возвращения в Norton Commander необходимо нажать любую клавишу.

7 В случае внезапного прекращения работы программы или начального отказа от запуска вернуться в Norton Commander и еще раз проверить наличие необходимого программного обеспечения. Если ошибка загрузки и запуска не найдена, видимо ошибка в программе или базе данных и следует обратиться к программисту. 6.4. Сообщения оператору В процессе работы программы оператору могут выдаваться следующие сообщения. При окончании работы с программой , после ответа на вопрос

Вы хотите закончить работу с программой Y N на экран, закрашенный розовым цветом выдается сообщение Press ENTER to return to the Norton Commander . По этому сообщению следует нажать клавишу ENTER и выйти в Norton Commander. Работа с программой завершена. Если в процессе выполнения программы не найден файл базы данных, к которому в данный момент обращается программа, то на экран выводится сообщение Runtime error 002 at 0125 04E5.

Press ENTER to return to the Norton Commander . По этому сообщению следует нажать клавишу ENTER, выйти в Norton Commander, проверить наличие файла базы данных который не был найден. Если файл отсутствует, то следует его загрузить в текущий каталог. Если файл имеется в каталоге, то вероятнее всего ошибка в программе и следует обратиться к программисту. В любом случае существует возможность исключить неисправный модуль и продолжать работу с программой

. Эту задачу может также решить программист. Если в процессе выполнения программы в определенный момент времени файл базы данных найден, однако он пуст, на экран выводится сообщение Runtime error 100 at 01B6 076А. Press ENTER to return to the Norton Commander . По этому сообщению оператору следует нажать клавишу ENTER, вернуться в Norton Commander, проверить содержимое файла.

Если на экране появляются значки признака конца строки, а затем надпись Runtime error 100 at 0454 OOAF. Press ENTER to return to the Norton Commander , то это означает, что ошибка содержится в файле базы данных, а именно не соблюдены длины полей записей. При возникновении такой ошибки следует обратиться к программисту. 7. ТЕХНОЛОГИЯ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ Предлагаемый программный продукт является средством обучения

студентов работе в графическом режиме алгоритмического языка TURBO-PASCAL 6.0 7.0. Программа рассчитана на использование в качестве теоретически-практической подготовки студентов 1,2,4,5,8 факультетов Санкт-Петербургской Государственной Академии аэрокосмического приборостроения по курсам Информатика , Алгоритмизация и программирование , Методы программирования .

Данная обучающая программа работает в режиме Обучение -контроль . При начале работы студенту предлагается через систему меню выбрать для изучения один из следующих разделов программирование графических режимов, управление курсором и полем рисования, формирование прямолинейных монохромных изображений, управление цветом и стилем изображений, программирование цветных криволинейных изображений, формирование графических текстов, программирование озвученных динамических сцен.

Когда студент выбрал тему для изучения , ему предлагается теоретических курс по этой теме, снабженный необходимыми иллюстрациями, звуковыми эффектами, поясняющими излагаемый материал. Первые два раздела на этом завершаются и студент возвращается в начало , он может вновь через меню выбрать очередной раздел. Разделы 3, 4, 5, 6 и 7 содержат контрольные вопросы. Студент, выбравший для изучения один из этих разделом имеет возможность после получения теоретической

информации самостоятельно проверить свои знания. Ему предлагается ответить на 4 вопроса по теме. После ответа на каждый вопрос обучающийся получает справку о правильности ответа. В случае неверного ответа поясняется ошибка. За каждый ответ выставляется оценка и результирующая оценка работы с данным разделом запоминается в разделе меню Результаты Вашей работы . Результаты работы сохраняются до выхода из программы.

Таким образом в конце работы преподаватель может просмотреть все оценки и при необходимости зафиксировать из в групповом журнале. К разделам, содержащим контрольные вопросы, студент может обратиться только два раза. Данная обучающая программа предусматривает индивидуальное обучение студентов. Темп диалога ЭВМ-пользователь задает сам студент. Это, а также возможность повторного изучения каждой темы, дает в результате лучшее усвоение изучаемого

материала. Внедрение данной обучающей программы в учебный процесс обеспечит возможность студентам быстрее получить навыки работы в графическом режиме. Это также освободить время преподавателя и даст ему возможность индивидуально заниматься со студентами, уделяя внимание каждому студенту в зависимости от его подготовки. В настоящее время курс лекций по теме Графический режим отсутствует. Практические занятия ведутся с использованием методической разработки кафедры

Вычислительных машин Графические средства алгоритмического языка TURBO-PASCAL , выпущенной в 1992 году . Практически изучение графического режима и его возможностей оставлено на самостоятельную работу студентам. Обучающая программа так же предусматривает самостоятельную работу с использованием ЭВМ . Однако, она имеет следующие преимущества 1 наглядность изучаемого материала 2 индивидуальный темп диалога ЭВМ-пользователь 3 самостоятельный контроль знаний и как следствие повышение

их качества 4 освобождение преподавателя от чтения теоретической части темы для индивидуальной работы со студентами. 5 возможность, в случае необходимости, быстрого обновления и расширения базы данных вплоть до полного замены изучаемых тем 8. ПЛАНИРОВАНИЕ НАУЧНО-ТЕХНИЧЕСКОЙ ПОДГОТОВКИ ПРОИЗВОДСТВА 8.1. Построение ленточного графика проектирования программы Планирование научно-технической подготовки производства заключается в составлении календарных планов

выполнения комплексов работ, определении денежных средств, необходимых для их реализации, а также потребных трудовых и материальных ресурсов. Разработка программного обеспечения является одной из трудоемких задач, что приводит к высоким затратам и большому удельному весу стоимости программы. Рассмотрим и оценим затраты , необходимые для реализации задач, поставленных темой данной работы. В соответствии с технических заданием требуется создать программу для обучения работе в графическом

режиме языка TURBO-PASCAL 6.0 7.0. Для ее создания необходимо не только написание программы, но и подготовка соответствующих методических материалов. Так как тема обучающей программы связана с программированием, то данную работу могут полностью выполнить инженеры-программисты. При разработке темы данной дипломной работы целесообразно привлечение группы специалистов, состоящей из трех человек одного инженера-программиста первой категории и двух инженеров-программистов третьей

категории. Для составления ленточного графика проектирования программы необходимо составить перечень необходимых работ, которые потребуется выполнить в процессе проектирования, и оценить их трудоемкость. В соответствии с технологией и планированием разработки программ работу по созданию данной программы можно разбить на следующие компоненты разработка требований, составление алгоритма, написание программы, отладка. Для определения временных затрат используем метод экспертных оценок и метод обработки экспертных

оценок - раздельное оценивание составляющих затрат. При этом определяем для каждого вида работ ai - наименьшую возможную, mi - наиболее вероятную , bi - наибольшую возможную величину затрат. Ожидаемая величина затрат MOi и стандартное отклонение Qi для каждой компоненты составят соответственно ai 4m b M0i , 6 bi-ai Qi . 6 Оценка временных затрат на разработку всей программы и стандартное отклонение этой

оценки составят соответственно n МО Е Moi , I 1 n Q E Qi2 I 1 Оценка затрат времени на разработку программы приведена в табл. 9 Таблица Затраты времени на разработку программы, чел дн. Компоненты ai mi bi MOi Qi MO Q Разработка требований 13 17 21 17,0 1,3 Составление алгоритма 23 24 33 25,3 1,7 89,9 2,6 Написание программы 23 30 30 28,8 1,2

Отладка 26 29 31 28,8 0,8 Для составления перечня работ разобьем компоненты на составляющие следующим образом 1 разработка требований разработка требований к программному обеспечению, разработка методических материалов 2 составление алгоритма составление алгоритма 3 написание программы написание основной программы, написание процедур, создание базы данных 4 отладка отладка основной программы, отладка модулей, общая отладка. Оценку трудоемкости проводим в соответствии с данными табл.

9 Перечень работ и их трудоемкость приведены в табл. 10 Таблица 10 Перечень работ по созданию обучающей Программы Компоненты Наименование работы Код работы Исполнитель Длительность работ, дн. Разработка требований Разработка требований к программному обеспечению 1

Инженер-программист 1 категории 3 Разработка требований Разработка методических материалов 2 Инженер-программист 3 категории 14 Продолжение табл. 10 Компоненты Наименование работы Код работы Исполнитель Длительность работ, дн. Составление алгоритма Составление алгоритма 3 Инженер-программист 1 категории 15

Инженер-программист 3 категории 10,3 Написание программы Написание основной программы 4 Инженер-программист 1 категории 5 Написание подпрограмм 5 Инженер-программист 3 категории 5 Создание базы данных 6 Инженер-программист 3 категории 18,8 Отладка Отладка основной программы 7 Инженер-программист 1 категории 12,8

Отладка модулей 8 Инженер-программист 3 категории 13 Общая отладка 9 Инженер-программист 3 категории 2 Как видно из приведенной выше таблицы для работы над программой привлекаются инженеры-программисты 1 и 3 категории. Причем с учетом всех видов работ целесообразно привлечь одного инженера программиста 1 категории и двух инженеров-программистов 3 категории. В этом случае часть работ возможно выполнять параллельно.

Ленточный график отражает порядок распределения работ между исполнителями во времени. Ленточный график возможно построить пользуясь табл распределив работы между исполнителями с учетом квалификации и загрузки. Ленточный график работы над созданием обучающей программы приведен в табл. 11 Таблица 11 Код работы Длительность работы, дн. 3 7 17 26 38 1 2 3 4 5 6 7 8 9 8.2. Расчет сметы затрат К разработке обучающей программы привлечены три инженера-программиста разной категории.

Специалистам назначаются месячные оклады. Из составленного выше ленточного графика видно, что инженер-программист 1 категории имеет загрузку 35 рабочих дней, один инженер-программист 3 категории имеет 35 рабочих дней и второй инженер-программист 3 категории - 28 рабочих дней. С учетом выходных и праздничных дней в среднем в месяце приходится 20 рабочих дней. Их расчета 20 рабочих дней месяца сделаем расчет фонда заработной платы.

Инженер-программист 1 категории будет работать 1 месяц 15 дней, первый инженер-программист 3 категории - 1 месяц 15 дней, а второй инженер-программист - 1 месяц 8 дней. Каждому специалисту начисляется основная и дополнительная заработная плата в соответствии с отработанным временем Расчет фонда заработной платы приведен в табл. 12 Таблица 12 Должность Оклад Руб. мес. Дополнитель-ная заработ-ная плата,

Дополнитель-ная заработ-ная плата, Количество рабочих дней Общий фонд заработной платы, руб. Инженер програм-мист 1 категории 800 15 120 35 3 783 500 Инженер програм-мист 3 категории 600 15 90 35 Инженер програм-мист 3 категории 600 15 90 28 Предполагается работа на арендуемой технике. Стоимость одного часа машинного времени 1000 руб Время работы над программой составляет 98 дней, что соответствует 764 часам из расчета 8-часового рабочего

дня. Арендная плата за это время составит 764 000 руб Отчисления на социальное страхование, расходы на научные и производственные командировки и накладные расходы составляют соответственно 14 , 5 , 60 общего фонда заработной платы. После изготовления программа должна пройти недельное испытание. Для этого необхоимо использовать ЭВМ. Таким образом необходимо дополнительное машинное время в обьеме 40

часов. В смете затрат расходы на арендную плату за 40 часов машинного времени внесем в статью Работы и услуги сторонних организаций . Расчет сметы затрат приведен в табл. 13 Таблица 13 Смета затрат Статья расхода Сумма, руб. Итоговая сумма Сумма, к итогу Специальное оборудование для 764 000 научных работ 764 000 7 476 465 10,0 Общий фонд заработной платы 3 787 500 50,2 Отчисление на социальное страхование 529 690 7.0

Расходы на научные производственные командировки 189 175 2,5 Работы и услунни сторонних организаций 40 000 0,3 Накладные расходы 2 270 100 30,0 9. ВОПРОСЫ ОХРАНЫ ТРУДА И ОКРУЖАЮЩЕЙ СРЕДЫ. БЕЗОПАСНОСТЬ И САНИТАРНО-ГИГИЕНИЧЕСКЙЕ УСЛОВИЯ ТРУДА НА РАБОЧЕМ МЕСТЕ ПОЛЬЗОВАТЕЛЯ 9.1. Основные санитарно-технические требований к помещению

Охрана труда имеет очень важное значение. Несоблюдение правил техники безопасности приводит к неблагоприятным последствиям и несчастным случаям. В этой части дипломной работы рассматриваются 1 основные санитарно-технические требования к вычислительному центру 2 характеристика санитарно-гигиенических условий труда пользователя 3 расчет необходимого воздухообмена 4 система освещения 5 инженерно-технические мероприятия по созданию благоприятных условий труда пользователя - защита от шума защита от излучения меры защиты

от поражения электрическим током 6 противопожарные требования 7 организация рабочего места при работе с терминалом 8 приборы контроля параметров среды. Рассматриваемое помещение является вычислительный центр. Во время учебных занятий в нем находится группа пользователей из 10 человек. Площадь вычислительного центра составляет 30 кв. м. и высотой 3,5 м. К вычислительному центру предъявляются следующие требования 1 размеры помещения площадь, объем, высота

должны соответствовать количеству работающих в нём человек и размещаемому в нем комплексу технических средств 2 рациональное цветовое оформление помещения 3 обеспечение изоляции от шумов, принятие мер для снижения шума, проникающего в помещение извне 4 соблюдение требований, предъявляемых к отделке помещения 5 обеспечение системы отопления и вентиляции 6 соблюдение норм чистоты воздуха, температуры, относительной влажности 7 соблюдение норм освещенности 8 соблюдение защиты помещения от вхождения в него посторонних

лиц 9.2. Характеристика санитарно-гигиенических условий труда 9.2.1.Микроклимат производственного помещения Микроклимат производственного помещения определяется температурой, относительной влажностью и скоростью движения воздуха. Согласно ГОСТ 12.1.005-76 ССБТ. Воздух рабочей зоны нормирование параметров микроклимата в рабочей зоне производится в зависимости от периода года, категории работ по энергозатратам, избытка явного тепла. По избыткам явной теплоты помещение учебной лаборатории относится к помещениям с незначительными

избытками явной теплоты, приходящимися на 1 куб.м объема помещения, 23,2 Дж м с . В данном помещении выполняются легкие физические работы, характеристика которых приведена в табл. 14. В табл. 15 приведены оптимальные параметры микроклимата, допустимые параметры для холодного и переходного периода года приведены в табл. 16, а для теплого периода года в табл. 17. Таблица 14 Характеристика легкой физической работы

Работа Категория Энергозатраты организма Характеристика работы Легкая физическая 1 до 172 Дж с 150 ккал ч Производимая сидя, стоя или связанная с ходьбой, но не требующая систематического физического напряжения или поднятия тяжестей Таблица 15 Оптимальные параметры микроклимата Период года Температура, С Относительная влажность, Скорость движения воздуха, м с

Холодный и переходный температура наружного воздуха ниже 10 град. С 20 - 23 60 - 40 не более 0,2 Теплый температура наружного воздуха 10 С и выше 22 - 25 60 - 40 не более 0,2 Таблица 16 Допустимые параметры для холодного и переходного периода года Температура возуха, С Относительная влажность, не более Скорость движения воздуха, м с, не более Температура воздуха вне постоян ных рабочих мест

С 19 - 25 75 0,2 15 - 26 Таблица 17 Допустимые параметры для теплого периода года Температура возуха, С Относительная влажность, не более Скорость движения воздуха, м с, не более Температура воздуха вне постоянных рабочих мест С Не более чем на 3 выше средней температуры наружного воздуха в 13 ч При 28 С не более 55, при 27 С не более 60, при 26

С не более 65, при 25 С не более 70, при 24 С и ниже не более 75 0,2 - 0,5 Не более чем на 3 выше средней температуры наружного воздуха в 13 ч самого жаркого месяца 9.2.2. Вредные вещества и пыль При работе пользователей в вычислительном центре профилактика вычислительной техники не проводится, вредные вещества не используются. Однако, в помещении присутствует нетоксичная пыль.

Максимально-разовая предельно-допустимая концентрация нетоксичной пыли, скапливающейся на оборудовании составляет 0,5 мг куб. м а среднесуточная - 0,15 мг куб. м. 9.2.3. Излучение В табл. 18 приведены нормированные значения излучения. Таблица 18 Нормированные значения излучения на рабочем месте Наименования показателей Нормированные значения, не более

Уровень неиспользованного рентгеновского излучения на расстоянии 0,05 м 100 мкР ч Плотность потока ультрафиолетового излучения 10 Вт кв. м. Напряженность электрического поля на рабочем месте 15кВ м 15 кВ м. 9.2.4. Освещенность Нормированное значение освещенности на рабочем месте по СНиП П-4-79 приведено в таблице 19. Таблица 19 Наименьшая освещенность рабочих поверхностей в производственных

помещениях по СНиП П-4-79 Характеристика зрительной работы Наименьший размер объекта различения, мм Освещенность Ен, лк газорязрядные Лампы накаливания Система освещения Комбинир. общая Комбинир. общая Высокой точности От 0,3 до 0,5 750 300 600 200 9.2.5. Шум Согласно ГОСТ 12.1.003-83 устанавливаются допустимые уровни звукового давления.

Они приведены в Таблица 20 Допустимые уровни звукового давления Рабочие Места Уровни звукового давления, дБ, в октавных полосах со среднегеометрическими частотами, ГЦ Уровень звука, ДБА 63 125 250 500 1000 2000 4000 8000 Помещения вычис- Лительных центров 71 61 54 49 45 42 40 38 50 9.3. Расчет необходимого воздухообмена Для нормализации воздушной среды производится расчет воздухообмена

в производственном помещении. Согласно СН 245-71 в производственных помещениях с объемом на одного работающего менее 20 куб. м. следует проектировать подачу наружного воздуха в количестве не менее 30 куб.м. ч на каждого работающего. Рассчитаем объем приточного воздуха L по кратности воздухообмена L k v, м ч , где k - рекомендуемая кратность воздухообмена, которая для обычных производственных помещений обычно составляет 1 -

10 в расчетах мы принимаем ее равной 2 , v - объем помещения. Таким образом, L 2 160 320 куб.м ч. Наилучший обмен воздуха осуществляется при сквозном проветривании, но кроме того, если позволяют погодные условия, то работу следует проводить при открытых окнах. 9.4.Система освещения Искусственное освещение по своему устройству бывает двух систем общее и комбинированное . При выборе системы освещения учитывают психологические, физиологические, экономические и конструктивные

факторы. Так как в помещении выполняются работы высокой точности IIIв, то целесообразнее использовать систему общего освещения. В нее включаются потолочные и подвесные люминесцентные светильники общей освещенностью 400 лк. Светильники распределяются равномерно рядами и параллельно источникам прямого света, так чтобы экран монитора находился в зоне защитного угла светильника, и его проекция не приходилась на экран монитора.

Причем, для таких светильников рекомендуется использовать люминесцентные лампы мощностью по 40 Вт серий ЛП013, ЛП031, ЛПОЗЗ. Для улучшения освещенности важно правильно подобрать цветовую отделку интерьера и оборудования. Обычно потолок и стены выше панелей 1.5 - 1.7 м, если они не облицованы звукопоглощающим материалом, окрашиваются водоэмульсионной краской светлых, холодных тонов. 9.5. Инженерно - технические мероприятия благоприятных условий труда 9.5.1.

Защита от шума Источниками шума в данном помещении являются принтеры, персональные компьютеры и сами люди, работающие в лаборатории. Кроме того, шум может поступать извне, а т.к. в помещении выполняются работы высокой точности, желательно, чтобы оно не граничило с помещениями, имеющими повышенные уровни воздушного и ударного шума. Для обеспечения изоляции помещения от шумов, проникающих извне можно использовать акустическую обработку помещения, которая заключается в облицовке потолка и стен звукопоглощающим материалом,

причем для достижения максимально возможного звукопоглощения необходимо облицевать не менее 60 общей площади внутренних поверхностей помещения. Для сохранения стабильности звукопоглощающих характеристик такого покрытия необходимо периодически осуществлять различные профилактические мероприятия. Для уменьшения звука, поступающего извне данное помещение не должно граничить с помещениями, имеющими повышенные уровни воздушного и ударного шума, а также располагаться вблизи таких шумных помещений.

Источники загазованности и вибрации в данном помещении отсутствуют. 9.5.2.Защита от излучения Результаты спец исследований показали, что мониторы испускают слабые рентгеновские лучи, но интенсивность такого излучения составляет менее половины мили рентгена в час - намного меньше допустимого уровня. Но даже от такого незначительного излучения можно защититься. В зависимости от условий воздействия электромагнитных полей

ЭМП , характера и местонахождения источника могут быть использованы следующие виды защиты 1 защита временем, использующаяся в случае невозможности снизить интенсивность излучения в рабочей зоне 2 защита расстоянием, позволяющая существенно уменьшить степень поражения излучением, так как интенсивность убывает пропорционально квадрату расстояния 3 экранирование источника излучения или рабочего места. Оно должно отвечать следующим требованиям - уменьшать интенсивность излучения до предельных уровней

- обеспечивать удобства в работе - обеспечивать безопасность работы в отношении механических и электрических травм. Применительно к рассматриваемому помещению чаще всего используются следующие два способа защиты 1 ввиду того, что незначительная утечка излучения из кинескопа обнаруживается только в пределах нескольких миллиметров от поверхности экрана и по мере удаления доза уменьшается, то можно применять защиту расстоянием. Нормальным расстоянием, на котором излучение не регистрируется даже чувствительной измеризмерительной

аппаратурой является расстояние 0.3 - 0.4 метра 2 можно использовать защитный экран или сетку. 9.5.3. Меры защиты от поражения электрическим током Статистика показывает, что число травм, вызванных электрическим током, составляет 11-12 от их общего числа. Но из всех случаев со смертельным исходом наибольшее количество происходит в результате поражения электрическим током. Причем до 80 всех случаев электротравматизма со смертельным исходом приходится

на электрооборудование напряжением до 1000 Вив первую очередь 220 380 В. Электрооборудование в основном относится к установкам напряжением до 1000 В, исключения составляют лишь экранные пульты, дисплеи, электронно-лучевые трубки, которые имеют напряжение в несколько киловольт. Организационные мероприятия, обеспечивающие безопасность работ, заключаются в следующем соблюдение режима работы и отдыха, правильная организация обслуживания действующих электроустановок

ВЦ, проведение ремонтных и профилактических работ. По опасности поражения электрическим током рассматриваемое помещение относится к помещениям без повышенной опасности. Таблица 21 Классификация помещения по степени опасности поражения человека электрическим током Класс помещения Характеристика помещения Без повышенной опасности Сухое, не жаркое, с токонепроводящим полом, без токопроводящей пыли, отсутствует возможность одновременного

прикосновения человека к имеющим соединение с землей металлоконструкциями зданий, технологическим аппаратам, механизмам и т.п. с одной стороны, и к металлическим корпусам электрооборудования, которые при пробое изоляции могут оказаться под напряжением с другой стороны К техническим мероприятиям, обеспечивающим безопасность работ со снятием напряжения относятся - отключение оборудования на участке, принятие мер против ошибочного или самопроизвольного включения, ограждение

при необходимости рабочих мест и оставшихся под напряжением токоведущих частей - проверка отсутствия напряжения - установка заземления. Применение только одних организационных и технических мероприятий по предупреждению поражения электрическим током не может в полной мере обеспечить необходимую электробезопасность при эксплуатации. Наряду с ними в вычислительных центрах используют защитное заземление. Нормативное значение сопротивления заземления приведено в табл.

22 Таблица 22 Нормативное, значение сопротивления заземления Напряжение сети Режим нейтрали Назначение заземления Сопротивление заземления, Ом До 1000 В Выше 1000 В Изолированная Изолированная Защитное Защитное Rз 10 Rз 0,5 Сопротивление изоляции электрических цепей ЭВМ общего назначения в нормальных климатических условиях

должно быть не менее значений указанных в табл. 23 Таблица 23 Напряжение цепи, кВ Сопротивление изоляции, МОм до од 0,1 0,1 - 0,5 0,5 - 1,0 5,0 20,0 100 9.6. Противопожарные требования К помещению, в котором располагается вычислительный центр предъявляются требования 1 здание, в котором предусмотрено размещение ЭВМ, должно быть 1 степени огнестойкости 2 все виды кабельных

коммуникаций должны быть проложены в металлических газовых трубах 3 подпольные пространства под съемными полами должны быть разделены несгораемыми перегородками 4 силовые кабельные линии должны быть надежно изолированы 5 в наличии должны быть первичные огнетушительные средства По пожароопасности зоны данное помещение относится к классу П-IIa. Для ликвидации пожаров помещение вычислительного центра площадью 40 кв. м. должно располагать

одним углекислотным огнетушителем типа ОУ-2, ОУ-5, или ОУ-8. Для своевременного обнаружения, оповещения и принятия мер быстрой ликвидации пожара в помещении необходима установка дымовых пожарных извещателя. При установке извещателя на высоте 4 м и площади помещения 40 кв. м. достаточно одного дымового извещателя. 9.7. Организация рабочего места пользователя при работе с терминалом 1

При организации рабочего места с терминалом на одного пользователя необходимо выделять не меньше б кв. метров. Высота юмещения должна быть не меньше 4 метров. 2 Помещение обязательно должно оборудоваться огнетушителем, сигнализацией и телефоном и городским и местным . 3 Помещение должно быть оборудовано одноместными столами и мягкими стульями с меняющимися по высоте сиденьями и спинками стула. Столы должны иметь длину не менее 0.7 метра и ширину, обеспечивающую

место перед клавиатурой 0.3 метра. 4 Разрешающая способность человеческого глаза составляет примерно 0.3 мм на расстоянии 500 мм. Благоприятная для обозрения площадь лежит в пределах 500-700 мм. Для зрительного распознавания алфавитно-цифровых знаков необходим растр размером 5-7 точек, поэтому ширина и высота линий изображения этих знаков должна быть не менее 1.5 мм при удалении 500 мм и 2.9 мм при удалении 700 мм от работающего. Угол обзора по вертикали составляет 15.

В положении сидя этот угол не превышает 15 относительно горизонтали. Оптимальное расстояние от глаз до экрана монитора 0.6-0.7 м допустимое не менее 0.5 метра. Рассматривать информацию на экране ближе 0.5 метра не рекомендуется. 5 Требуемая и допустимая контрастность элементов рабочего места снизу ограничена возможностью распознавания, а сверху допускаемой освещенностью, исключающей ослепление работающего.

В поле зрения работающего контрастность должна быть в пределах от 8 1 до 15 1. При этом исключается наличие глянцевых поверхностей, создающих блики и отражающий свет. Уменьшению усталости и повышению удобства обслуживания способствует определенное размещение коммуникаций работающего с машиной. 9.8.Приборы контроля параметров среды Метрологическое обеспечение осуществляется на основе положений

ГОСТ 12.0.005-84 Метрологическое обеспечение в области безопасности труда. Основные положения М 1984 , системы стандартов безопасности труда, санитарных норм и правил Минздрава СССР и др. Приборы для контроля опасных и вредных производственных факторов представлены в Таблица 24 Приборы контроля Измеряемая величина единица измерений Рабочие средства измерений Погрешность тип диапазон частотный динамический 1.

Температура, С и относительная влажность воздуха, Аспирационный психометр MB-4M -31 51 С 10 100 0,1 С 5 2. Скорость движения воздуха, м с Термометр, электроанемометр TAM-1 - 0,1 5 м с 2,1 м с 3. Уровень звукового давления в октавных полосах частот, дБ вшв-ооз 10 20000 Гц 25 140 дБ 1 дБ 4. Освещенность, лк. Люксметр Ю-116 мкм 0,38 0,72 мкм 5 10 лк 10 5.

Массовая концентрация пыли, мг куб.м Радиоизотопный пылемер ПРИЗ-2 - 0,1 100 иг м 20 ЗАКЛЮЧЕНИЕ В результате разработки данной дипломной работы написана программа для обучения работе в графическом режиме. Программа предназначена для студентов младших курсов Санкт-Петербургской государственной академии аэрокосмического приборостроения и знакомит их с графическими средствами языка Turbo-Pascal 6.0 7.0. Программа содержит семь разделов для изучения 1

Программирование графических режимов. 2 Управление курсором и полем рисования. 3 Формирование прямолинейных монохромных изображений. 4 Управление цветом и стилем изображений. 5 Программирование цветных криволинейных изображений. 6 Формирование графических текстов. 7 Программирование озвученных динамических сцен. Программа позволяет индивидуально, в удобном для каждого обучаемого темпе , изучать работу с компьютером

в графическом режиме. Изучаемый материал представлен в программе наглядно, теоретический материал сопровожден необходимыми иллюстрациями, что делает его более понятным. Предусмотрена возможность повторного изучения материала. В процессе обучения производится контроль приобретенных знаний в виде Контрольных вопросов. При ответах на контрольные вопросы студенту выставляются оценки, которые регистрируются

и могут быть выведены на экран в любой момент работы с программой. Имеется возможность разъяснения студенту его ошибок в случае наличия таковых. После ответа на каждый вопрос на экран выводится комментарий, содержащий оценку в форме правильно неправильно и в случае неверного ответа пояснения сущности ошибки. Продолжительность сеанса работы программы составляет 45 минут.

Программа написана на языке Turbo-Pascal 7.0 и требует для использования наличия персонального компьютера типа IBM, монитора типа EGA с графическим выводом 640x350 пиксел, 16 регистрами палитры. Разработанная программа полностью соответствует требованиям Технического задания. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1. Брусенцов Н.П Маслов С.П Х.Рамиль Альварес Микрокомпьютерная система обучения

Наставник . М. Наука , 1990. 223 с. 2. Демушкин А7С7, КирилловА.И Сливин Н.А Чубров Е.В Кривошеев А.О Фомин С.С. Компьютерные обучающие программы Информатика и образование, 1995. N 3. 3. Казаков В.Г Дорошквин А.А Задорожный П.М Князев Б.А. Лекционная мультимедиа аудитория Информатика и образование,

1995. N4. 4. Фаронов В.В. турбо паскаль в 3 т. М. Учебно-инженерный центр МВТУ-ФЕСТО ДИДАКТИК , 1992.Т.1 Основы турбо Паскаля. 286 с. 5. Епанешников A.M Епанешников В.А. Программирование в среде TURBO-PASCAL 7.O.M. ДИАЛОГ-МИФИ , 1995. 282 С. 6. Петров В.И. Графические средства алгоритмического языка

TURBO-PASCAL Методические указания к выполнению лабораторных работ N 1,2 ЛИАП.СПб 1992. 33 с. 7. Петров В.И. Графические средства алгоритмического языка TURBO-PASCAL Методические указания к выполнению лабораторных работ N 3,4,5 ЛИАП.СПб 1992. 43 с. 8. Технико-экономическое обоснование исследовательских и инженерных решений в дипломных проектах и работах учебное пособие под редакцией

Минько Э.В Покровского А.В. Свердловск Уральский университет, 1990. 144 с. 9. Евдокимов В.И. Охрана труда и окружающей среды Методические указания по дипломному проектированию ЛИАП.Л 1989. 34 с. 10. Евдокимов В.И Козаченко В.И Нейман Л.А Румянцев В.В. Охрана труда в приборо- и радиоаппаратостроении

Учебное пособие СПГУАП. СПб 1993. 81 с. ПРИЛОЖЕИЕ 1 Текст программы program GRAPHIC главная программа Графика uses Crt, Graph, Dos, Strings, MYBOOK, RAZDEL1, RAZDEL2, RAZDEL3, RAZDEL4 , RAZDEL5 , RAZDEL6 , RAZDEL7 Type Dlina string 6Q var Gd,Gm integer Regime byte NOMER3 ,

NOMER4 , NOMER5 , NOMER6 , NOMER7 integer Ball3 array l. .2 of integer переменные вывода результатов ball4 array l. .2 of integer работы по разделам ball5 array l. .2 of Integer ball6 array l. .2 of integer ball7 array l. .2 of integer Itog array l, .2 of integer переменная накопления результатов работы за сеанс tog array l. .2 of integer переменная вывода результатов работы за сеанс К аггау 1. .2 of integer переменная контролирующая число

обращений к процедурам рабочих модулей Dh Char переменная для принятия символа с клавиатуры procedure Windol введение Type Ann record PPl char РР2 array 0. .69 of char end var FF file of Ann A Ann St string 68 label 1 begin Assign FF, VEDEN. pas связь с файлом текста введения SI- Reset FF SI IF lOResulto 0 then Writeln Heт файла VEDEN1

ClearDevice OKNO процедура оформления экрана For N 0 to 31 do цикл вывода текста введения begin Read FF,A St StrPas A.PP2 case A.PP1 of проверка наличия иллюстрации и их вывод OutTextXY 20 , 10 N 10 , St 0 GoTo 1 end end 1 readkey Close FF end procedure Cursor Flag boolean Если Flag True, то курсор видим если Flag False,TO невидим const sizeCursor word 0 var

Red registers begin with Red do begin if Flag then begin CX SizeCursor Восстановим старый размер курсора end else begin BH 0 0-я страница дисплея АН 03 функция чтения размера и позиции курсора Intr 10,Red SizeCursor CX сохраняем размер курсора СН 20 делаем курсор невидимым end АН 01 функция установки размера курсора

Intr 10,Red end end procedure SVETFON C,F byte установка цвета и фона begin TextColor C TextBackground F end procedure VERTIKALNOE MENU Kl,K2,Kp byte SS1,SS2,SS3,SS4,SS5,SS6, SS7,SS8,SS9 dlina Var Result byte процедура создания окна меню Label Met Const Kr 9 Var M array l Kr of string 60 I,T byte

Ch char Fl boolean begin Cursor False Fl True M 1 SS1 M 2 SS2 M 3 SS3 M 4 SS4 M 5 SS5 M 6 SS6 M 7 SS7 M 8 SS8 M 9 SS9 T Length M I for I 2 to Kp do if Length M I T then T Length M I for l l to Kp do begin if 1 1 then SVETFON 1,13 else SVETFON 13,1 GoToXY Kl,K2 i write

M I end SVETFON 13,1 I l while Fl True do begin Ch ReadKey if Ch 13 then Fl False if Ch 0 and KeyPressed then begin Ch ReadKey case Ch of 80 begin GoToXY Kl,K2 i SVETFON 13,1 write M I if i Kp l then begin I l SVETFON 3,l GoToXY Kl,K2 l SVETFON 1, 13 write M I SVETFON 13,1 goto Met end

GoToXY Kl,K2 I SVETFON 1,13 write M I SVETFON 13,1 end 72 begin if 1 1 then goto Met GoToXY Kl,K2 I SVETFON 1371 write M I i I-1 GoToXY Kl,K2 I SVETFON 1,13 write M I end end Met end end Result I SVETFON 13,1 Cursor True end begin Начало основной программы GraphRegim SetBKColor l SetTextStyle 0,0,5 SetColor 12

OutTextXY 40,50, Т Р А Ф И К А SetTextStyle 0,0,1 SetColor 15 OutTextXY 100,225, Программа для обучения работе в графическом режиме OutTextXY 170,245, Разработал Черноткач Р. И. OutTextXY 232,285, СПГУАП OutTextXY 240,305, 2002 readkey SetTextStyle 0,0,l Windo1 CloseGraph NOMER3 0 переменные, контролирующие доступ к разделам

NOMER4 0 не более двух раз за сеанс NOMER5 0 NOMER6 0 NOMER7 0 К 1 0 К 2 0 while True do begin TextBackground 3 ClrScr Cursor False GoToXY 15,5 TextColor l write Какой раздел Вы хотели бы изучить? GoToXY 10,10 VERTIKALNOE MENU 10,10,9, Программирование графических режимов Управление курсором и полем рисования

Формирование прямоллинейньгх монохромных изображений Управление цветим и стилем изображений Программирование цветных криволинейных изображений Формирование графических текстов Программирование озвученных динамических сцен Результаты Вашей работы Конец работы Regime case Regime of 1 RAZDEL10 2 RAZDEL20 3 begin NOMER3 NOMER3 1 If NOMER3 3 then begin

RAZDEL30 ball3 NOMER3 REZ3 Itog nomer3 Itog nomer3 ball3 nomer3 K nomer3 K nomer3 l end end 4 begin NOMER4 NOMER4 1 If NOMER4 3 then begin RAZDEL40 ball4 nomer4 rez4 Itog nomer4 Itog nomer4 ball4 nomer4 K nomer4 K nomer4 l end end 5 begin NOMER5 NOMER5 1 If NOMER5 3 then begin RAZDEL50 Ьа115 погаег5 rez5

Itog nomer5 Itog nomer5 ball5 nomer5 K nomer5 K nomer5 1 end end 6 begin NOMER6 NOMER6 1 If NOMER6 3 then begin RAZDEL60 ball6 nomer6 rez6 Itog nomer6 Itog nomer6 ball6 nomer6 K nomer6 K nomer6 l end end 7 begin NOMER7 NOMER7 1 IF NOMER7 3 then begin RAZDEL70 ball7 nomer7 rez7 Itog nomer7 Itog nomer7 ball7 nomer7 end end 8 begin вывод результатов работы

If K l 0 then tog l3 Round Itog l K 1 If K 2 0 then tog 2 Round Itog 2 K 2 TextBackground 1 ClrScr TextColor 12 writeln Write РЕЗУЛЬТАТЫ ВАШЕЙ РАБОТЫ writeln writeln l попытка 2 попытка 80 writeln wtiteln ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ writeln writeln УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЙ1 writeln writeln

ПРОГРАММИРОВАНИЕ ЦВЕТНЫХ КРИВОЛИНЕЙНЫХ ИЗОБРАЖЕНИЙ writeln writeln ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ writeln writeln ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН writeln writeln writeln ОЦЕНКА РАБОТЫ ЗА СЕАНС GotoXY 64,6 writeln ball3 1 GoToXY 75,6 writeln ball3 2 GoToXY 64,8 writeln ball4 l

GoToXY 75,8 writeln ball4 2 GoToXY 64,10 writeln ball5 l GoToXY 75,10 writeln ball5 2 GoToXY 64,12 writeln ball6 l GoToXY 75,12 writeln bal16 2 GoToXY 64,14 writeln bal17 l GoToXY 75,14 writeln ball7 23 GoToXY 64,18 writeln tog l GoToXY 75,18 writeln tog 2 readkey end 9 begin GraphRegim

OKNO SetTextStyle 0,0,4 SetColor 4 OutTextXY 150,80, Bы хотите OutTextXY 60,120, закончить работу OutTextXY 100,160, с программой? OutTextXY 230,280, Y N Dh ReadKey If Dh y or Dh н then begin Cursor True ClrScr Halt end else CloseGraph end end end CloseGraph end. A , B D , E , F G I ,L ,N O P Q R S ,

T V ,X M 16384,0,655360 Unit RAZDEL1 interface uses Crt, Graph, Dos, Strings, MYBOOK type An record P1 Char P2 array 0 69 of Char end var Fl file of An A An Gd,Gm,Y,N integer St string 68 procedure RAZDEL10 Обеспечение работы с разделом Программиро вание графических режимов implementation procedure

RAZDEL10 Label 1 begin GraphRegim Assign Fl, RAZTEX1.pas SI- Reset Fl SI If lOResult 0 then Writeln Нет файла RAZTEX1.pas Repeat ClearDevice OKNO Y 10 For N 0 to 31 do begin Read Fl,A St StrPas A.P2 case A.P1 of OutTextXY 20,Y N 10,St begin SetColor 4 OutTextXY 20,Y N 10,St SetColor l end 0

GoTo 1 end end 1 readkey until A.P1 O Close Fl CloseGraph end begin end. A ,B D ,E ,F G I ,L ,N O P Q R S ,T V ,X M 16384,0,655360 Unit RAZDEL2 interface uses Crt,Graph,Dos,Strings,MYBOOK type An record P1 Char P2 array 0 69 of Char end var F2 file of An A An Gd,Gm,X,Y,N integer St string 68 procedure

RAZDEL20 Обеспечение работы с разделом Управление курсором и полем рисования implementation procedure RAZDEL20 Label 1 begin GraphRegim Assign F2, RAZTEX2.pas SI- Reset F2 SI If IOResult 0 then Writeln Нет файла RAZTEX2.pas repeat ClearDevice OKNO Y 10 For N 0 to 31 do begin Read F2,A St StrPas A.P2 case A.P1 of OutTextXY 20,Y

N 10,St begin SetColor 4 OutTextXY 20,Y N 10,St SetColor 1 end 0 GoTo 1 end end 1 readkey until A.P1 0 Close F2 CloseGraph end begin end. Unit RAZDEL3 interface uses Crt,Graph,Dos,Strings,MYBOOK type An record Теоретическая часть P1 Char переменная поля флагов конец файла, номер иллюстрации, строка, выделяемая цветом P2 array 0 69 of Char переменная поля текста end type

Ant record Текст вопросов P1 Char переменная поля флагов конец файла, конец вопроса, номер иллюстрации P2 array 0 1 of Char переменная номера вопроса P3 array 0 69 of Char переменная поля текста end type Antr record Справки P1 Char переменная поля флагов конец файла, конец вопроса, номер иллюстрации P2 array 0 1 of Char переменная поля номера вопроса

P3 array 0 0 of Char переменная поля флагов номера справки, конца справки P4 array 0 69 of Char переменная поля текста P5 array 0 2 of Char переменная поля оценки end var F3 file of An переменные теоретической части A An St string 68 Y,N integer var F32 file of Ant переменные вопросов At Ant R1 string 2 Z1 integer S string 68 var F33 file of

Antr переменные справок Atr Antr R2 string 2 R3 string 1 Stt string 68 R4 string 2 Z2,Z3,Z4 integer CH Char переменная для принятия символа с клавиатуры K,J,I integer переменные циклов M array 0 3 of integer массив для хранения четырех выбранных номеров вопросов Code integer var R5 string 1 переменные вывода результатов Z5 integer REZ3 Longint переменная оценки procedure

RAZDEL30 Обеспечение работы с разделом Формирование прямолинейных монохромных изображений implementation const Mn array 1 5 of PointType X 460 Y 30 , X 590 Y 90 , X 590 Y 120 , X 430 Y 120 , X 460 Y 30 Mno array 1 5 of PointType X 460 Y 170 , X 590 Y 230 , X 590 Y 260 , X 430 Y 260 , X 460 Y 170 Константы для формирование иллюстраций к тексту теории const

Ww array 1 5 of PointType X 390 Y 60 , X 510 Y 60 , X 510 Y 260 , X 390 Y 260 , X 390 Y 60 WWW array 1 5 of PointType X 380 Y 50 , X 520 Y 50 , X 520 Y 270 , X 380 Y 270 , X 380 Y 50 Константы для формирования иллюстраций к тексту вопросов procedure RAZDEL30 Label 0,1,2,3 begin REZ3 6 GraphRegim Assign

F3, RAZTEX3.pas Связь с файлом теста теории SI- Reset F3 SI If IOResult 0 then Writeln Нет файла RAZTEX3.pas repeat OKNO Y 10 For N 0 to 31 do Цикл вывода текста теории begin Read F3,A St StrPas A.P2 Преобразование ASCIIZ-строки A.P2 в строку типа string case A.P1 of Иллюстрации к тексту

OutTextXY 20,Y N 10,St begin SetColor 4 OutTextXY 20,Y N 10,St SetColor 1 end щ begin SetColor 4 Line 460,120,593,120 OutTextXY 460,160, 0 OutTextXY 593,130, X,Y SetColor 1 end 2 begin SetColor 4 OutTextXY 460,160, 0 dX OutTextXY 600,180, dY OutTextXY 550,200, dX,dY Line 460,170,593,170 Line 593,170,593,200

Line 460,170,593,200 SetColor 1 end 3 begin SetColor 4 OutTextXY 430,245, X1,Y1 Line 460,260,593,285 OutTextXY 580,270, X2,Y2 SetColor 1 end 4 begin SetBKColor 2 SetColor 4 Rectangle 460,40,590,90 SetColor 1 end 5 begin SetFillStyle 1,4 Bar 459,129,591,181 SetFillStyle 8,5 SetColor 4 Bar 460,130,590,180

SetColor 1 end 6 begin SetFillStyle 6,5 SetColor 4 Bar3D 460,240,590,300,20,true SetCOLOR 1 SetFillStyle 1,15 SetBKColor 11 end 7 begin SetBKColor 15 SetColor 4 DrawPoly 5,Mn SetColor 1 end 8 begin SetColor 4 SetFillStyle 11,5 SetBKColor 15 FillPoly 5,Mno SetColor 1 SetFillStyle 1,15 end 0

GoTo 0 end end 0 readkey ClearDevice OKNO until A.P1 0 Close F3 Assign F32, Joing.pas связь с файлом вопросов SI- Reset F32 SI If IOResult 0 then Writeln Нет файла Joing.pas Assign F33, Iod.pas связь с файлом справок SI- Reset F33 SI If IOResult 0 then Writeln Нет файла

Iod.pas OKNO1 заставка Контрольные вопросы readkey ClearDevice Randomize Выбор четырех номеров вопросов For J 0 to 3 do begin 1 I Random 10 If I 0 then GOTO 1 For K 0 to J-1 do begin If M k I then GOTO 1 end M J I end repeat OKNO begin Read F32,At R1 StrPas At.

P2 Преобразование ASCIIZ-строки At.P2 в строку типа string Val R1,Z1,Code Преобразование символьного представления номера вопроса в двоичную форму Y 20 If Z1 M 0 or Z1 M 1 or Z1 M 2 or Z1 M 3 then begin repeat S StrPas At.P3 Преобразование ASCIIZ-строки At.P3 в строку типа string OutTextXY 20,Y,S Вывод текста вопроса case At.P1 of иллюстрации к тексту вопросов 1 begin

DrawPoly 5,Ww DrawPoly 5,Www Bar3D 410,100,470,120,20,true Bar3D 410,120,470,250,20,false end 2 begin Bar3D 200,250,300,300,30,true Bar3D 200,300,300,320,30,true end 3 begin Line 380,150,550,190 Line 380,190,550,190 Line 380,230,550,190 OutTextXY 375,140, X,Y OutTextXY 375,170, dY OutTextXY 555,190, X1,Y1

OutTextXY 375,200, dY end end Y Y 10 Read F32,At until At.P1 2 OutTextXY 50,330, ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА CH ReadKey SetColor 4 OutTextXY 320,325,CH SetColor 1 readkey If CH 1 and CH 2 and CH 3 and CH 4 then begin SetFillStyle 1,11 Bar 318,320,327,340 GoTo 2 end else repeat Read F33,Atr

R2 StrPas Atr.P2 Преобразование ASCIIZ-строки Atr.P2 в строку типа string Val R2,Z2,Code Преобразование символьного представления номера вопроса в двоичную форму If Z2 Z1 then begin repeat If Atr.P3 CH then begin Y 100 OKNO repeat Stt StrPas Atr.P4 Преобразование ASCIIZ-строки Atr.P4 в строку типа string R5 StrPas

Atr.P5 Преобразование ASCIIZ-строки Atr.P5 в строку типа string Val R5,Z5,Code Преобразование символьного представления оценки в двоичную форму REZ3 Round REZ3 Z5 2 Формирование оценки OutTextXY 20,Y,Stt Вывод текста справки Y Y 10 case Atr.P1 of иллюстрации к тексту справок 1 begin Line 380,150,550,190 MoveRel 380,190 Line 380,190,550,190

LineTo 550,190 OutTextXY 555,190, X1,Y1 OutTextXY 370,140, X,Y OutTextXY 390,200, X,Y dY end 2 begin GOTOXY 100,190 LineTo 100,190 LineRel 30,40 LineRel 0,80 end 3 begin GOTOXY 100,190 LineTo 380,150 LineRel 30,40 LineRel 0,80 end end Read F33,Atr until Atr.P3 readkey GOTO 3 end else Read

F33,Atr until Atr.P1 end until Atr.P1 0 end else 3 end until At.P1 0 Close F32 Close F33 CloseGraph end begin end. Unit RAZDEL4 interface uses Crt,Graph,Dos,Strings,MYBOOK type An record Теория P1 Char Переменная поля флага конец файла, номер иллюстрации P2 array 0 69 of char Переменная поля текста end type

Ant record Текст вопросов P1 Char Переменная поля флага конец файла, номер иллюст- рации, конец вопроса P2 array 0 1 of Char Переменная поля номера вопроса P3 array 0 69 of Char Переменная поля текста вопроса end type Antr record Справки P1 Char Переменная поля флага конец файла, конец вопроса, номер иллюстрации P2 array 0 1 of Char Переменная поля номера вопроса

P3 array 0 0 of Char Переменная поля флага номер справки и конец справки P4 array 0 69 of Char Переменная поля текста справки P5 array 0 2 of Char Переменная поля оценки end var F4 file of An Переменные теории A An N,Y integer St string 68 var F32 file of Ant Переменные вопросов At Ant R1 string 2

Z1 integer S string 68 var F33 file of Antr Переменные справок Atr Antr R2 string 2 R3 string 1 Stt string 68 R4 string 2 Z2,Z3,Z4 integer CH Char Переменная для принятия символа с клвиатуры K,J,I integer Переменные циклов M array 0 3 of integer Массив для хранения черырех выбранных номеров вопросов

Code integer var R5 string 1 переменные вывода результатов Z5 integer REZ4 Longint переменная оценки procedure RAZDEL40 implementation procedure RAZDEL40 Label 0,1,2,3 begin REZ4 6 GraphRegim Assign F4, RAZTEX4.pas Связь с файлом текста теории SI- Reset F4 SI If IOResult 0 then Writeln Нет файла

RAZTEX4.pas repeat ClearDevice OKNO Y 10 For N 0 to 31 do Вывод текста теории begin Read F4,A St StrPas A.P2 Преобразование ASCIIZ-строки A.P2 в строку типа string OutTextXY 20,Y N 10,St case A.P1 of begin SetColor 4 OutTextXY 20,Y N 10,St SetColor 1 end 1 begin SetFillStyle 1,15

Bar 350,45,600,340 SetFillStyle 1,0 Bar 350,45,600,65 SetFillStyle 1,1 Bar 350,65,600,85 SetFillStyle 1,2 Bar 350,85,600,105 SetFillStyle 1,3 Bar 350,105,600,120 SetFillStyle 1,4 Bar 350,120,600,135 SetFillStyle 1,5 Bar 350,135,600,150 SetFillStyle 1,6 Bar 350,150,600,165

SetFillStyle 1,7 Bar 350,165,600,185 SetFillStyle 1,8 Bar 350,185,600,200 SetFillStyle 1,9 Bar 350,200,600,215 SetFillStyle 1,10 Bar 350,215,600,235 SetFillStyle 1,11 Bar 350,235,600,255 SetFillStyle 1,12 Bar 350,255,600,275 SetFillStyle 1,13 Bar 350,275,600,295 SetFillStyle 1,14

Bar 350,295,600,315 SetFillStyle 1,15 Bar 350,315,600,340 end 2 begin SetBKColor 15 SetFillStyle 1,15 Bar 200,100,600,300 SetFillStyle 2,2 Bar 200,100,600,120 SetFillStyle 3,2 Bar 200,120,600,145 SetFillStyle 4,2 Bar 200,145,600,168 SetFillStyle 5,2 Bar 200,168,600,190 SetFillStyle 6,2

Bar 200,190,600,210 SetFillStyle 7,2 Bar 200,210,600,228 SetFillStyle 8,2 Bar 200,228,600,246 SetFillStyle 9,2 Bar 200,246,600,264 SetFillStyle 10,2 Bar 200,264,600,282 SetFillStyle 11,2 Bar 200,282,600,300 SetFillStyle 1,0 end 0 GoTo 0 end end readkey 0 until A.P1 0 readkey Close

F4 Assign F32, Joi.pas связь с файлом вопросов SI- Reset F32 SI If IOResult 0 then Writeln Нет файла Joi.pas Assign F33, Iodi.pas SI- Reset F33 связь с файлом справок SI If IOResult 0 then Writeln Нет файла Iodi.pas OKNO1 Контрольные вопросы readkey ClearDevice Randomize Выбор четырех номеров вопросов

For J 0 to 3 do begin 1 I Random 10 If I 0 then GOTO 1 For K 0 to J-1 do begin If M k I then GOTO 1 end M J I end M 1 1 repeat OKNO begin Read F32,At R1 StrPas At.P2 Преобразование ASCIIZ-строки At.P2 в строку типа string Val R1,Z1,Code Преобразование символьного представления номера вопроса в двоичную форму

Y 20 If Z1 M 0 or Z1 M 1 or Z1 M 2 or Z1 M 3 then begin repeat S StrPas At.P3 Преобразование ASCIIZ-строки At.P3 в строку типа string OutTextXY 20,Y,S Вывод текста вопроса case At.P1 of begin end end Y Y 10 Read F32,At until At.P1 OutTextXY 50,330, ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА 2 CH ReadKey SetColor 4 OutTextXY 320,325,CH

SetColor 1 readkey If CH 1 and CH 2 and CH 3 and CH 4 then begin SetFillStyle 1,11 Bar 318,320,327,340 GoTo 2 end else repeat Read F33,Atr R2 StrPas Atr.P2 Преобразование ASCIIZ-строки Atr.P2 в строку типа string Val R2,Z2,Code Преобразование символьного представления номера вопроса в двоичную форму If Z2 Z1 then begin repeat If Atr.P3

CH then begin Y 100 OKNO repeat Stt StrPas Atr.P4 Преобразование ASCIIZ-строки Atr.P4 в строку типа string R5 StrPas Atr.P5 Преобразование ASCIIZ-строки Atr.P5 в строку типа string Val R5,Z5,Code Преобразование символьного представления оценки в двоичную форму REZ4 Round REZ4 Z5 2 Формирование оценки OutTextXY 20,Y,

Stt Y Y 10 case Atr.P1 of begin end end Read F33,Atr until Atr.P3 readkey GOTO 3 end else Read F33,Atr until Atr.P1 end until Atr.P1 0 end else 3 end until At.P1 0 Close F32 Close F33 CloseGraph end begin end. Unit RAZDEL5 interface uses Crt,Graph,Dos,Strings,MYBOOK type

An record P1 Char P2 array 0 69 of char end type Ant record Текст вопросов P1 Char P2 array 0 1 of Char P3 array 0 69 of Char end type Antr record Справки P1 Char P2 array 0 1 of Char P3 array 0 0 of Char P4 array 0 69 of Char P5 array 0 2 of Char end var F5 file of An A An N,Y integer St string 68 var

F52 file of Ant переменные вопросов At Ant R1 string 2 Z1 integer S string 68 V char var F53 file of Antr переменные справок Atr Antr R2 string 2 поле Ant.P1-номер вопроса R3 string 1 поле Ant.P2-номер варианта ответа Stt string 68 поле Ant.P3-текст справки R4 string 2 поле Ant.P4- оценка Z2,Z3,Z4 integer

CH Char номер варианта ответа K,J,I integer M array 0 3 of integer Nom Longint Code integer var R5 string 1 переменные вывода результатов Z5 integer REZ5 Longint procedure RAZDEL50 implementation procedure RAZDEL50 Label 0,1,2,3 begin REZ5 0 GraphRegim Assign F5, RAZTEX5.pas SI- Reset F5 SI If IOResult 0 then

Writeln Нет файла RAZTEX5.pas repeat ClearDevice OKNO Y 10 For N 0 to 31 do begin Read F5,A St StrPas A.P2 case A.P1 of OutTextXY 20,Y N 10,St begin SetColor 4 OutTextXY 20,Y N 10,St SetColor 1 end 1 begin SetColor 4 Arc 500,150,0,278,30 OutTextXY 490,140, X,Y OutTextXY 500,150 SetColor 1 end 2 begin

SetColor 4 Circle 500,300,30 OutTextXY 475,290, X,Y OutTextXY 500,300 SetColor 1 end 3 begin SetBKColor 15 SetColor 4 Ellipse 500,100,0,278,50,25 OutTextXY 490,90, X,Y OutTextXY 500,100 SetColor 1 end 4 begin SetColor 2 Ellipse 500,180,10,270,50,30 Line 500,135,460,225 SetFillStyle 4,14

FloodFill 455,180,2 end 5 begin SetColor 4 Ellipse 500,300,0,361,50,30 FillEllipse 500,300,50,30 SetFillStyle 1,15 SetColor 1 end 6 begin SetFillStyle 7,13 PieSlice 500,120,0,120,50 end 7 begin SetFillStyle 9,13 Sector 500,200,0,270,50,30 SetFillStyle 1,15 end 8 begin SetFillStyle 1,9 Bar 250,100,600,200 SetViewPort 250,100,600,200,true

FloodFill 260,110, 1 Randomize repeat PutPixel Random GetMaxX ,Random GetMaxY ,15 Delay 15 until KeyPressed SetFillStyle 1,15 SetViewPort 5,5,635,345,true end 9 begin Diogramma end 0 GoTo 0 end end 0 readkey until A.P1 0 Close F5 Assign F52, Join.pas связь с файлом вопросов

SI- Reset F52 SI If IOResult 0 then Writeln Нет файла Join.pas Assign F53, Iodin.pas SI- Reset F53 связь с файлом справок SI If IOResult 0 then Writeln Нет файла Iodin.pas OKNO1 Контрольные вопросы readkey ClearDevice Randomize Выбор четырех номеров вопросов For J 0 to 3 do begin 1 I Random 6 If I 0 then GOTO 1

For K 0 to J-1 do begin If M k I then GOTO 1 end M J I end repeat OKNO begin Read F52,At вывод текста вопросов и справок R1 StrPas At.P2 Val R1,Z1,Code Y 20 If Z1 M 0 or Z1 M 1 or Z1 M 2 or Z1 M 3 then begin repeat S StrPas At.P3 OutTextXY 20,Y,S case At.P1 of 2 begin end end

Y Y 10 Read F52,At until At.P1 OutTextXY 50,330, ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА 2 CH ReadKey SetColor 4 OutTextXY 320,325,CH SetColor 1 readkey If CH 1 and CH 2 and CH 3 and CH 4 then begin SetFillStyle 1,11 Bar 318,320,327,340 GoTo 2 end else repeat Read F53,Atr R2 StrPas Atr.P2 Val R2,Z2,Code If Z2

Z1 then begin repeat If Atr.P3 CH then begin Y 100 OKNO repeat Stt StrPas Atr.P4 R5 StrPas Atr.P5 формирование оценки Val R5,Z5,Code REZ5 Round REZ5 Z5 2 OutTextXY 20,Y,Stt Y Y 10 case Atr.P1 of 1 begin end 0 GoTo 3 end Read F53,Atr until Atr.P3 readkey GOTO 3 end else Read

F53,Atr until Atr.P1 end until Atr.P1 0 end else 3 end until At.P1 0 Close F52 Close F53 CloseGraph end begin end. Unit RAZDEL6 interface uses Crt,Graph,Dos,Strings,MYBOOK type An record Теория P1 Char Переменная поля флага конец файла, номер иллюстрации P2 array 0 69 of char Переменная поля текста end type

Ant record Текст вопросов P1 Char Переменная поля флага конец файла, номер иллюст- рации, конец вопроса P2 array 0 1 of Char Переменная поля номера вопроса P3 array 0 69 of Char Переменная поля текста вопроса end type Antr record Справки P1 Char Переменная поля флага конец файла, конец вопроса, номер иллюстрации P2 array 0 1 of Char Переменная поля номера вопроса

P3 array 0 0 of Char Переменная поля флага номер справки и конец справки P4 array 0 69 of Char Переменная поля текста справки P5 array 0 2 of Char Переменная поля оценки end var F6 file of An Переменные теории A An Y,N,T1,T2,T3,T4 integer St string 68 var F62 file of Ant переменные вопросов

At Ant R1 string 2 Z1 integer S string 68 var F63 file of Antr Переменные справок Atr Antr R2 string 2 R3 string 1 Stt string 68 R4 string 2 Z2,Z3,Z4 integer CH Char Переменная для принятия символа с клвиатуры K,J,I integer Переменные циклов M array 0 3 of integer Массив для хранения черырех выбранных номеров вопросов

Code integer var R5 string 1 переменные вывода результатов Z5 integer REZ6 Longint переменная оценки procedure RAZDEL60 Обеспечение работы раздела Формирование графических текстов implementation procedure RAZDEL60 Label 0,1,2,3 begin REZ6 6 GraphRegim Assign F6, RAZTEX6.pas SI- Reset F6 SI If IOResult 0 then

Writeln Нет файла RAZTEX6.pas repeat ClearDevice OKNO For N 0 to 31 do begin Read F6,A St StrPas A.P2 Преобразование ASCIIZ-строки A.P2 в строку типа string case A.P1 of OutTextXY 20,10 N 10,St begin SetColor 4 OutTextXY 20,10 N 10,St SetColor 1 end 1 begin SetFillStyle 1,1 Bar 10,30,630,338

SetColor 15 SetTextStyle 2,0,1 OuttextXY 50,50, TriplexFont, HorizDir, 15 SetTextStyle 1,0,3 SetColor 12 OutTextXY 50,100, DefaultFont, HorizDir, 12 SetTextStyle 3,0,4 SetColor 13 OutTextXY 50,160, SmallFont, HorizDir, 13 SetTextStyle 4,0,5 SetColor 10 OutTextXY 50,220, SanSerifFont, HorizDir,

10 SetTextStyle 0,0,3 SetColor 14 OutTextXY 50,300, GothicFont, HorizDir, 14 SetTextStyle 0,1,2 SetColor 14 OutTextXY 30,30, DefaultFont,VertDir SetTextStyle 0,0,1 SetColor 1 end 2 begin SetColor 4 SetTextStyle 1,0,1 SetUserCharSize 1,1,1,1 OutTextXY 20,120, Turbo-Pascal 7.0

SetUserCharSize 3,2,3,2 OutTextXY 20,160, Turbo-Pascal 7.0 SetUserCharSize 2,1,2,1 OutTextXY 20,230, Turbo-Pascal 7.0 SetTextStyle 0,0,1 SetColor 1 end 3 begin T1 InstallUserFont Goth T2 InstallUserFont sans T3 InstallUserFont trip T4 InstallUserFont bold If GraphResult grOK then begin

OutTextXY 40,180, Ошибка инсталляции readkey end SetFillStyle 1,1 Bar 10,30,630,335 SetTextStyle T1,0,4 SetColor 13 OutTextXY 100,60, Goth.chr, HorizDir SetTextStyle T2,0,4 SetColor 10 OuttextXY 100,110, Sanse, HorizDir SetTextStyle T3,0,4 SetColor 4 OutTextXY 100,170, Trip, HorizDir SetTextStyle

T4,0,4 SetColor 14 OutTextXY 100,230, Bold, HorizDir SetTextStyle 0,1,2 SetColor 15 OutTextXY 45,35, Goth.chr, VertDir SetTextStyle 0,0,1 SetColor 1 end GoTo 0 0 GoTo 0 end end 0 readkey until A.P1 0 Close F6 Assign F62, Jois.pas связь с файлом вопросов SI- Reset F62

SI If IOResult 0 then OutTextXY 50,100, Нет файла Jois.pas Assign F63, Iodis.pas SI- Reset F63 связь с файлом справок SI If IOResult 0 then Writeln Нет файла Iodis.pas OKNO1 Контрольные вопросы readkey ClearDevice Randomize Выбор четырех номеров вопросов For J 0 to 3 do begin 1 I Random 10 If I 0 then GOTO 1

For K 0 to J-1 do begin If M k I then GOTO 1 end M J I end M 1 1 repeat OKNO begin Read F62,At R1 StrPas At.P2 Преобразование ASCIIZ-строки At.P2 в строку типа string Val R1,Z1,Code Преобразование символьного представления номера вопроса в двоичную форму Y 20 If Z1 M 0 or Z1 M 1 or Z1 M 2 or Z1 M 3 then begin repeat

S StrPas At.P3 Преобразование ASCIIZ-строки At.P3 в строку типа string OutTextXY 20,Y,S Вывод текста вопроса case At.P1 of begin end end Y Y 10 Read F62,At until At.P1 OutTextXY 50,330, ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА 2 CH ReadKey SetColor 4 OutTextXY 320,325,CH SetColor 1 readkey If CH 1 and CH 2 and CH 3 and CH 4 then begin

SetFillStyle 1,11 Bar 318,320,327,340 GoTo 2 end else repeat Read F63,Atr R2 StrPas Atr.P2 Преобразование ASCIIZ-строки Atr.P2 в строку типа string Val R2,Z2,Code Преобразование символьного представления номера вопроса в двоичную форму If Z2 Z1 then begin repeat If Atr.P3 CH then begin Y 100 OKNO repeat Stt StrPas Atr.P4 Преобразование

ASCIIZ-строки Atr.P4 строку типа string R5 StrPas Atr.P5 Преобразование ASCIIZ-строки Atr.P5 в строку типа string Val R5,Z5,Code Преобразование символьного представления оценки в двоичную форму REZ6 Round REZ6 Z5 2 Формирование оценки OutTextXY 20,Y,Stt Y Y 10 case Atr.P1 of begin end end Read F63,Atr until

Atr.P3 readkey GOTO 3 end else Read F63,Atr until Atr.P1 end until Atr.P1 0 end else 3 end until At.P1 0 Close F62 Close F63 CloseGraph end begin end. Unit RAZDEL7 interface uses Crt,Graph,Dos,Strings,MYBOOK type An record Теория P1 Char Переменная поля флага конец файла, номер иллюстрации

P2 array 0 69 of char Переменная поля текста end type Ant record Текст вопросов P1 Char Переменная поля флага конец файла, номер иллюст- рации, конец вопроса P2 array 0 1 of Char Переменная поля номера вопроса P3 array 0 69 of Char Переменная поля текста вопроса end type Antr record Справки P1 Char Переменная поля флага конец файла, конец вопроса, номер иллюстрации

P2 array 0 1 of Char Переменная поля номера вопроса P3 array 0 0 of Char Переменная поля флага номер справки и конец справки P4 array 0 69 of Char Переменная поля текста справки P5 array 0 2 of Char Переменная поля оценки end var F7 file of An Переменные теории A An N,Y,T integer

St string 68 var F72 file of Ant Переменные вопросов At Ant R1 string 2 Z1 integer S string 68 var F73 file of Antr Переменные справок Atr Antr R2 string 2 R3 string 1 Stt string 68 R4 string 2 Z2,Z3,Z4 integer CH Char Переменная для принятия символа с клвиатуры K,J,I integer

Переменные циклов M array 0 3 of integer Массив для хранения черырех выбранных номеров вопросов Code integer var R5 string 1 переменные вывода результатов Z5 integer REZ7 Longint переменная оценки var Size word pt pointer u,Nn,xt,yt integer procedure RAZDEL70 implementation procedure RAZDEL70 Label 0,1,2,3 begin REZ7 6 GraphRegim Assign

F7, RAZTEX7.pas связь с файлом теории SI- Reset F7 SI If IOResult 0 then Writeln Нет файла RAZTEX7.pas repeat OKNO For N 0 to 32 do begin Read F7,A St StrPas A.P2 Преобразование ASCIIZ-строки A.P2 в строку типа string case A.P1 of OutTextXY 20,10 N 10,St begin SetColor 4 OutTextXY 20,10

N 10,St SetColor 1 end 1 begin For Nn 0 to 3 do begin GetMem pt,ImageSize 0,200,50,250 GetImage 0,200,50,250,pt u 0 while u GetMaxX do begin PutImage u-1,150,pt ,1 u u 8 PutImage u-1,150,pt ,1 end Dispose pt end end 2 begin SetViewPort 10,50,630,330,true SetBKColor 0 SetViewPort 20,60,620,320,true ClearViewPort

SetBKColor 14 Sound 880 Delay 200 NoSound SetBKColor 12 Sound 698 Delay 200 NoSound SetBKColor 14 Sound 880 Delay 200 NoSound SetBKColor 12 Sound 698 Delay 200 NoSound SetBKColor 10 Sound 934 Delay 200 NoSound SetBKColor 14 Sound 880 Delay 200 NoSound SetBKColor 13 Sound 784

Delay 400 NoSound SetBKColor 1 Sound 523 Delay 200 NoSound SetBKColor 9 Sound 523 Delay 200 NoSound SetBKColor 1 Sound 523 Delay 200 NoSound SetBKColor 2 Sound 587 Delay 100 NoSound SetBKColor 5 Sound 659 Delay 100 NoSound SetBKColor 4 Sound 699 Delay 200 NoSound SetBKColor 3

Sound 699 Delay 200 NoSound SetBKColor 4 Sound 699 Delay 200 NoSound Delay 600 SetViewPort 5,5,635,335,true SetBKColor 14 ClearDevice OKNO End GoTo 0 0 GoTo 0 end end 0 readkey until A.P1 0 Close F7 Assign F72, Jos.pas связь с файлом вопросов SI- Reset F72 SI If IOResult 0 then Writeln Нет файла

Jos.pas Assign F73, Ios.pas SI- Reset F73 связь с файлом справок SI If IOResult 0 then Writeln Нет файла Ios.pas OKNO1 Контрольные вопросы readkey ClearDevice Randomize Выбор четырех номеров вопросов For J 0 to 3 do begin 1 I Random 7 If I 0 then GOTO 1 For K 0 to J-1 do begin If M k I then GOTO 1 end M

J I end repeat OKNO begin Read F72,At R1 StrPas At.P2 Преобразование ASCIIZ-строки At.P2 в строку типа string Val R1,Z1,Code Преобразование символьного представления номера вопроса в двоичную форму Y 20 If Z1 M 0 or Z1 M 1 or Z1 M 2 or Z1 M 3 then begin repeat S StrPas At.P3 Преобразование ASCIIZ-строки At.P3 в строку типа string

OutTextXY 20,Y,S Вывод текста вопроса case At.P1 of begin end end Y Y 10 Read F72,At until At.P1 OutTextXY 50,320, ВВЕДИТЕ НОМЕР ПРАВИЛЬНОГО ОТВЕТА 2 CH ReadKey SetColor 4 OutTextXY 320,310,CH SetColor 1 readkey If CH 1 and CH 2 and CH 3 and CH 4 then begin SetFillStyle 1,11 Bar 318,290,327,320 GoTo 2 end else repeat

Read F73,Atr R2 StrPas Atr.P2 Преобразование ASCIIZ-строки Atr.P2 в строку типа string Val R2,Z2,Code Преобразование символьного представления номера вопроса в двоичную форму If Z2 Z1 then begin repeat If Atr.P3 CH then begin Y 100 OKNO repeat Stt StrPas Atr.P4 Преобразование ASCIIZ-строки Atr.P4 в строку типа string R5 StrPas

Atr.P5 Преобразование ASCIIZ-строки Atr.P5 в строку типа string Val R5,Z5,Code Преобразование символьного представления оценки в двоичную форму REZ7 Round REZ7 Z5 2 Формирование оценки OutTextXY 20,Y,Stt Y Y 10 case Atr.P1 of begin end end Read F73,Atr until Atr.P3 readkey GOTO 3 end else Read F73,Atr until Atr.

P1 end until Atr.P1 0 end else 3 end until At.P1 0 Close F72 Close F73 CloseGraph end begin end. unit MYBOOK interface uses Graph,Crt,Strings,Dos Type Dlina string 10 var Ch char Regime byte c,Gd,Gm,i,x1,x2,y1,y2 integer ArcCoords ArcCoordsType StAngle,dAngle,KRadius word const OK array 1 11 of

PointType X 0 Y 0 , X 640 Y 0 , X 640 Y 350 , X 0 Y 350 , X 0 Y 8 , X 5 Y 8 , X 5 Y 345 , X 635 Y 345 , X 635 Y 5 , X 0 Y 5 , X 0 Y 0 procedure Diogramma procedure OKNO procedure OKNO1 procedure GraphRegim implementation procedure OKNO begin SetColor 14 DrawPoly 11,OK SetFillStyle 1,14

FloodFill 635,2,14 SetFillStyle 1,11 Bar 6,6,634,344 SetColor 1 end procedure OKNO1 const OK array 1 11 of PointType X 0 Y 0 , X 640 Y 0 , X 640 Y 350 , X 0 Y 350 , X 0 Y 8 , X 5 Y 8 , X 5 Y 345 , X 635 Y 345 , X 635 Y 5 , X 0 Y 5 , X 0 Y 0 begin SetColor 14 DrawPoly 11,OK

SetFillStyle 1,14 FloodFill 635,2,14 SetFillStyle 1,11 Bar 6,6,634,344 SetColor 4 SetTextStyle 0,0,6 OutTextXY 50,100, Контрольные OutTextXY 140,150, вопросы SetTextStyle 0,0,1 SetColor 1 end procedure Diogramma begin SetViewPort 0,0,GetMaxX,GetMaxY,true SetColor 11 SetLineStyle 0,0,3 SetFillStyle 1,13

PieSlice 170,210,0,359,120 SetFillStyle 9,2 PieSlice 170,210,0,30,120 SetFillStyle 1,3 Sector 170,210,0,359,80,120 SetFillStyle 11,5 Sector 170,210,0,270,80,120 SetFillStyle 1,15 Circle 480,210,120 FloodFill 480,210,11 StAngle 0 dAngle 360 Div 16 while StAngle dAngle 360 do begin c random 14 SetColor c

Arc 535,210,StAngle,StAngle dAngle,40 GetArcCoords ArcCoords with ArcCoords do begin KRadius Round SQRT SQR Xend-600 SQR Yend-210 Circle Xend,Yend,KRadius setfillstyle 1,c floodfill xend-kradius 5,yend,c end StAngle StAngle dAngle end end procedure GraphRegim var Gd,Gm integer begin Gd Detect InitGraph Gd,Gm, If GraphResult grOK then

Halt 1 end begin end. Приложение 2 База данных Для работы с настоящей программой Вам необходимо знание языка TURBO-PASCAL 7.0, интегрированной среды, персонального компьютера IBM PC. Расширенный алгоритмический язык TURBO-PASCAL7.0 в качестве гра- фических средств соддержит в арсенале два стандартных модуля Grt и Graph. Модуль Grt содержит процедуры и функции следующего назначения 1.Процедуры задания режимов работы.

2.Полцедуры управления цветом. 3.Процедуры и функции работы с экраном. 4.Функции работы с клавиатурой. 5.Процедуры управления звуком и др. Процедуры и функции модуля Graph имеют назначение 1.Управление графическим режимом. 2.Управление экраном, окном, страницей. 3.Управление цветом и палитрой. 4.Работа с точками и линиями. 5.Построение различных фигур.

6.Работа с текстом. 7.Обмен с памятью. В настоящей программе они скомпанованы для изучения в следующие разделы 1.Программирование графических режимов. 2.Управление курсором и полем рисования. 3.Формирование прямолинейных монохромных изображений 4.Управление цветом и стилем изображений. 5.Программирование цветных криволинейных изображений 6.Формирование графических текстов. 7.Программирование озвученных динамических сцен. Первые два раздела являются справочными, а остальные

разделы содержат теоретическую часть и контрольные вопросы. 0 ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ Состав, назначение и взаимное положение операторов управления графическими режимами в языке TURBO-PASCAL удобно рассматривать в контексте структуры характерной графической программы program идентификатор - заголовок программы. I uses Graph - используемые модули. I Действия в текстовом режиме .

I InitGraph - инициализация графических средств I I Действия в графическом режиме по умолчанию . I I SetGraphMode - изменение графического режима. I I Действия в новом графическом режиме . I I I RestoreCrtMode - временный переход в текстовому режиму. I I I Действия в текстовом режиме . I I I- SetGraphMode - возврат в графический режим.

I I Действия в графическом режиме . I I CloseGraph I Действия в текстовом режиме . I end завершение программы. proсedure InitGraph var GraphDriver integer var GraphMode integer DriverPath string Инициализирует графическую систему, устанавливает графический режим, устанавливает исходные значения текущего указателя, палитры, цвета и т.д

ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ GraphDriver - переменная, в которую необходимо записать код требуемого графического драйвера или нуль, если требуется автоматическое определение драйвера. GraphMode - переменная, в которую процедура помещает код графического режима. DriverPath - строка, содержащая путь к драйверу если строка пустая, считается, что драйвер находится в текущем каталоге . В случае аварийной ситуации процедура устанавливает код ошибки -2 - нет графического

адаптера -3 - нет драйвера устройства -4 - ошибка в драйвере -5 - нет памяти для загрузки драйвера -10 - недопустимый режим для выбранного драйвера. procedure CloseGraph без параметров Восстанавливает текстовый режим работы дисплея,бывший до вызова графической системы, и освобождает динамическую память компьютера, отведенную под графический драйвер. procedure SetGraphMode Mode integer Mode - графический режим.

Изменяет ранее используемый графи- ческий режим либо возвращает систему в прежний графический режим после временного перехода к текстовому режиму. Условием использо- вания оператора является сохранение в динамической области ОЗУ ранее загруженного графического драйвера. ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ procedure RestoreCrtMode без параметров Восстанавливает исходный текстовый режим дисплея без потери в динамической области

ОЗУ програмы графического драйвера. Имеется ряд операторов для получения справок о текущем графическом режиме function GetDriverName string - Возвращает строковое название текущего графического адаптера. function GetModeName ModeNumber integer string - Возвращает строковое название требуемого графического режима. function GetMaxMode integer - Возвращает максимальный номер графического режима для текущего адаптера. procedure GetModeRange GraphDriver integer var

LowMode,HighMode integer - Выдает справку о диапазоне номеров графических режимов задан- ного графического адаптера. Возвращаемые параметры LowMode и HighMode означают минимальный и максимальный номера графических режимов, соответственно. function GetGraphMode integer - Возвращает номер текущего графического режима. ПРОГРАММИРОВАНИЕ ГРАФИЧЕСКИХ РЕЖИМОВ procedure GetAspectRatio var Xasp,

Yasp word - Возвращает в своих параметрах ввеличины дискретов экрана по осям X и Y ,сооответственно. 0 УПРАВЛЕНИЕ КУРСОРОМ И ПОЛЕМ РИСОВАНИЯ В графическом режиме также как и в текстовом положение выво- димых на экран данных в каждый момент времени определяется курcо- ром. Однако, в этом случае курсор невидим. При вхождении в гра- фический режим с помощью процедуры

InitGraph курсор автоматически помещается в левый верхний угол экрана, фон экрана принимает первый черный цвет палитры. Для определения и изменения положения курсора без рисования в TURBO-PASCAL предусмотрены операторы MoveTo,MoveRel, GetX,GetY. procedure MoveTo x,y integer где x,y - координаты по горизонтали и вертикали соответственно в отсчете от левого верхнего угла экрана. procedure

MoveRel Dx,Dy integer Смещает курсор без рисования относительно его текущего поло- жения. Dx, Dy - смещения курсора по координатам x и y. function GetX word Определяет для курсора значение координаты X. function GetY word Определяет для курсора значение координаты Y. УПРАВЛЕНИЕ КУРСОРОМ И ПОЛЕМ РИСОВАНИЯ При управлении положением курсора полезными оказываются также

справочные функции GetMaxX и GetMaxY, которые возвращают координаты самой правой и самой нижней возможных графических позиций курсора, соответственно, для текущего графического драйвера и режима. procedure ClearDevice Очищает экран от следов предшествовавшего рисования и восста- навливает исходные параметры графики. procedure SetViewPort X1,Y1,X2,Y2 word Clip boolean Устанавливает прямоугольное окно рисования с перемещением курсора в левый верхний угол окна.

Параметры процедуры имеют следу- ющий смысл X1,Y1 и X2,Y2 определяют соответствввенно координаты левого верхнего и правого нижнего углов окна, а Clip принимает значение true при необходимости отсечения изображения за границами окна и false, когда этого делать не надо . procedure ClearViewPort Очищает текущее окно, заполняя его первым цветом текущей цветовой палитры, и переводит курсор в левый верхний угол окна. procedure

GetViewSettings var ViewPortType Возвращает параметры активного окна просмотра в переменной ViewPort. Тип ViewPortType описан в модуле Graph. 0 ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ В данном разделе не рассматривается управление цветом и стилем рисования и закрепляется за фоном светло-серый, а за курсором синий цвет. procedure LineTo X,

Y integer щ Проводит отрезок прямой от текущего положения курсора к заданной точке X,Y . procedure LineRel Dx,Dy integer 2 Рисует отрезок прямой по направлению к точке, смещенной от текущего положения курсора на рас- стояние Dx и Dy по осям OX и OY . procedure Line X1,Y1,X2,Y2 integer 3 Проводит прямую между точками X1,Y1 и X2,Y2 . После выполнения этой и последующих процедур курсор возвращается в предшествующее положение.

ФОРМИРОВАНИЕ ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ procedure Rectangle X1,Y1,X2,Y2 integer 4 Строит контуры прямоугольника с координатами левого верхнего X1,Y1 и нижнего правого X2,Y2 углов. procedure Bar X1,Y1,X2,Y2 integer 5 Строит прямоугольник, закрашенный текущим цветом и орнаментом заполнения. X1,Y1 , X2,Y2 - координаты левого верхнего и правого нижнего углов соответственно. procedure

Bar3D X1,Y1,X2,Y2 integer Depth word Top boolean 6 Рисует аксонометрию закрашенного по фасаду прямоугольного параллелепипеда. X1,Y1 , X2,Y2 - координаты левого верхнего и правого нижнего углов прямоугольного фасада. Depth - ширина боковой грани отсчитывается по годизонтали. Top - признак включения верхней грани. ФОРМИРОВАНИЕ

ПРЯМОЛИНЕЙНЫХ МОНОХРОМНЫХ ИЗОБРАЖЕНИЙ procedure DrawPoly NumPoints word var PolyPoints 7Строит ломаную линию. NumPoints - число вершин многоугольника PolyPoints - переменная без типа, содержащая NumPoints 1 пар координат вершин многоугольника первая и последняя вершины должны совпадать . procedure FillPoly NumPoints word var PolyPoints 8 Закрашивает многоугольник текущим цветом и орнаментом.

Параметры NumPoints и PolyPoints именют тот же смысл и тип, что и одноимеынные параметры процедуры DrawPoly. 0 01С ПОМОЩЬЮ КАКИХ ПРОЦЕДУР МОЖНО НАИБОЛЕЕ РАЦИОНАЛЬНО ПОСТРОИТЬ ОТРЕЗОК , ЕСЛИ ИЗВЕСТНЫ КООРДИНАТЫ КОНЦОВ? 1 LineTo X,Y Line X1,Y1,X2,Y2 2 Line X1,Y1,X2,Y2 DrawPoly NumPoint,PolyPoints 3 LineTo X,Y Line X1,Y1,X2,Y2

DrawPoly NumPoint,Poly Points 4 Line X1,Y1,X2,Y2 02КАК ПОСТРОИТЬ СТОЛБЧАТУЮ ДИАГРАММУ В ЗАРАНЕЕ СФОРМИРОВАННОЙ РАМКЕ? 1 1 Bar3D X1,Y1,X2,Y2,Depth,true SetViewPort X1,Y1,X2,Y2,false ClearViewPort Bar3D X1,Y2,X2,Y3,Depth,false 2 Bar3D X1,Y1,X2,Y2,Depth,true SetViewPort X1,Y1,X2,Y2,Depth,true

ClearViewPort Bar3D X1,Y1,X2,Y3,Depth,false 3 Bar3D X1,Y1,X2,Y2,Depth,true Bar3D X1,Y2,X2,Y3,Depth,false 4 Bar3D X1,Y1,X2,Y2,Depth,true Bar3D X1,Y2,X2,Y3,Depth,true 03КАК НА ПОЛНОСТЬЮ ЗАКРАШЕННОМ ЭКРАНЕ ПОЛУЧИТЬ НЕЗАКРАШЕННУЮ ПРЯМОУ- ГОЛЬНУЮ ОБЛАСТЬ? 1 Bar X1,Y1,X2,Y2 SetViewPort

X1,Y1,X2,Y2,true ClearViewPort 2 Bar X1,Y1,X2,Y2 3 Bar3D X1,Y1,X2,Y2,Depth,true 4 Bar3D X1,Y1,X2,Y2,false 04КАК ИСКЛЮЧИТЬ ПОЯВЛЕНИЕ НА ЭКРАНЕ ЗАТЕНЯЕМЫХ КОНТУРОВ НИЖНЕГО 2 ПАРАЛЛЕЛЕПИПЕДА В ОБЬЕМНОЙ СТОЛБЧАТОЙ ДИАГРАММЕ? 1 Использовать процедуру Bar3D дважды. построенный верхний парал- лелепипед закроет автоматически верхнюю

грань нижнего парал- лелепипеда. 2 Установить параметр Top false в процедуре Bar3D при построении нижнего параллелепипеда. 3 Установить параметр Top false в процедуре Bar3D при построении верхнего параллелепипеда. 4 Построить ломаную линию соответствующую контурам верхней грани нижжнего параллелепипеда с помощью процедуры DrawPole и закра- сить его в белый цвет с помощью процедуры

FillPole. 05КАК НА ЭКРАНЕ ЗАКРАСИТЬ БЕЛЫМ ЦВЕТОМ ОБЛАСТЬ, ОГРАНИЧЕННУЮ ЗВЕЗДОЙ? 1 Построить звезду с помощью процедуры DrawPole 10,zve ,где zve - константа типа PointType, является массивом координат вершин фигуры и содержит 10 элементов. 2 Использовать процедуру DrawPole 10,zvez , где константа zvez содержит 11 элементов. 3 Применить процедуру FillPole 10,zves , где константа zves содер- жит 11 элементов.

4 Установить цвет рисования белый и с помощью процедуры FillPole 10,zves построить звезду, закрашенную белым цветом. 06С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ ИЛИ ФУНКЦИИ ВОЗМОЖНО УСТАНОВИТЬ СТРОКОВОЕ НАЗВАНИЕ ТЕКУЩЕГО ГРАФИЧЕСКОГО АДАПТЕРА? 1 Функция GetDriverName 2 Функция GetModeName ModeNumber 3

Функция GetMaxMode 4 Процедура GetModeRange GraphDriver LowMode,HighMode 07СУЩЕСТВУЕТ ЛИ ВОЗМОЖНОСТЬ ОПРЕДЕЛЕНИЯ ЗНАЧЕНИЯ КООРДИНАТ КУРСОРА. 1 Нет 2 Да, с помощью функций GetX, GetY. 3 Да, с помощью функций GetMaxX, GetMaxY. 4 Да, с помощью функции MoveRel. 08С ПОМОЩЬЮ КАКОГО

ФРАГМЕНТА ПРОГРАММЫ МОЖНО ВЫВЕСТИ НА ЭКРАН 3 СЛЕДУЮЩУЮ КАРТИНКУ? КУРСОР НАХОДИТСЯ В ТОЧКЕ X1,Y1 . 1 Line X,Y,X1,Y1 MoveRel X,Y dY Line X,Y dY,X1,Y1 MoveRel 0,dY LineTo X1,Y1 2 LineTo X1,Y1 LineRel 0,dY LineRel 0,2dY 3 LineTo X,Y MoveRel 0,dY Line X,Y dY,X1,Y1 MoveRel 0,dY

Line X,Y 2dY,X1,Y1 4 LineTo X,Y LineRel 0,dY LineRel 0,2dY 09ГДЕ ПОМЕЩАЕТСЯ КУРСОР И КАКОЙ ФОН ЭКРАНА УСТАНАВЛИВАЕТСЯ ПРИ ВХОЖДЕНИИ В ГРАФИЧЕСКИЙ РЕЖИМ С ПОМОЩЬЮ ПРОЦЕДУРЫ InitGraph? 1 Курсор помещается в центр экрана и устанавливается черный цвет фона экрана. 2 Курсор помещается в правый верхний угол экрана и устанав- ливается черный цвет фона экрана.

3 Курсор помещается в левый верхний угол экрана и устанавлива- ется черный цвет фона экрана. 4 Курсор помещается в левый верхний угол экрана и устанавлива- ется белый цвет фона экрана. 10С КАКОЙ ЧАСТОТОЙ ОБНОВЛЯЕТ ЭКРАН КОНТРОЛЛЕР ДИСПЛЕЯ ПЭВМ IBM? 1 50-60 раз сек 2 20-40 раз сек 3 100-120 раз сек 4 200 раз сек 0 011Процедуру LineTo X,Y можно использовать только в случае, когда 002 один из концов отрезка совпадает с положением

курсора. 2Ответ правильный. Однако, применение процедуры DrawPoly в данном 004 случае не является рациональным. 3Процедуру LineTo X,Y можно использовать только в случае, когда один002 из концов отрезка совпадает с положением курсора. Процедура DrowPoly не является в данном случае рациональной. 4Ответ правильный. 005 021Отввет неверный. Верхний параллелепипед будет иметь очищенную перед-002 нюю

грань. Это не требуется по условию задачи. При этом неверно указаны параметры процедуры Bar3D при построении второго параллеле- пипеда. 2Неправильно указаны параметры процедуры SetViewPort. Координаты окна002 отсчитываются от левого верхнего угла экрана в то время как для про- цедуры Bar3D от левого верхнего угла окна. 3Ответ правильный. 005 4Ответ не точный.На экране появятся затененные контуры нижнего парал-003 лелепипеда.

031Ответ не точный.Процедуры SetViewPort и ClearViewPort в данном слу- 003 чае излишние,т.к.уже процедура Bar рисует прямоугольную область, которую закрашивает первым цветом палитры, если цвет не задан ранее 2Ответ правильный 005 3Процедура Bar3D рисует аксонометрию прямоугольного параллелепипеда,а002 не прямоугольную область. 4Процедура Bar3D рисует аксонометрию прямоугольного параллелепипеда,а002 не прямоугольную область.

041Ответ неверный. Процедура Bar3D рисует контуры аксонометрии закра- 002 шенного по фасаду параллелепипеда. Боковая и верхняя грани не закра- шиваются, т.о. затемненная часть верхней грани нижнего параллелепи- педа не исчезнет. 2Ответ правильный. 005 3Ответ неверный. Параметр Top процедуры Bar3D регулирует наличие или 002 отсутствие верхней а не нижней левой грани аксонометрии.

4Ответ неверный. Достаточно установить параметр Top False процедуры 002 Bar3D. Дополниетльные меры излишне. 051Ответ неверный. Процедура DrawPoly построит звезду с одной невидимой002 гранью. Цвет фигуры будет соответствовать цвету фона. 2Ответ неверный. Цвет фигуры будет соответствовать цвету фона и будет002 белым только в случае, когда фон экрана белый.

3Ответ правильный. 005 4Ответ правильный. Однако, закраска белым цветом возможна и 004 по умолчанию. 061Ответ правильный. 005 2Ответ неверный. Функция GetModeName возвращает строковое название 002 требуемого графического режима для текущего адаптера. 3Ответ неверный.Функция GetMaxMode возвращает максимальный номер 002 графического режима для текущего адаптера. 4Ответ неверный. Процедура GetModeRange выдает справку о диапазоне 002 номеров графических

режимов заданного графического адаптера. 071Ответ неверный. Такая возможность существует. 002 2Ответ правильный. 005 3Ответ неверный. Данные процедуры возвращают максимально возможные 002 для текущего драйвера и режима графические позиции курсора. 4Ответ неверный. Процедура MoveRel смещает курсор относительно его 002 текущей позиции.

1081Ответ неверный. Рисунок будет иметь следующий вид 002 2 2Ответ неверный.Рисунок будет иметь следующий вид 002 3Ответ правильный. 005 3 4Ответ неверный. рисунок будет иметь следующий вид 002 091Ответ неверный. 002 2Ответ неверный. 002 3Ответ правильный. 005 4Ответ неверный. 002 101Ответ правильный. 005 2Ответ неверный. 002 3Ответ неверный.

002 4Ответ неверный. 002 0 УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЙ В данном разделе мы рассмотрим возможности управления цветовой палитрой и стилем рисования. procedure GetPalette var PaletteType Возвращает текущую плитру и количество цветов в ней. Применя- ется только в графическом режиме и только с драйверами EGA, EGA 64 и VGA. procedure SetAllPalette var Palette

Меняет все цвета палитры на заданные. Переменная без типа Palette в первом байте содержит число N- количество цветов в палитре а в последующих N байах - коды задаваемых цветов. Если задана вели- чина -1, то исходный цвет остается без изменений. procedure SetPalette NumberColor word Color byte Изменяет один из цветов палитры. NumberColor - порядковый номер изменяемого цвета.

Color -код нового цвета. procedure SetColor Color word Устанавливает текущий цвет рисования.Color - код цвета либо его имя. Возможные значения параметра приведены на следующем экране УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ Имя Значение Назначение Black 0 черный Blue 1 синий Green 2 зеленый

Cyan 3 голубой Red 4 красный Magenta 5 фиолетовый Brown 6 коричневый LightGray 7 светло-серый DarkGray 8 темно-серый LightBlue 9 светло-синий LightGreen 10 светло-зеленый LightCyan 11 светло-голубой LightRed 12 розовый LightMagenta 13 светло-фиолетовый Yellow 14 желтый 1White 15 белый УПРАВЛЕНИЕ ЦВЕТОМ

И СТИЛЕМ ИЗОБРАЖЕНИЯ procedure SetBKColor Color word Устанавливает цвет фона рисования. Color - код или имя цвета. Для получения справок о кодах цветов, связанных с курсором и фоном рисования, используются функции function GetColor word function GetBKColor word Факторами, определяющими стиль рисования, являются толщина и способ выражения линий, используемых в изображениях контурных линий и линий закраски замкнутых фрагментов

рисунков. procedure SetLineStyle LineStyle word Pattern word Thiekness word Устанавливает стиль контурных линий и их толщину. Параметр LineStyle может принимать следующие значения SolidLn 0 DottedLn 1 CenterLn 2 DashedLn 3 UserBitLn 4 тип, определяемый пользователем. Когда LineStyle userBitLn, задается параметр Pattern - шаблон линии - двухбайтовое число, каждый бит

которого равен 1, если оче- редной пиксель следует высветить, и 0 в противном случае. Параметр Thickness устанавливает толщину линий и может при- нимать следующие значения NormWidth 1 - тонкая линия ThickWidth 3 - толстая линия УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ procedure GetLineSettings var LineInfo LineSettingsType Возвращает параметры текущего стиля контурных линий.

Тип LineSettingsType описан в модуле Graph как запись, поля которой LineStyle word Pattern word Thickness word , имеют тот же смысл, что и одноименные параметры процедуры SetLineStyle. procedure SetFillStyle Pattern word Color word Устанавливает стандартные орнамент и цвет заполнения. По умол- чанию закраска белая сплошная. Параметр Color - установка цвета.

Возможные значения параметра Pattern проиллюстрированы на следующем экране. procedure SetFillPattern Pattern FillPatternType Color word Задает произвольный орнамент и цвет заполнения фигур. Pattern - задаваемый пользователем орнамент. typeFillPatternType array 1 8 of byte Color - код цвета в палитре. procedure GetFillSettings varFillInfo FillSettingsType Возвращает код и цвет стандартного образца закраски в пере- менных

Color и Pattern соответственно. УПРАВЛЕНИЕ ЦВЕТОМ И СТИЛЕМ ИЗОБРАЖЕНИЯ Имя Значение EmptyFill 0 Фоновым цветом SolidFill 1 Заданным цветом LineFill 2 LtSlashFill 3 SlashFill 4 BkSlashFill 5 LtBkSlashFill 6 HatchFill 7 XHatchFill 8 InterLeaveFill 9 WideDotFill 10 CloseDotFill 11 2

UserFill 12 Заполнение определяется пользователем 0 01С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ МОЖНО ВЫВЕСТИ НА ЭКРАН СПИСОК КОДОВ ЦВЕТОВ НЕИЗВЕСТНОЙ ВАМ ТЕКУЩЕЙ ЦВЕТОВОЙ ПАЛИТРЫ? 1 GetPalette Palette 1 2 SetPalette NumberColor,Color 3 SetAllPalette Palette 4 SetLineStyle LineStyle,Pattern,

Thickness 02УСТАНОВИТЕ НА ЧЕРНОМ ЭКРАНЕ КВАДРАТНОЕ ОКНО И ЗАКРАСЬТЕ ЕГО СПЛОШНЫМ БИРЮЗОВЫМ ЦВЕТОМ 3 . 1 SetFillStyle 0,3 Bar X1,Y1,X1 d,Y1 d 2 SetBKColor 0 SetColor 3 Bar X1,Y1,X1 d,Y1 d 3 SetBKColor 0 SetFillStyle 0,3 Bar X1,Y1,X1 d,Y1 d 4 SetFillStyle 0,3 SetBKColor 0

Bar X1,Y1,X1 d,Y1 d 03С ПОМОЩЬЮ КАКОГО ФРАГМЕНТА ВОЗМОЖНО ЗАКРАСИТЬ ПРЯМОУГОЛЬНУЮ ОБЛАСТЬ КРАСНОГО 4 ЭКРАНА ЧАСТОЙ СЕТКОЙ 9 СИНЕГО ЦВЕТА 1 ? 1 SetBKColor 4 SetFillStyle 9,1,0 Bar X1,Y1,X2,Y2 2 SetBKColor 4 Rectangle X1,Y1,X2,Y2 SetFillStyle 9,1,0 3 SetBKColor 4 SetFillStyle 9,1

Bar X1,Y1,X2,Y2 4 SetBKColor 4 Bar X1,Y1,X2,Y2 SetFillStyle 9,1 04ИМЕЕТСЯ ЛИ В ЯЗЫКЕ TURBO PASCAL ВОЗМОЖНОСТЬ УСТАНАВЛИВАТЬ ПРОИЗВОЛЬНЫЙ ПО ЖЕЛАНИЮ ПОЛЬЗОВАТЕЛЯ ЦВЕТ РИСОВАНИЯ, СТИЛЬ И ТОЛЩИНУ ЛИНИЙ РИСОВАНИЯ? 1 Нет 2 Только цвет 3 Только стиль линий 4 Только стиль и толщину линий 05НАПИШИТЕ ПРОГРАММУ РИСОВАНИЯ

КОНТУРОВ ПРЯМОУГОЛЬНИКА ЛИНИЯМИ, СОСТОЯЩИМИ ИЗ ЧЕРЕДУЮЩИХСЯ ПАР ТОЧЕК И ТИРЕ. 1 GetLineStyle 0,0,1 Rectangle X1,Y1X2,Y2 2 SetLineStyle 4, 3,1 Rectangle X1,Y1,X2,Y2 3 SetLineStyle 4,3,1 Rectangle X1,Y1,X2,Y2 4 SetLineStyle 0,13,1 Rectangle X1,Y1,X2,Y2 06КАК ОБЕСПЕЧИТЬ ЗАКРАСКУ КАКОЙ-ЛИБО ОБЛАСТИ

ЭКРАНА КРАСНЫМ 4 ЦВЕТОМ 25 ЯРКОСТИ? 1 SetFillPatern 1,2,4,8,1,2,4,8 2 SetFillPatern 1,2,4,8,1,2,4,8 4 3 SetFillPatern 11,22,44,88,11,22,44,88 4 SetFillPatern 11,22,44,88,11,22,44,88 4 07КАКАЯ ИЗ НИЖЕУКАЗАННЫХ ПРОЦЕДУР УСТАНАВЛИВАЕТ СТАНДАРТНЫЕ ОБРАЗЦЫ ЗАКРАСКИ И ИХ ЦВЕТА? 1 SetFillStyle Pattern word Color word 2

SetFillPatern Pattern FillPatternType Color Word 3 GetFillSettings var FillInfo FillSettingsType 4 SetLineStyle LineStyle Word Pattern Word Thickness Word 08С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ МОЖНО ЗАМЕНИТЬ НУЛЕВОЙ,ЧЕРНЫЙ, ЦВЕТ ПАЛИТРЫ НА ДЕВЯТЫЙ, СВЕТЛО-ГОЛУБОЙ? 1 SetAllPalette 2

SetColor 3 SetPalette 4 GetPalette 09НАПИШИТЕ ПРОГРАММУ ЗАМЕНЫ ЦВЕТА НЕИЗВЕСТНОГО СТАНДАРТНОГО СТИЛЯ ЗАКРАСКИ НА ЦВЕТ X. 1 Color X SetFillStyle Pattern,Color 2 GetFillSettings Color X SetFillStyle Pattern Color 3 GetFillSettings Color X SetFillPattern Pattern Color 4 GetFillSettings

Color X SetFillStyle Color Pattern 10НАПИШИТЕ ПРОГРАММУ РИСОВАНИЯ НА КРАСНОМ 4 ЭКРАНЕ ГОЛУБОГО 9 ОКНА, ЗАКРАШЕННОГО КЛЕТКОЙ СИНЕГО ЦВЕТА 1 . 1 SetBKColor 4 SetFillStyle 7,1 Bar X1,Y1,X2,Y2 2 SetBKColor 4 Bar X1,Y1,X2,Y2 SetFillStyle 7,1 Bar X1,Y1,X2,Y2 3 SetBKColor 4 SetFillStyle 1,9 Bar

X1,Y1,X2,Y2 SetFillStyle 7,1 Bar X1,Y1,X2,Y2 4 SetFillStyle 9,1 Bar X1,Y1,X2,Y2 SetFillStyle 7,1 SetBKColor 4 0 011Ответ правильный. 005 2Ответ неверный. Процедура SetPalette изменяет один из цветов палитры002 3Ответ неверный. Процедура SetAllPalette изменяет цвета палитры. 002 4Ответ неверный. Процедура SetLineStyle устанавливает стиль 002 контурных линик и их толщину.

021Ответ правильный. 005 2Ответ неверный. Процедура SetColor задает цвет рисования. но не 002 закрашивает фигуры. 3Ответ неверный. Нет необходимости устанавливать черный цвет, т.к. 003 он автоматически устанавливается при вхождении в графический режим. 4Ответ неверный.На черном экране, установленном процедурой

SetBKColor002 будет виден лишь белый контур квадрата. 031Ответ неверный.Ошибка в написании параметров процедуры SetFillStyle.002 2Ответ неверный. Результатом выполенния данного фрагмента будет 002 красный экран.Ошибка в написании параметров процедуры SetFillStyle. 3Ответ правильный. 005 4Ответ неверный. Стиль и цвет закраски необходимо установить до 002 построения

фигуры. 041Ответ неверный. В языке имеется возможность устанавливать 002 произвольный по желанию пользователя стиль контурных линий с помощью процедуры SetLineStyle LineStyle,Pattern,Thickness . При этом параметр LineStyle устанавливается в значение UserBitLn 4 а параметр Pattern представляет собой битовую строку, определяющую стиль изображения кнтурных линий. Возможности установить призволь- ный цвет рисования нет.

2Ответ неверный. В языке имеется возможность устанавливать 002 произвольный по желанию пользователя стиль контурных линий с помощью процедуры SetLineStyle LineStyle,Pattern,Thickness . При этом параметр LineStyle устанавливается в значение UserBitLn 4 а параметр Pattern представляет собой битовую строку, определяющую стиль изображения кнтурных линий. Возможности установить призволь- ный цвет рисования нет.

3Ответ правильный. 005 4Ответ неверный. В языке имеется возможность устанавливать 002 произвольный по желанию пользователя стиль контурных линий с помощью процедуры SetLineStyle LineStyle,Pattern,Thickness . При этом параметр LineStyle устанавливается в значение UserBitLn 4 а параметр Pattern представляет собой битовую строку, определяющую стиль изображения кнтурных линий.

Возможности установить призволь- ный цвет рисования нет. 051Ответ неверный. Процедура GetLineStyle не устанавливает стиль 002 контурных линий, а возвращает их текущие параметры. 2Ответ правильный. 005 3Ответ неверный. Параметр Pattern не может состоять из одной цифры, 002 т.к. его значение - двухбайтовое число. 4Ответ неверный.

При установке стандартного стиля контурных линий 002 параметр Pattern не задается. 061Ответ неверный. Не указан параметр Color и элементы массива Pattern 002 являются двухбайтовыми. 2Ответ неверный. Элементы массива Pattern являются двухбайтовыми. 002 3Ответ неверный. Не указан параметр Color. 002 4Ответ правильный.

005 071Ответ правильный. 005 2Ответ неправильный. Процедура SetFillPattern позволяет программисту 003 определить свой, нестандартный, образец закраски. Возможно смодели- ровать и стандартный стиль с помощью той же процедуры. 3Ответ неверный. Эта процедура возвращает код и цвет стандартного 002 образца закраски. 4Ответ неверный. Процедура SetLineStyle устанавливает стиль контурных002 линий.

081Ответ неверный. Данный способ замены одного цвета другим допустим, 004 но не рационален. 2Ответ неверный. Процедура SetColor устанавливает текущий цвет 002 рисования. 3Ответ правильный. 005 4Ответ неверный. Процедура GetPalette выдает справку о текущей 002 цветовой палитре, но не меняет цвета. 091Ответ неверный. Параметр Color не следует устанавливать предвари-

002 тельно для процедуры SetFillStyle. Процедура SetFillStyle устанав- ливает стандартный образец закраски и цвет. 2Ответ правильный. 005 3Ответ неверный. Процедура SetFillPattern устанавливает нестандартный002 стиль закраски. 4Ответ неверный. Параметры процедуры SetFillStyle следует употреблять003 в обратном порядке. 101Ответ неверный.Фон прямоугольлника X1,Y1,X2,Y2 будет красным.

002 2Ответ неверный. Прямоугольник X1,Y1,X2,Y2 будет по умолчанию 002 закрашен белым цветом, а не голубым. 3Ответ правильный. 005 4Ответ неверный. Процедура SetBKColor закрасит экран красным цветом, 002 закрасив прямоугольник. 0 ПРОГРАММИРОВАНИЕ ЦВЕТНЫХ КРИВОЛИНЕЙНЫХ ИЗОБРАЖЕНИЙ В данном разделе рассматриваются процедуры, позволяющие програм- мировать изображение криволинейных

фигур из класса круговых и эллип- тических дуг, секторов, а также операторы формирования растровых изображений и часто используемые вспомогательные процедуры. procedure Arc X,Y integer StAngle,EndAngle,Radius word 1 Рисует против часовой стрелки текущим стилем и цветом дугу окружности с центром X,Y , радиусом Radius от начального угла StAngle до конечного угла AndAngle. Угловые параметры задаются в градусах. procedure

CetArcCords var ArcCoords ArcCoordsType Возвращает в переменной ArcCoords координаты концов дуги, проведенной последней командой Arc.Тип ArcCoordsType описан в модуле Graph как запись, значения полей которой аналогичны значению параметров процедуры Arc. procedure Circle X,Y integer Radius word 2 Строит контуры окружности радиуса Radius с центром

X,Y , заданным ранее цветом и стилем рисования. ПРОГРАММИРОВАНИЕ ЦВЕТНЫХ КРИВОЛИНЕЙНЫХ ИЗОБРАЖЕНИЙ procedure Ellipse X,Y integer StAngle,EndAngle,XRadius,YRadius word 3 Строит текущим стилем и цветом дугу эллписа с центром X,Y , начальным StAngle и конечным EndAngle углами, двумя полуосями

XRadius и YRadius. procedure FloodFill X,Y,Border word Обеспечивает закраску ограниченной области, в которую входит точка X,Y , по образцу, установленному предварительно процедурой SetFillStyle либо SetFillPattern. Параметр Border определяет код цвета, ограничивающего закрашиваемую область. procedure FillEllipse X,Y integer XRadius,

YRadius word Закрашивает область эллипса,используя предварительно установленные стиль и цвет закраски. Значения параметров аналогичны значениям параметров процедуры Ellipse. 4 5 ПРОГРАММИРОВАНИЕ ЦВЕТНЫХ КРИВОЛИНЕЙНЫХ ИЗОБРАЖЕНИЙ prosedure PieSlice X,Y integer StAngle,EndAngle,Radius word 6 Строит и закрашивает круговой сектор установленным стилем и цветом.

Параметры имеют тот же смысл и тип, что и одноименные параметры процедуры Arc. procedure Sector X,Y integer StAngle,EndAngle,XRadius,YRadius word 7 Рисует и закрашивает эллиптический сектор, используя текущие стиль и цвет рисования и зак- раски. Параметры имеют тот же смысл и тип что и одноименные параметры процедуры Ellipse. procedure Randomize Инициализирует встроенный генератор случайных чисел сллучайным значением,

получаемым от системного таймера компьютера. Описана в модуле System . Число, получаемое в результате работы генератора, хранится в предописанной переменной RandSeed. Присваивая ей конкрет- ные значения можно получать каждый раз заданную последовательность случайных чисел. ПРОГРАММИРОВАНИЕ ЦВЕТНЫХ КРИВОЛИНЕЙНЫХ ИЗОБРАЖЕНИЙ function Random Rande word word Возвращает случайное число.

Переменная Rande должна быть выра- жением целого типа, а результатом будет случайное число X длиной в слово в диапазоне 0 X Rande. Если Rande 0, Random возвращает 0. Если параметр функции не задан вовсе, то результатом будет вещественное число в диапазоне 0 X 1. procedure Delay Time word Выполняет задержку на заданное число миллисекунд, описана в модуде Crt. function KeyPressed boolean Возвращает значение true, если на клавиатуре нажата какая-

либо символьная клавиша, и false - в противном случае. Описана в модуле Crt. procedure PutPixel X,Y integer Color word Рисует на экране в позиции X,Y точку цвета Color. Опивана в модуле Graph. procedure GetPixel X,Y integer word Возвращает код цвета заданной точки растра

X,Y . ПРОГРАММИРОВАНИЕ ЦВЕТНЫХ КРИВОЛИНЕЙНЫХ ИЗОБРАЖЕНИЙ В качестве примера использования функции PutPixel продемон- стрируем возможность формирования звездного неба до нажатия любой символьной клавиши. Randomize repeat PutPixel Random GetMaxX , Random GetMaxY , Red Delay 50 until KeyPressed Приведем еще один пример использования процедур и функций, описанных в данном разделе.

На следующем экране Вы можете наблюдать эллиптическую диаграмму с выделенными секторами различного стиля и цвета закраски, а также кардиоиду, представленную семейством окруж- ностей, проходящих через общею точку опорной окружности и с центрами в концах равных элементов, составляющих опорную окружность. Цвета элементов опорной окружности и окружностей кардиоиды назнача- ются случайным образом. 8 9 ПРОГРАММИРОВАНИЕ ЦВEТНЫХ КРИВОЛИНЕЙНЫХ ИЗОБРАЖЕНИЙ 0 01НАРИСУЙТЕ

ПРОГРАММУ РИСОВАНИЯ НА ЖЕЛТОМ 14 ЭКРАНЕ КРИВОЛИНЕЙНОЙ ЦИФРЫ 8 СИНЕГО 1 ЦВЕТА. 1 SetBKColor 14 SetColor 1 Circle X,Y Radius Circle X,Y d Radius d 2 SetBKColor 1 SetColor 14 Circle X,Y Radius Circle X,Y Radius d 3 SetBKColor 14 SetColor 1 Arc X,Y 0,360,Radius Arc X,

Y d 0,360,Radius 4 SetBKColor 1 SetColor 14 Arc X,Y 0,360,Radius Arc X,Y d 0,360,Radius 02НАПИШИТЕ ПРОГРАММУ ФОРМИРОВАНИЯ НА ЧЕРНОМ ЭКРАНЕ КРАСНОЙ ЦИФРЫ 5 С КРИВОЛИНЕЙНОЙ НИЖНЕЙ И ПРЯМОЛИНЕЙНОЙ ВЕРХНЕЙ ЧАСТЯМИ. 1 SetColor 4 GoToXY X,Y Arc X d,Y d,0,180,K d Arc X,Y d,0,90,d Arc X d,

Y d k,0,180,k 2 SetColor 4 Line X,Y,X d,Y Line X,Y,X,Y d Arc X k,Y k,0,90,k Arc X k,Y k,270,360,k 3 SetColor 4 Line X,Y,X d,Y Line X,Y,X,Y d Arc X k,Y k,0,180,k 4 SetColor 4 Line X,Y,X-d,Y Line X-d,Y,X-d,Y d Circle X-d,Y d k,k 03НАПИШИТЕ ПРОГРАММУ , ОБЕСПЕЧИВАЮЩУЮ ФОРМИРОВАНИЕ

НА ЧЕРНОМ ЭКРАНЕ ЭЛЛИПСА СО СЛУЧАЙНЫМ ЦВЕТОМ ЗАКРАСКИ. 1 Randomize SetFillStyle 0,15 Ellipse X,Y,0,359,a,b FloodFill X,Y,Random 14 2 SetFillStyle 0,15 Ellipse X,Y,0,359 FloodFill X,Y,Random 14 3 SetFillStyle 0,15 Randomize 15 Ellipse X,Y,0,359,a,b FloodFill X,Y,Random 4

SetFillStyle 0,15 Randomize Ellipse X,Y,a,b FloodFill X,Y 04КАК ПРАВИЛЬНО ЗАДАТЬ УГЛОВЫЕ ПАРАМЕТРЫ ПРОЦЕДУРЫ Arc? 1 В радианах. Их значения не должны превышать 2пи. 2 В радианах. Их значения не должны превышать пи. 3 В градусах. Их значения не должны превышать 360 градусов.

4 В градусах. Их значения не должны превышать 180 градусов. 05В КАКОМ МОДУЛЕ ОПИСАНА ПРОЦЕДУРА RANDOMIZE? 1 Graph. 2 Crt . 3 Dos. 4 System. 06С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ МОЖНО НАРИСОВАТЬ НА ЭКРАНЕ ТОЧКУ ОПРЕДЕЛЕННОГО ЦВЕТА? 1 PutPixel. 2 KeyPressed. 3 GetPixel. 4 Delay. 0 ФОРМИРОВАНИЕ

ГРАФИЧЕСКИХ ТЕКСТОВ В данном разделе мы рассмотрим возможность графического изобра- жения текстовых символов, управление типом шрифта, направлением вывода, размерами и пропорциями символов, пространственной привязкой текстовых строк к положению курсора и другими возможностями формиро- вания графических текстов. procedure SetTextStyle Font,Direction word CharSize CharSizeType Устанавливает стиль стандартного шрифта

Font один растровый - DefaultFont 0 , и четыре штриховых - TriplexFont 1 ,SmallFont 2 , SanSerifFont 3 , GothicFont 4 , направление текстовой строки Direction HorizDir 0 - слева направо, VertDir 1 - снизу вверх , размер символов CharSize коэффициент увеличения от 1 до 10 . В случае растрового шрифта каждый текстовый символ формируется на основе матрицы 8 8 элементов разложения. Штриховые шрифты опреде- ляются серией векторов.

Обычно штриховые шрифты хранятся в отдельных файлах на системном диске и при обращении к процедуре загружаются в динамически определяемую память компьютера автоматически. По умолчанию , т.е. без обращения к данной процедуре автоматически устанавливается растровый шрифт, горизонтальный вывод и единичный размер символов. На следующем экране Вы можете наблюдать примеры стандартных шрифтов.

После названия каждого из них через запятую указан коэффи- циент увеличения. 1 ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ procedure SetUserCharSize MultX,DivX,MultY,DivY word Используется после установки штрихового шрифта с целью измене- ния пропорций символов. Отношение MultX DivX -коэффициент масштаби- рования обычной ширины используемого архивного штрихового

шрифта. 2MultY DivY - коэффициент масштабирования высоты шрифта. ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ function TextHeight TextString strig word Возвращает высоту заданной текстовой строки TextString в элемен- тах изображения пикселах с учетом всех установок, выполненных ранее процедурами SetTextStyle и SetUserCharSize . function TextWidth

TextString string word Возвращает ширину заданной текстовой строки TextString при тех же условиях, что и функция TextHeight. procedure SetTextJustify Horiz,Vert word Обеспечивает привязку выводимого графического текста к теку- щему положению курсора. Параметры процедуры описаны в модуле Graph как константы и могут принимать следующие значения Horiz LeftText 0 - левым краем строки к курсору CenterText 1 - симметрично к курсору

RightText 2 - правым краем строки к курсору Vert BottomText 0 - строка над курсором CenterText 1 - симметрично к курсору TopText 2 - строка под курсором По умолчанию устанавливается параметр привязки выводимого графического текста соответствующий обращению SetTextJustify 0,2 . ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ procedure OutText TextString string Выводит на экран последовательность символов, начиная с текущей позиции, которая

меняется только если текст выводится горизонтально с левым выравниванием. Если текст не помещается в графическое окно, он либо вообще не высвечивается грубый шрифт, принятый по умолча- нию , либо высвечивается частично гладкий шрифт .Текущий цвет текста задается процедурой SetColor . параметры шрифта - процедурами SetTextStyle SetTextJustify.Коэффициенты увеличения ширины и высоты штриховых шрифтов можно задать процедурой

SetUserCharSize. Ширину и высоту строки определяют с помощью функций TextWidth TextHeight. procedure OutTextXY X,Y integer TextString Выводит на экран последовательность символов начиная с позиции X,Y и возвращает курсор в положение, предшествующее обращению к данной процедуре. procedure GetTextSettings var TextInfo TextSettingsType Возвращает текущий тип текстового шрифта,его направление,

раз- мер,параметры горизонтального и вертикального выравнивания, установ- ленные ранее процедурами SetTextStyle и SetTextJustify,либо по умол- чанию при вхождении в графический режим. Тип TextSettingsType описан в модуле Graph как запись, поля которой - Font,Direction word CharSize CharSizeType Horiz,Vert word - по смыслу и типу аналогич- ны одноименныым параметрам процедур SetTextStyle и SetTextJustify.

ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ В языке Turbo-Pascal предусмотрена возможность использовать новые штриховые шрифты,не входящие в систему фирмы Borland Interna- tional, но совместимых с этой системой по файловой форме представле- ния. Для этого необходимо файлы новых шрифтов, которые должны иметь расширение .chr, предварительно загрузить в каталог, содержащий файл Turbo.exe интегрированной среды Turbo-Pascal, а в прикладной программе использовать функцию

InstallUserFont. function InstallUserFont NewFont string integer Инсталлирует новый штриховой шрифт, т.е.вводит во внутреннюю таблицу шрифтов имя файла нового шрифта NewFont и возвращает номер этого шрифта в указанной таблице для использования в качестве значе- ния параметра Font процедуры SetTextStyly. Внутренняя таблица может содержать до 10 имен шрифтов, из которых 4 стандартных в ней содержатся постоянно. В файловой системе лабораторных компьютеров содержатся файлы 4

нестандартных штриховых шрифтов с именами Bold.chr, Goth.chr, Sans.chr,Trip.chr. Если внутренняя таблица штриховых шрифтов переполнена, то функция возвращает значение 0 и, следовательно, устанавливается стандартный растровый шрифт. Для сброса внутренней таблицы шрифтов в исходное положение можно заново перезапустить операционную систему. На следующем экране Вы можете наблюдать примеры четырех нес- тандартных штриховых шрифтов,

упомянутых в данном разделе. ФОРМИРОВАНИЕ ГРАФИЧЕСКИХ ТЕКСТОВ 3 0 01КАКИЕ ВОЗМОЖНОСТИ , СВЯЗАННЫЕ С НАПРАВЛЕНИЕМ ВЫВОДА ТЕКСТОВОЙ ИНФОРМАЦИИ, ДАЕТ ГРАФИЧЕСКИЙ РЕЖИМ? 1 Возможен только горизонтальный вывод. 2 Возможен как горизонтальный так и вертикальны выводы. 3 Горизонтальный, вертикальный и вывод по горизонтали.

4 Имеется возможность горизонтального вывода для всех шрифтов и для растрового - вывод по вертикали. 02УСТАНАВЛИВАЮТСЯ ЛИ ТИП СТАНДРАТНОГО ШРИФТА, НАПРАВЛЕНИЕ ТЕКСТОВОЙ СТРОКИ И РАЗМЕР СИМВОЛОВ ОДНОЙ ПРОЦЕДУРОЙ? 1 Нет. Эти параметры устанавливаются разными процедурами InstallUserFont - стандартный шрифт TextWidth - размер символов

OutText - направление вывода 2 Да. Эти параметры устанавливаются с помощью одной процедуры, InstalUserFont 3 Да. Перечисленные параметры устанавливаются с помощью процедуры SetTextStyle 4 Нет. В языке нет возможности устанавливать шрифт, направление строке и размер символов. 03МОЖНО ЛИ ИЗМЕНИТЬ ПРОПОРЦИИ СИМВОЛОВ ЛЮБОГО ШРИФТА И ЕСЛИ МОЖНО, ТО С ПОМОЩЬЮ КАКОЙ ПОЦЕДУРЫ? 1 Нет. Пропорции символов предусмотрены шрифтом и изменить

их нельзя . 2 Можно. С помощью процедуры SetUserCharSize . 3 Можно изменить пропорции только штрихового шрифта с помощью процедуры SetUserCharSize. 4 Можно. С помощью процедуры SetTexStyle. 04ЧЕМ ОТЛИЧАЮТСЯ ПРОЦЕДУРЫ OutText и OutTextXY? 1 Ничем. Они полностью аналогичны. 2 Процедуры отличаются привязкой выводимого текста.

3 Процедуры отличаются привязкой выводимого текста и положением курсора после выполнения процедур. 4 Процедура OutText осуществляет вывод символьной строки с текущего положения курсора, а процедура OutTextXY обеспечивает привязку графического текста без его вывода. 05СОСТАВИТЬ ПРОГРАММУ ВЫВОДА СЛОВА ПРОГРАММА ПО НИЖНЕЙ КРОМКЕ БЕЛОГО ЭКРАНА РАСТРОВЫМ ШРИФТОМ ЗЕЛЕНОГО 2 ЦВЕТА

РАЗМЕРА 6. 1 SetBkColor 15 SetColor 2 SetTextStyle 1,0,6 OutTextXY 0,GetMaxY, ПРОГРАММА 2 SetBkColor 15 SetColor 2 SetTextStyle 0,1,6 OutTextXY GetMaxX,0, ПРОГРАММА 3 SetBkColor 15 SetColor 2 SetTextStyle 0,6,1 OutTextXY 0,GetMaxY, ПРОГРАММА 4 SetBkColor 15 SetColor 2 SetTextStyle 0,0,6

OutTextXY 0,GetMaxY, ПРОГРАММА 06СОСТАВИТЬ ПРОГРАММУ ГОРИЗОНТАЛЬНОГО ВЫВОДА СЛОВА КЛАСС В ВИДЕ СТРОКИ ДЛИНОЙ 300 ПИКСЕЛОВ С ИСПОЛЬЗОВАНИЕМ ГОРИЗОНТАЛЬНО ДЕФОРМИРОВАННОГО СТАНДАРТНОГО ШТРИХОВОГО ШРИФТА SanserifFont КРАСНОГО 4 ЦВЕТА РАЗМЕРА 10. 1 SetColor 4 SetTextStyle SanSerifFont,

HorizDir,10 K TextWidth КЛАСС SetUserCharSize 300,K,1,1 2 SetColor 4 SetTextStyle SanSerifFont,VertDir,10 K TextWidth КЛАСС SetUserCharSize 300,K,1,1 3 SetColor 4 SetTextStyle SanSerifFont,Horizdir,10 K TextHeight КЛАСС SetUserCharSize 1,1,300,K 4 SetColor 4 SetTextStyle HorizDir,SanSerifFont,10 K

TextWidth КЛАСС SetUserCharSize 300,K,1,1 07СОСТАВИТЬ ПРОГРАММУ ВЕРТИКАЛЬНОГО ВЫВОДА СЛОВА ПАСКАЛЬ В ВИДЕ СТОЛБЦА ШИРИНОЙ 80 ПИКСЕЛОВ, ИСПОЛЬЗУЯ ВЕРТИКАЛЬНО-ДЕФОРМИРОВАННЫЙ СТАНДАРТНЫЙ ШТРИХОВОЙ ШРИФТ SmallFont СИНЕГО 1 ЦВЕТА РАЗМЕРА 5. 1 SetTextStyle SmallFont,0,5

SetColor 1 L TextHight ПАСКАЛЬ SetUserCharSize 1,1,80,L OutTextXY 10,200, ПАСКАЛЬ 2 SetTextStyle SmallFont,1,5 SetColor 1 L TextHight ПАСКАЛЬ SetUserCharSize 80,L,1,1 OutTextXY 10,200, ПАСКАЛЬ 3 SetTextStyle SmallFont,1,5 SetColor 1 L TextHeight ПАСКАЛЬ SetUserCharSize 1,1,80,L

OutText ПАСКАЛЬ 4 SetTextStyle 1,5,SmallFont SetColor 1 L TextHeight ПАСКАЛЬ SetUserCharSize 1,1,80,L OutText ПАСКАЛЬ 08СКОЛЬКО НЕСТАНДАРТНЫХ ШРИФТОВ МОЖНО ИСПОЛЬЗОВАТЬ ПРИ РАБОТЕ С ГРАФИ ЧЕСКИМИ ТЕКСТАМИ? 1 Сколько угодно. 2 11 шрифтов. 3 Столько, сколько файлов нестандартных шрифтов содержится в

Вашем компьютере. 4 В Turbo-Pascal не предусмотрена возможность использования шрифтов , не входящих в систему фирмы Borland International. 09СКОЛЬКО ИМЕН РАЗЛИЧНЫХ ШРИФТОВ МОЖЕТ СОДЕРЖАТЬ ВНУТРЕННЯЯ ТАБЛИЦА ШРИФТОВ И СКОЛЬКО ИЗ НИХ НЕСТАНДАРТНЫХ? 1 Не более 6, из них нестандартных - не более 2. 2 Не более 10, из них нестандартных - не более 6. 3 Не более 11, из них нестандартных - не более 7. 4

Не более 10, из них нестандартных - не более 4. 10КАКАЯ ПРОЦЕДУРА ИНСТАЛЛИРУЕТ НОВЫЙ ШТРИХОВОЙ ШРИФТ? 1 InstallUserFont 2 GetTextSettings. 3 SetUserCharSize. 4 SetTextJustify. 0 011Ответ неверный. В Turbo-Pascal имеется возможность не только 002 горизонтального , но и вертикального вывода. 2Ответ правильный. 005 3Ответ неверный. В языке нет возможности вывода графического текста 002

в направлении по горизонтали. 4Ответ неверный. Ограничений на тип шрифта для осуществления 002 вертикального вывода нет. 021Ответ неверный. Перечисленные процедуры выполняют другие функции. 002 2Ответ неверный. Процедура InstallUserFont инсталлирует новый 002 нестандартный шрифт. 3Ответ правильный. 005 4Ответ неверный. Такая возможность есть. 002 031Ответ неверный. Пропорции символов увличить можно.

002 2Ответ неточный.Процедура SetUserCharSize изменяет пропорции символов004 после установки штрихового шрифта процедурой SetTextStyle. 3Ответ правильный. 005 4Ответ неверный. Процедура SetTextStyle устанавливает тип шрифта, но 002 не устанавливает пропорции символов. 041Ответ неверный. Эти процедуры отличаются привязкой выводимого текста002 и положением курсора после их выполнения. 2Ответ неполный. Процедуры отличаются не только привязкой выводимого 004 графического

текста, но и положением курсора после их выполнения 3Ответ правильный. 005 4Ответ неверный. Обе процедуры обеспечивают вывод символьной строки, 002 однако отличаются местом привязки выводимой строкви и положением курсора после их выполнения. 051Ответ неверный. Чтобы вывести строку растровым шрифтом следует 002 параметры процедуры SetTextStyle выбрать иначе. 2Ответ неверный. Параметры процедуры

SetTextStyle указывают на то, 002 что строка будет выведена не по нижней кромке, а вертикально, снизу вверх. Кроме того координаты начальной точки вывода в процедуре OutTextXY соответствуют правому верхнему углу экрана и значит надпись не будет выведена. 3Ответ неверный. Неверно указаны параметры процедуры SetTextStyle 002 Стандартного шрифта с номером 6 не существует.

4Ответ правильный. 005 061Ответ правильный. 005 2Ответ неверный. Данный фрагмент программы будет обеспечивать не 002 горизонтальный, в вертикальный вывод текста . 3Ответ неверный. Данный фрагмент программы будет обеспечивать не 002 горизонтальную, а вертикальную деформацию вывдимой строки. 4Ответ неверный. Ошибка в употреблении параметров процедуры 002 SetTextStyle. 071Ответ неверный. Строка, выводимая с помощью данного фрагмента прог-

002 раммы будет располагаться горизонтально, а не вертикально как тре- бует задание. 2Ответ неверный.С помощью данного фрагмента программы будет проведена002 горизонтальная деформация относительно первоначальной высоты символов. 3Ответ правильный. 005 4Ответ неверный. Неправильно указаны значения параметров процедуры 002 SetTextStyle. 081Ответ неверный. Использовать можно столько нестандартных шрифтов,

002 сколько файлов с такими шрифтами содержится в Вашем компьютере. 2Ответ неверный. Использовать можно стольконестандартных шрифтов, 002 сколько файлов с такими шрифтами содержится в Вашем компьютере. 3Ответ правильный. 005 4Ответ неверный . Такая возможность имеется . 002 091Ответ неврный.

Таблица может содержать до 10 шрифтов, из них 6 002 нестандартных. 2Ответ правильный. 005 3Ответ неверный. Таблица может содержать до 10 шрифтов, из них 6 002 нестандартных. 4Ответ неверный. Таблица может содержать до 10 шрифтов, из них 6 002 нестандартных. 101Ответ правильный. 005 2Ответ неверный. Процедура GetTextSettings возвращает текущий тип 002 текстового шрифта.

3Ответ неверный. Процедура SetUserCharSize используется для изменения002 пропорций символов. 4Ответ неверный. Процедура SetTextJustify обеспечивает привязку 002 выводимого текста к текущему положению курсора. 0 ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН В данном разделе Вы ознакомитесь с возможностями компьютера в области мультипликации, т.е. созданием эффекта движения статичес- ких изображений. Этот эффект можно достич используя динамическую и видеопамять

компьютера, одноканальный звукогенератор, возможность сдвига и нало- жение изображений. Динамическая память используется для сохранения образа подвижного обьекта и ,возможно, образа фона изображения и не связывает пргограммиста с предопределенными размерами сохраняемых фрагментов экрана. Эффект движения создается циклическим уничтожением обьекта в старом положении и выводом его образа из динамической памяти на экран в новое положение.

Уничтожение осуществляется либо заменой соответствующего фрагмента экранного изображения образом фона из динамической памяти, либо наложением на него образа такого же обь- екта из динамической памяти с проведением поразрядной логической операции суммирования по mod 2. Имеется возможность создания изображения одновременно на двух страницах видеобуфера и таким образом осуществлять мгновенную смену изображений на экране дисплея.

Рассмотрим процедуры, обеспечивающие эти возможности. ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН function ImageSize X1,Y1,X2,Y2 word word Возвращает число байт,необходимых для сохранения прямоугольлной области экранного изображения.Параметры X1,Y1 , X2,Y2 задают соот- ветственно координаты левого верхнего и правого нижнего узлов сохра- няемой области экрана. Определяемый обьем памяти включает в себя обьем растрового

образа сохраняемой области экрана и два двухбайтных слова, используемые для хранения ширины Width X2-X1 1 и высоты heidht Y2-Y1 1 этой области. Если обьем памяти, необходимый для сохранения области экрана, превышает или равен 64К, то функция возвращает значение 0, а вспомо- гательная функция GraphResult возвращает значение - 11 константа grError . Учитывая, что в системе Turbo-

Pascal при использовании графического адаптера EGA независимо от графического режима полному экрану соответствует дисплейная страница обьемом 128К. Указанное ограничение по памяти эквивалентно ограничению площадей сохраняемых областей до 1 2 площади экрана. Для сохранения фрагмента экрана в динамической памяти компью- тера необходимо создать соответствующую динамическую переменную. Это делает процедура GetMem. procedure

GetMem var p pointer Size word Создает новую динамическую переменную размера Size, которая указывает размер динамической области в байтах, и помещает адрес начала этого блока памяти в ссылочную переменную p, совместимую по типу со всеми другими типами указателей. На новую динамическую переменную можно ссылаться через указа- тель р . Наибольший размер блока, который можно разместить единовре- менно, составляет 65 521 байт, наименьший

- 1 байт. ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН Если динамическая область не фрагментирована, например в нача- ле программы, последовательные вызовы данной процедуры возвращают соседние блоки памяти. Когда в динамической области недостаточно места для размещения новой переменной, возникает ошибка времени вы- полнения программмы. Чтобы избежать этого можно использовать следу- ющую функцию. function

MaxAvail longint Возвращает размер наибольшего непрерывного свободного блока, имеющегося в динамической области памяти компьютера в текущий момент. procedure GetImage X1,Y1,X2,Y2 word var BitMap Сохраняет в динамической памяти растровый образ заданной прямоугольной области экрана. Параметры X1,Y1 , X2,Y2 - координаты левого верхнего и правого нижнего узлов сохраняемой области экрана. BitMap - нетипизированный параметр, указывающий на динамическую пе- ременную хранения

рассматриваемого изображения,которая создается предварительно процедурой GetMem. Приведем фрагмент программы, в которой обеспечивается сохране- ние в динамической памяти прямоугольной области экрана с координа- тами левого верхнего угла 50,50 и правого нижнего угла 100,100 ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН var p pointer Size word begin тело программы Size ImageSize 50,50,100,100

If MaxAvail Size then begin RestoreCrtMode writeln Мало динамической памяти Halt 1 end else begin GetMem p,Size GetImage 50,50,100,100,p end end. конец программы ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН procedure PutImage X,Y integer var BitMap BitBlt word Выводит в заданное место экрана хранимое в динамической

памяти растровое изображение и при необходимости определенным образом ком- бинирует его с предшествующим экранным изображением. X,Y - Координаты верхнего левого угла размещения на экране выводимого прямоугольного образа. BitMap - Указывает на динамическую переменную хранения выводи- мого изображения. BitBlt - Определяет поточечную операцию между имеющимся и выводимым изображениями и может принимать значения следующих операций NormalPut 0 - простое замещение - исходное изображение замещается выводимым

XORPut 1 - сложение по модулю 2 - коды цветов одноименных то- чек складываются по модулю 2 Например, если точку с цветом 4 красный вывести в точку с цветом 4 красный , то на экране получим точку с цветом, код которого соответствует значению следующего выражения 4 10 4 10 0100 2 0100 2 0000 2 0 10 , т.е. получим точку черного цвета. OrPut 2 - поразрядная операция ИЛИ - выполняется поточечная операция ИЛИ Например,

4 10 или 4 10 0100 2 или 0100 2 0100 2 4 10 , т.е. получим точку того же цвета. ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН AndPut 3 - поразрядная операция И - выполняется поточечная операция И Например, 4 10 4 10 0100 2 0100 2 0100 2 4 10 , т.е. получим точку того же цвета. NotPut 4 - замещение с поразрядной инверсией - полное замещени ис- ходного изображения в области вывода предварительно инвертированным выво- димым изображением

Например, точка с цветом 4 10 будет заменена точкой с цветом - 4 10 0100 2 1011 2 11 10 - светло-бирюзовый Процедура никогда не выполняет отсечения выводимого изображе- ния на границах текущего окна просмотра,если при этом оно не выходит за границы экрана. Если же выходит, то изображение не выводится вовсе, если это левая верхняя или правая границы экрана,и отсекается если это нижняя часть. При неоднократном использовании динамической памяти с разными динамическими

переменными она бысто засоряется и становится непри- годной к использованию. Чтобы этого избежать следует регулярно унич- тожать использованные динамические переменные. Для этого существует в модуле Sistem процедура Dispose. ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН procedure Dispos varp pointer Уничтожает динамическую переменную, на которую указывает р и возвращает освобожденную

память в пул динамической памяти системы. После использования данной процедуры значение ссылочной переменной становится неопределенным и обращение р приводит к ошибке.Необходи- мо вновь создать динамическую переменную. Приведем пример программы, которая создает эффект движения по экрану обьекта в области 50 50 пикселов, первоначально размещенного у левой границы экрана, к его правой границе var p pointer

I integer begin GetMem p,ImageSize 0,50,50,100 выделение динамической памяти GetImage 0,50,50,100,p сохранение обьекта в памяти for I 1 to GetMaxX-50 do перемещение обьекта begin PutImage I-1,50,p ,XORPut уничтожение обьекта в прежнем состоянии PutImage I-1,50,p ,NormalPut копирование обьекта в новое end состояние

Dispose p освобождение памяти end. ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН 1 Проиллюстрируем приведенный выше пример ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН procedure SetActivePage Page word Направляет весь последующий графический выод на страницу видео- буфера, задаваемую параметром Page. Эта страница может и не отобра- жаться в это время на экране дисплея.

Таким образом обеспечивается построение новых изображений за счет времени просмотра текущих,чтобы затем мгновенно обновить экран и создать эффект движения. Лабораторные компьютеры поддерживают двухстраничную организацию видеобуфера. Страницы имеют номера 0 и 1 и графический вывод по умолчанию осуществляется на 0-ю страницу. procedure SetVisualPage Page word Задает номер Page отображаемой на экран дисплейной страницы видеобуфера.

По умолчанию визуализируется страница, на которую нап- равляется графический вывод. Приведем пример программы, обеспечивающей создание эффекта перемещения обьекта как в предыдущем примере ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН var integer begin по умолчанию вывод и визуализация 0-страницы for I 1 to GetMaxX-50 do перемещение обьекта begin Bar I-1,50,I 50-1,100 формирование обьекта в I-1 положении

SetActivePage 1 установка вывода на 1-ю страницу ClearDevice очистка 1 страницы Bar I,50,I 50,100 формирование обьекта в I положении SetVisualPage 1 визуализация 1 страницы SetActivePage 0 установка вывода на 0-ю страницу ClearDevice очистка 0-й страницы end end. ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН procedure Sound Frequency word

Включает внутренний звукогенератор компьютера. Параметр Frequency задает частоту генерации однотонального звука в герцах в диапазоне от 37 до 32767. Частоты первой октавы нотного ряда Ноты До Ре Ми Фа Соль Ля Си Частоты 523,3 587,3 659,3 698,5 784,0 880,0 987,7 Частоты нот каждой более высокой или низкой октавы прибли- женно получаются удвоением или делением на 2

частот одноименных нот последующей или предыдущей октавы соответственно. Звуковой генератор работает под управлением специальной мик- росхемы-таймера и центральный процессор после выполнения процедуры Sound можежтж продолжать вычислительный процесс одновременно с рабо- той звукогенератора. procedure NoSond Прекращает работу звукогенератора. Приведем фрагмент программы программы, обеспечивающий воспроизведение ноты

До в течение 3 сек. Sound 523 Delay 3000 NoSound ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН 2 Приведем пример использования описанных выше процедур. ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН function ReadKey char Считывает символ с клавиатуры не отображая его на экран. Если перед обращением к данной функции функция KeyPressed имела значение true , то символ считывается

немедленно, в пртивном случае функция ожидает нажатия клавиши. Обычные алфавитно-цифровые клавиши возвращают однобайтные коды в стандарте ASCII. Специальные клавиши управление курсором, Alt, Ctrl и т.п. при нажатии возвращают расширение, двухбайтные коды ASCII. При нажатии специальной клавиши функция возвращает сначала нулевой символ null,а затем расширенный

код клавиши. Нулевые символы не могут быть получены никаким другим путем. Этим обеспечивается то, что следующим символом будет расширенный код клавиши. В качестве расширения стандарт языка разрешает вставлять в строку символов управляющие символы, например . Приведем фрагмент программы, в котором в переменную с именем Ch считывается символ или расширенный код клавиши и для переменой

FuncKey булевского типа устанавливается значение true, если символ является кодом специальной клавиши Ch ReadKey If Ch then FuncKey False else begin FuncKey true Ch ReadKey end ПРОГРАММИРОВАНИЕ ОЗВУЧЕННЫХ ДИНАМИЧЕСКИХ СЦЕН procedure SetWriteMode WriteMode integer Устанавливает режим записи при вычерчивании линий с помощью процедур формирования прямолинейных изображений кроме процедуры

Bar3D . Процедура описана в модуле Craph. Параметр может принимать следующие значения CopyPut 0 - простое замещение - вычерчиваемая линия затирает то, что было на экране. XORPut 1 - сложение по mod 2 - обеспечивается комбинирование вы- водимой линии с экранным изображе- нием на основе выполнения поточеч- ной поразрядной операции суммиро- вания по модулю2. Важно, что два одинаковых вывода на экран в режиме

XORPut при- ведут сначала к стиранию линии на экране, а затем в восстановлению исходного экранного изображения. 0 01КАКОВЫ ФУНКЦИИ ПРОЦЕДУРЫ ImageSize? 1 Создание новой динамической переменной. 2 Сохранение в динамической памяти растрового образа заданной прямоугольной области экрана. 3 Возвращение числа байт, необходимых для сохранения прямоугольной области экранного изображения. 4 Вывод в заданное место экрана хранимого в динамической памяти растрового изображения.

02КАКОЕ СУЩЕСТВУЕТ ОГРАНИЧЕНИЕ ПО ПЛОЩАДИ СОХРАНЯЕМЫХ В ДИНАМИЧЕСКОЙ ПАМЯТИ ОБЛАСТЕЙ ЭКРАНА? 1 Ограничений нет. 2 Не более одного экрана. 3 Не более 1 2 экрана. 4 Не более 1 4 экрана. ОЗТРЕБУЕТСЯ ЛИ КОНТРОЛИРОВАТЬ РАЗМЕР СВОБОДНОЙ ДИНАМИЧЕСКОЙ ПАМЯТИ? 1 Да. С помощью функции

MaxAvail. 2 Да. С помощью процедуры GetMem. 3 Нет, не требуется. Размер динамической памяти не ограничен. 4 Да, требуется. Контроль осуществляется с помощью процедуры Dispose. 04КАКОГО ЦВЕТА БУДЕТ ВЫВЕДЕНО ИЗОБРАЖЕНИЕ ТОЧКИ НА ЭКРАНЕ, ЕСЛИ ТОЧКУ КРАСНОГО 4 ЦВЕТА ЗАМЕСТИТЬ С ПОМОЩЬЮ

ПРОЦЕДУРЫ Putlmage X,Y,p ,XORPut точкой синего 1 цвета? 1 Черного 0 . 2 Светло-бирюзового 11 . 3 Красного 4 . 4 Малиновый 5 . 05КАКУЮ ОРГАНИЗАЦИЮ ВИДЕОБУФЕРА ПОДДЕРЖИВАЮТ ЛАБОРАТОРНЫЕ КОМПЬЮТЕРЫ IBM PC С АДАПТЕРОМ EGA ПРИ ИСПОЛЬЗОВАНИИ ЯЗЫКА TURBO-PASCAL? 1 Одностраничную.

2 Двухстраничную. 3 Трехстраничную. 4 Четырехстраничную. 06С ПОМОЩЬЮ КАКОЙ ПРОЦЕДУРЫ УСТАНАВЛИВАЕТСЯ СТРАНИЦА ВИДЕОБУФЕРА, НА КОТОРУЮ НАПРАВЛЯЕТСЯ ПОСЛЕДУЮЩИЙ ГРАФИЧЕСКИЙ ВЫВОД? 1 SetVisualActivePage 2 SetWriteMode 3 Dispose 4 SetActivePage 07КАКОВЫ ФУНКЦИИ ПРОЦЕДУРЫ SetWriteMode?

1 Считывание символа с клавиатуры не отображая его на экран. 2 Установка режима записи при вычерчивании линий с помощью процедур формирования прямолинейных изображений. 3 Устанавливает номер страницы видеобуфера, на которую осуществляется последующий графический вывод. 4 устанавливает номер визуализируемой страницы видеобуфера. О 011Ответ неверный. Эту функцию осуществляет процедура

GetMem. 002 2Ответ неверный. Эту функцию осуществляет процедура GetImage. 002 3Ответ правильный. 005 4Ответ неверный. Эту функцию осуществляет процедура PutImage. 002 021Ответ неверный. Объем памяти, необходимый для сохраненеия области 002 экрана, не должен быть равен или превышать 64К, что соответствует 1 2 площади экрана. 2Ответ неверный.

Объем памяти, необходимый для сохраненеия области 002 экрана, не должен быть равен или превышать 64К, что соответствует 1 2 площади экрана. 3Ответ правильный. 005 4Ответ неверный. Объем памяти, необходимый для сохраненеия области 002 экрана, не должен быть равен или превышать 64К, что соответствует 1 2 площади экрана. 031Ответ првильный. Функция MaxAvail возвращает наибольший непрерывный 005 свободный блок, имеющийся

в динамической области памяти в текущий момент. 2Ответ неверный. Контроль требуется, однако, процедура GetMem 003 выполняет другие функции. 3Ответ неверный. Если в динамической области недостаточно места для 002 размещения новой переменной, возникает ошибка времени выполнения программы. Чтобы этого избежать следует пользоваться функцией MaxAvail, которая возвращает размер наибольшего непрерывного свободного блока динамической области памяти.

4Ответ неверный. контроль требуется, но с помощью функции MaxAvail. 003 041Ответ неверный. При использовании в качестве значения параметра 002 BitBlt константы XORPut коды цветов точек складываются по модулю 2 4 10 1 10 0100 2 0001 2 0101 2 5 10 2Ответ неверный. При использовании в качестве значения параметра 002 BitBlt константы XORPut коды цветов точек складываются по модулю 2 4 10 1 10 0100 2 0001 2 0101 2 5 10 3Ответ

неверный. При использовании в качестве значения параметра 002 BitBlt константы XORPut коды цветов точек складываются по модулю 2 4 10 1 10 0100 2 0001 2 0101 2 5 10 4Ответ правильный. 005 051Ответ неверный. Эти компьютеры имеют двухстраничную организацию 002 видеобуфера. 2Ответ правильный. 005 3Ответ неверный. Эти компьютеры имеют двухстраничную организацию 002 видеобуфера. 4Ответ неверный. Эти компьютеры имеют двухстраничную организацию 002 видеобуфера.

061Ответ неверный. процедура SetVisualPage задает номер отображаемой на 002 экран дисплейной страницы видеобуфера. 2Ответ неверный. Процедура SetWriteMode выполняет другие функции. 002 3Ответ неверный. Процедура Dispose выполняет другие функции. 002 4Ответ правильный. 005 071Ответ неверный. Процедура SetWriteMode устанавливает режим записи 002 при вычерчивании линий с помощью процедур формирования прямоугольных

изображений. 2Ответ правильный. 005 3Ответ неверный. Процедура SetWriteMode устанавливает режим записи 002 при вычерчивании линий с помощью процедур формирования прямоугольных изображений. 4Ответ неверный. Процедура SetWriteMode устанавливает режим записи 002 при вычерчивании линий с помощью процедур формирования прямоугольных изображений. 0 Приложение 3 Экранные формы



Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Технико-криминалистическое исследование документов
Реферат Платежи за пользование природными ресурсами: экономико-исторический аспект
Реферат Мониторинг экономичности различных видов отопления в жилых помещениях
Реферат Fruupp
Реферат 2-этажный 3-секционный 18-квартирный жилой дом в г. Мирном
Реферат Роль М. В. Ломоносова в развитии медицины и фармации
Реферат Автоматизация процесса документооборота организации ООО Ксенокс
Реферат Lab Determine Which Functional Groups In A
Реферат ОАО "Любанский сыродельный завод": характеристика выпускаемой продукции, оценка экономического состояния, работа по контролю качества
Реферат Аудит расчетов с персоналом по оплате труда 13
Реферат Архимандрит Аввакум Честной и писатель ИА Гончаров
Реферат Теоретические проблемы семантики последних десятилетий
Реферат Маркетинговое планирование на примере ресторана "Русская трапеза"
Реферат Біографія М С Грушевського 3
Реферат 6 вопросов по иностранному языку для 11 класса \english\