Как сделать паскаль черным

Обновлено: 06.07.2024

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

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

История создания и использования языка программирования Паскаль

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

История создания и использования языка программирования Паскаль

История создания и использования языка программирования Паскаль

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

  • последовательное выполнение;
  • ветвление;
  • циклы.

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

А до того наибольшей популярностью среди прикладных программистов пользовался Бейсик, где оператор GoTo имеется. И вот с началом 1980-х на замену Бейсику приходит Паскаль.

Ваш Путь в IT начинается здесь

Подробнее

Первая профессиональная среда разработки, появившаяся в 1983 году, называется Turbo Pascal. Первоначально она создавалась для операционной системы MS DOS. Позднее, в 1990-е, разработали версию для MS Windows 3.x. В данной среде содержалось все необходимое для программирования, включая комплект встроенных библиотек и отладчик.

Затем был создан расширенный вариант Turbo Pascal под названием Borland Pascal. Оба этих средства являлись основными для разработки ПО в 1980-е годы.

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

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

Достоинства языка Паскаль

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

Перечислим здесь основные плюсы языка.

Интуитивно понятный синтаксис

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

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

В других языках переменная присваивается просто через знак равенства:

Компилируемый язык

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

Основные модификации Паскаль

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

Это не только модифицированный язык, но также известная специализированная среда разработки программ для систем DOS и Windows 3.x.

Данный компилятор для ObjectPascal также известен под названием FreePascalCompiler (сокращенно FPC). С ним свободно могут работать все желающие.

Хотите больше зарабатывать или работать удалённо? Запутались в разнообразии профессий и не знаете, куда двигаться?

Команда GeekBrains вместе с экспертами по построению карьеры подготовили документы, которые помогут найти и выбрать востребованную высокооплачиваемую профессию.

Александр Сагун

Скачивайте и используйте уже сегодня:

Каналы для поиска работы

Список из 26 ресурсов и 34 Telegram-каналов

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Рейтинг наиболее актуальных специальностей в 9 направлениях

Является открытой кроссплатформенной средой разработки для рассмотренного выше компилятора FPC. Для работы предоставляется окружение, сходное с Delphi.

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

Алфавит и словарь языка программирования Паскаль

Любой язык программирования использует определенный набор символов (алфавит). И Паскаль — не исключение. Итак, код этого языка может содержать:

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

Александр Сагун

Мы вместе с экспертами по построению карьеры подготовили документы, которые помогут не ошибиться с выбором и определить, какая профессия в IT подходит именно вам.

Благодаря этим гайдам 76% наших студентов смогли найти востребованную профессию своей мечты!

Скоро мы уберем их из открытого доступа, успейте скачать бесплатно:

Гайд по профессиям в IT

5 профессий с данными о навыках и средней заработной плате

100 тыс. руб за 100 дней с новой профессией

Список из 6 востребованных профессий с заработком от 100 тыс. руб

Все профессии, которые есть в IT-сфере

63 профессии и необходимые для них навыки

Критические ошибки, которые могут разрушить карьеру

Собрали 7 типичных ошибок. Их нужно избегать каждому!

Существуют также сложные символы, состоящие из нескольких простых, но воспринимающиеся как неделимые:

  • := (оператор присваивания);
  • >= и Подробнее

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

Function name(parameters): return_value;

Паскаль поддерживает многострочные комментарии. В таких случаях закомментированные строки заключаются символы соответственно в начале и конце блока. Однострочные комментарии обозначаются простыми фигурными скобками < и >. Примеры:

Имена всех объектов в Паскале могут писаться как строчными, так и прописными буквами. При этом, например, x и X считаются одним и тем же именем.

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

Вот пример заявления:

area := sqrt(s * (s — a)*(s-b)*(s-c));

Как было сказано ранее, язык Паскаль оперирует фиксированным набором зарезервированных слов, взятых из английского языка.

Пример простой программы на языке Паскаль

(* Начало основного блока *)

Результат программы показан на изображении:

Пример простой программы на языке Паскаль

Пример простой программы на языке Паскаль

Теперь разберем здесь все строки, функции и операторы Паскаля более подробно.

Развитие других языков благодаря Паскаль

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

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

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

Оберон впоследствии повлиял и на более современные языки. В частности, он оказал влияние на Java. Здесь позаимствована, например, технология сборки мусора.

Целая группа языков за авторством Вирта оказала сильное влияние на молодой язык Go, являющийся продуктом разработок Google. Яркий пример заимствования из Паскаля, Оберона и Модулы-2 — оператор присваивания. Он выглядит там точно так же:

Сферы применения Паскаль сегодня

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

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

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

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

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

Среди этой группы разработчиков большой популярностью пользуется среда разработки Lazarus. Она бесплатна и сильно напоминает инструмент Delphi, позволяя работать с кодом в том числе и на этом языке.

Что касается самой Delphi, ее продолжают выпускать, но уже под именем RAD Studio.

