Нам кажется, что ответ на данный вопрос лучше всего построить на конкретном примере. Один из вариантов такого рассмотрения подробно изложен в предыдущей публикации по билетам 11-го класса, где разбирается несложная программа, которая осуществляет буксировку с помощью кнопки мыши небольшой картинки.
Желательно изложить
Поскольку реакция программы на события, как правило, связана с конкретными визуальными компонентами — щелчок по кнопке, изменение размеров окна и т.п., обработчики также принято считать методами конкретных объектов. В качестве наиболее распространенного примера рассмотрим заголовок обработчика
события OnClick (реакция на щелчок мыши) в системе Delphi для компонента типа Buttonl, имеющий вид procedureTForml.ButtonlClick(Sender: TObject);
Налицо объектно-ориентированная форма записи, где имя метода отделено точкой от класса, к которому принадлежит данный метод.
Заметим, что типичным аргументом является объект Sender, через который система Delphi передает имя конкретного объекта, вызывающего обработчик. Последнее обстоятельство представляет большой практический интерес, так: как; позволяет делать общий обработчик; на группу компонентов. Скажем, для калькулятора вместо 10 однотипных обработчиков кнопок можно написать всего один:
' п := 10 * n + (Sender as TButton).tag;
В приведенной формуле предполагается, что переменная п, накапливающая результат набора числа, имеет целочисленный тип, а значения свойства tag у всех кнопок предварительно установлены в соответствии с надписью на кнопке (на кнопке "1" задана 1, на кнопке "2" — 2 и т.д.). Тогда становится понятным, что, используя Sender в качестве конкретной кнопки, мы получаем доступ к ее свойству tag и по стандартной формуле добавляем его к текущему значению числа в качестве последней десятичной цифры.
Описывая функционирование обработчиков событий, целесообразно несколько подробнее рассказать о механизме реализации событий в современном программном обеспечении, Материал этот следует считать дополнительным, но, по мнению авторов, он достаточно нагляден и полезен для понимания сути фундаментальных процессов событийного программирования. Хочется даже провести некоторую аналогию: в физике тоже можно применять некоторые законы электричества, не зная того, что ток есть направленное движение электронов; тем не менее это, к счастью, (пока!) не является основанием для исключения данного фундаментального материала из школьного курса.
Основой обработки событий в современных программных системах служит посылка и прием сообщений. В простейшем случае сообщение представляет собой несколько помещаемых в строго определенное место памяти целых чисел. Первое является идентификатором сообщения: проще говоря, оно позволяет однозначно определить назначение сообщения. Остальные числа являются параметрами, раскрывающими суть события. Скажем, для случая сообщений мыши это координаты положения ее указателя на экране. Для других сообщений содержание информации, разумеется, будет отличаться, но можно утверждать, что каждому типу сообщений соответствует строго определенная "уточняющая" информация.
Те, кого заинтересовала эта часть вопроса и кто намерен рассказать о ней на экзамене, могут обратиться к полному тексту билета (см. ссылку в конце вопроса).
Примечание. Советую также в случае более глубокого интереса к вопросу о сообщениях Windows внимательно последить за последующими номерами газеты. Там будет опубликована статья Е.А. Еремина "Что такое скан-код клавиши и как его увидеть", в конце которой описывается довольно простая программа непосредственной обработки сообщений от клави-
БИЛЕТ № 20
I 1. Компьютерная графика. Аппаратные средства . (монитор, видеокарта, видеоадаптер, сканер и др.). ' Программные средства (растровые и векторные гра-I фические редакторы, средства деловой графики, про-| граммы анимации и др.).
2. Этапы развития вычислительной техники. Основные технические характеристики современного Iперсонального компьютера.
3. Практическое задание по работе с электрон-' ной почтой (в локальной или глобальной компью- ' I терной сети).
1. Компьютерная графика. Аппаратные средства (монитор, видеокарта, видеоадаптер, сканер и др.). Программные средства (растровые и векторные графические редакторы, средства деловой графики, программы анимации и др.)
Базовые понятия
Компьютерная графика, монитор, видеокарта, видеоадаптер, сканер, цифровой фотоаппарат, растровая компьютерная графика, векторная компьютерная графика, фрактальная компьютерная графика, ЗО-графи-ка, деловая графика, анимационная графика.
Обязательно изложить
Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине пятидесятых годов для больших ЭВМ, применявшихся в научных и военных исследованиях. С тех пор графический способ отображения данных стал неотъемлемой принадлежностью подавляющего числа компьютерных систем, в особенности персональных. Графический интерфейс пользователя сегодня является стандартом "де-факто" для программного обеспечения разных классов, начиная с операционных систем.
Специальную область информатики, занимающуюся методами и средствами создания и обработки изображений с помощью программно-аппаратных вычислительных комплексов, называют компьютерной графикой. Она охватывает все виды и формы представления изображений, доступных для восприятия человеком либо на экране монитора, либо в виде копии на внешнем носителе. Визуализация данных находит применение в самых разных сферах человеческой деятельности. Например, в медицине (компьютерная томо-
графия), научных исследованиях, моделировании тканей и одежды, опытно-конструкторских разработках.
В зависимости от способа формирования изображений компьютерную графику принято подразделять на растровую, векторную и фрактальную. Отдельным предметом считается трехмерная (3D) графика: построение объемных моделей объектов в виртуальном пространстве. Как правило, в ней сочетаются векторный и растровый способы формирования изображений.
На специализацию в отдельных областях указывают названия некоторых разделов: "Инженерная графика", "Научная графика", "Web-графика", "Компьютерная полиграфия" — и прочие. На стыке компьютерных, телевизионных и кинотехнологий образовалась область компьютерной графики и анимации.
Хотя компьютерная графика служит всего лишь инструментом, ее структура и методы основаны на передовых достижениях фундаментальных и прикладных наук: математики, физики, химии, биологии, статистики, программирования и множества других. Это замечание справедливо как для программных, так и для аппаратных средств создания и обработки изображений на компьютере. Поэтому компьютерная графика является одной из наиболее бурно развивающихся отраслей информатики.
Информационную связь между пользователем и компьютером обеспечивает монитор. Система отображения компьютера состоит из двух главных компонентов:
• монитора (дисплея);
• видеоадаптера (называемого также видеоплатой, или графической платой).
Информация на мониторе может отображаться несколькими способами. Самый распространенный — отображение на экране электронно-лучевой трубки (ЭЛТ), такой же, как в телевизоре. ЭЛТ представляет собой электронный вакуумный прибор в стеклянной колбе, в горловине которого находится электронная пушка, а на дне — экран, покрытый люминофором.
Нагреваясь, электронная пушка испускает поток электронов, которые с большой скоростью двигаются к экрану. Поток электронов (электронный луч) проходит через фокусирующую и отклоняющую катушки, которые направляют его в определенную точку покрытого люминофором экрана. Под воздействием ударов электронов люминофор излучает свет, который видит пользователь, сидящий перед экраном компьютера.
Химическое вещество, используемое в качестве люминофора, характеризуется временем послесвечения,
которое отображает длительность свечения люминофора после воздействия электронного пучка. Время послесвечения и частота обновления изображения должны соответствовать друг другу, чтобы не было заметно мерцание изображения (если время послесвечения очень мало) и отсутствовали размытость и удвоение контуров в результате наложения последовательных кадров (если время послесвечения слишком велико).
Электронный луч движется очень быстро, прочерчивая экран строками слева направо и сверху вниз по траектории, которая получила наименование растр. Период сканирования по горизонтали определяется скоростью перемещения луча поперек экрана.
В процессе развертки (перемещения по экрану) луч воздействует на те элементарные участки люмино-форного покрытия экрана, в которых должно появиться изображение. Интенсивность луча постоянно меняется, в результате чего изменяется яркость свечения соответствующих участков экрана. Поскольку свечение исчезает очень быстро, электронный луч должен вновь и вновь пробегать по экрану, возобновляя его. Этот процесс называется возобновлением (или регенерацией) изображения.
Существуют альтернативные конструкции средств отображения, основанные на других физических явлениях. Позаимствовав технологию у изготовителей плоских индикационных панелей, некоторые компании разработали жидкокристаллические дисплеи, называемые также LCD-дисплеями (Liquid-CrystalDisplay). Для них характерен безбликовый плоский экран и низкая потребляемая мощность (некоторые модели таких дисплеев потребляют 5 Вт, в то время как мониторы с электронно-лучевой трубкой — порядка 100 Вт). По качеству цветопередачи жидкокристаллические панели с активной матрицей в настоящее время превосходят большинство моделей мониторов с электронно-лучевой трубкой.
Разрешающая, способность, или разрешение, монитора — это размер минимальной детали изображения, которую можно различить на экране. Данный параметр характеризуется количеством элементов разложения — пикселей (pixel) — по горизонтали и вертикали экрана. Чем больше количество пикселей, тем более детальное изображение формируется на экране. Необходимое разрешение в значительной степени зависит от конкретного приложения. Символьные приложения (например, текстовый редактор) требуют невысокого разрешения, в то время как приложения с большим объемом графики (например, настольная издательская система) нуждаются в более детальных изображениях.