Обучение языку Паскаль

По сей день в школах программирование начинают изучать с языка Паскаль. На нем школьники пишут простейшие программы. В вузах же студентов специальностей, связанных с IT, часто обучают программировать уже на других языках (например, C). Возникает закономерный вопрос: нужен ли Паскаль на практике? Если он неактуален, то зачем этот язык до сих пор преподают в школах?

Обучение языку Паскаль

Обучение языку Паскаль

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

Безусловно, готовые решения сегодня можно найти в интернете. Но эффект от обучения с нуля все же будет выше, учитывая, что задачи там не такие уж и сложные.

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

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

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

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

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

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

В силу своей простоты Паскаль вполне доступен и для самостоятельного изучения. Но помимо чистого языка рекомендуется досконально знать и среду разработки, которой будут создаваться программы (к примеру, Delphi).

Языки программирования, которые можно изучать после Паскаля

Здесь перечислим два современных и актуальных языка, переход на которые после изучения Паскаля будет достаточно простым.

Это молодой язык программирования, созданный корпорацией Google в 2009 году. Подобно Паскалю, он является компилируемым. С помощью Go (или Golang) можно разрабатывать как прикладное ПО, так и системные программы.

Язык HTML: возможности и ограничения

Паскаль не повлиял на Python напрямую. Тем не менее, данные языки по своему синтаксису очень близки. Дело в том, что Python также основывался на Алголе 68. Неудивительно, что многие школы постепенно отказываются от Паскаля в пользу Python, благо что тот также прост в изучении.

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

Паскаль - Урок 12: Использование модуля CRT

Что такое модуль CRT? Это модуль в Паскаль, который может выводить в отдельном диалоговом окне цветные символы на цветном фоне. Также с помощью него можно настроить размер этого окна, переместить курсор в определённую точку экрана, а также очищать это диалоговое окно.
Модуль CRT в паскале поддерживает 16 цветов, нумерация которых начинается с 0 (от 0 до 15 включительно). Также можно просто прописывать названия цветов не используя цифры.
Для того чтобы использовать модуль CRT его нужно подключить с помощью следующей строчки:

Для того чтобы закрасить фон нужно использовать такую команду:

Надо сказать, что textbackground следует применять вместе с процедурой очистки экрана, которая описана ниже.

Для очистки экрана (1) и установки позиции курсора (2) используются соответственно следующие команды:

Цвет текста определяет процедура:

Для временной задержки существует процедура delay

Запускать программу в Pascal с использованием модуля CRT нужно при помощи клавиш Shift+F9.

С помощью этого модуля игры для компьютера, телефона не напишешь. Для windows phone 7 игры написаны на совсем другом языке программирования.

Пример программы на Паскаль с использованием модуля CRT:

Нужна помощь,
как мне сделать так чтобы при правильном ответе паскаль менял цвет ответа, тоесть if c=a-b перекрасить вводимое число пользователем (с) в зелёный цвет
else в красный?

gotoxy( x, y: integer)
Этой функции передаёшь координаты! Координаты в досе начинаются с левого верхнего угла!
Вот смотришь на какой строчке стоит нужная строка = это координата y, потом скок отступ от края =это координата x! Запомни считаются координаты не по пикселям а по символам!
Ну вот нашёл координаты! Теперь меняешь координату курсора, цвет текста, и выводишь текст! Он перерисует старый на новый.

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

Пример растра и изображения, построенного на нем:

Пример растра и изображения

На рисунке вы видите сильно увеличенную картинку, на самом же деле элементарные точки, из которых состоит изображение, или пиксели, должны быть очень маленькими, чтобы глаз воспринимал картинку как единое целое. Пиксель ( Pixel ) – сокращение от Picture Element (элемент рисунка).

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

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

Итак, на растровом устройстве отображения любая фигура состоит из множества точек пикселей. Естественно, положение каждой точки изображения задано координатами X и Y . Координаты – целые числа, они задают номера колонки и строки растра и не зависят от физического размера экрана. Оси координат направлены следующим образом: горизонтальная ось X направлена слева направо; вертикальная ось Y направлена сверху вниз; верхний левый угол имеет координаты (0,0).

Очевидно, что запись изображения требует хранения информации о положении множества точек, для каждой из которых должен быть задан цвет. Цветное изображение получается смешиванием трех основных цветов – красного, зеленого и синего. Такая модель представления цвета называется моделью RGB ( Red - Green - Blue ). Управляя интенсивностью компонентов, можно получить различные оттенки и степени интенсивности цвета. В частности, для получения градаций серого надо взять интенсивности трех основных цветов равными друг другу.

В современных SVGA мониторах предусмотрено, как правило, по 2 6=64 уровня интенсивности каждого из основных цветов, таким образом, в целом можно получить (2 6) 3=262144 цвета. Для представления большего числа цветов необходим больший объем памяти. Один бит может кодировать два цвета: 1 – белый, 0 – черный. Два бита могут хранить 2 2=4 цветовых комбинации, 4 бита – 16, 8 бит – 256, 16 бит – 65536, 32 бита – 4294967296.

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

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

Чтобы избежать указанных проблем, изобрели так называемый векторный способ кодирования изображений.

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

Формирование изображения на экране

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

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

Видеопамять и похожа, и в то же время не похожа на RAM . Обычная память соединена с центральным процессором специальным устройством, которое называется шина данных. Не останавливаясь подробнее на конструкции шины данных, скажем лишь, что это просто пакет проводов, количество которых кратно двум. Можно сказать, что чем больше проводов в пакете, тем быстрее происходит обмен данными между процессором и памятью. Современные Pentium -машины имеют 32-разрядную шину, т.е. процессор может сразу читать 4 байта из памяти (и столько же в нее записывать). Разрядность шины данных – одно из самых узких мест в конструкции компьютера.

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

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

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

Движение луча по экрану происходит с огромной скоростью. Чтобы изображение, которое воспринимает человек, не было мерцающим, весь цикл – от первой до последней строки – должен быть закончен за 1/60 секунды (или еще быстрее). Следовательно, за секунду происходит не менее 60 проходов луча по всему экрану, строка за строкой. Такая схема формирования изображения называется растром. После того, как луч доходит до последней точки последней строки (до правого нижнего угла экрана), он мгновенно по диагонали переносится в начало первой строки экрана (левый верхний угол), и процесс повторяется.

Формирование цветного изображения осуществляется не одним, а тремя электронными лучами (красным, зеленым и синим), перемещающимся по экрану одновременно. Три луча подсвечивают сразу три элемента экрана, расположенных на очень незначительном угловом расстоянии друг от друга, поэтому человеческий глаз воспринимает эти три элемента как одну точку. Благодаря различной интенсивности свечения каждой из трех точек и эффекту аддитивного смешения трех цветов такая составная точка может иметь любой цветовой оттенок. Качество изображения тем выше, чем меньше расстояние между двумя отдельными точками. В современных мониторах расстояние между точками не превышает 0.25–0.26 мм.

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

Существует два принципиально разных способа указания интенсивности свечения пикселя.

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

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

Работа с графикой в Паскале

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

Формирование изображения на экране

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

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

Видеопамять и похожа, и в то же время не похожа на RAM . Обычная память соединена с центральным процессором специальным устройством, которое называется шина данных. Не останавливаясь подробнее на конструкции шины данных, скажем лишь, что это просто пакет проводов, количество которых кратно двум. Можно сказать, что чем больше проводов в пакете, тем быстрее происходит обмен данными между процессором и памятью. Современные Pentium -машины имеют 32-разрядную шину, т.е. процессор может сразу читать 4 байта из памяти (и столько же в нее записывать). Разрядность шины данных – одно из самых узких мест в конструкции компьютера.

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

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

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

Движение луча по экрану происходит с огромной скоростью. Чтобы изображение, которое воспринимает человек, не было мерцающим, весь цикл – от первой до последней строки – должен быть закончен за 1/60 секунды (или еще быстрее). Следовательно, за секунду происходит не менее 60 проходов луча по всему экрану, строка за строкой. Такая схема формирования изображения называется растром. После того, как луч доходит до последней точки последней строки (до правого нижнего угла экрана), он мгновенно по диагонали переносится в начало первой строки экрана (левый верхний угол), и процесс повторяется.

Формирование цветного изображения осуществляется не одним, а тремя электронными лучами (красным, зеленым и синим), перемещающимся по экрану одновременно. Три луча подсвечивают сразу три элемента экрана, расположенных на очень незначительном угловом расстоянии друг от друга, поэтому человеческий глаз воспринимает эти три элемента как одну точку. Благодаря различной интенсивности свечения каждой из трех точек и эффекту аддитивного смешения трех цветов такая составная точка может иметь любой цветовой оттенок. Качество изображения тем выше, чем меньше расстояние между двумя отдельными точками. В современных мониторах расстояние между точками не превышает 0.25–0.26 мм.

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

Существует два принципиально разных способа указания интенсивности свечения пикселя.

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

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

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

Взаимодействие программы и видеосистемы в графических режимах обеспечивают драйверы. Драйверы собраны в файлах, имеющих расширение BGI : CGA . BGI , EGAVGA . BGI , HERC . BGI , IBM 8514. BGI , ATT . BGI , PC 3270. BGI и др. Драйвер – это специальная программа, осуществляющая управление тем или иным техническим средством ПК. Графический драйвер управляет графическим адаптером в графическом режиме.

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

Для инициализации графического режима используется процедура:

Где Driver – переменная типа integer , определяющая тип графического драйвера; Mode – переменная того же типа, задающая режим работы графического адаптера; Path – выражение типа string , содержащее путь доступа к файлу драйвера.

Читайте также: