- •Программирование на языке паскаль Учебное пособие
- •1. Общая характеристика языков программирования
- •1.1. Языки программирования
- •1.2. Трансляторы
- •1.3. История создания языков
- •1.4. Базовые структуры языков программирования
- •Контрольные вопросы
- •2. Описание языка паскаль
- •2.1. Основные объекты языка
- •2.2. Структура Паскаль-программы
- •2.3. Типизация данных
- •2.4. Объявление данных
- •Контрольные вопросы
- •3. Простые операторы. Ввод/вывод данных
- •3.1. Оператор присваивания и выражения
- •3.2. Операторы вызова процедур. Ввод/вывод данных
- •3.2.1. Процедуры ввода read и readln
- •Общая форма записи оператора
- •3.2.2. Процедуры вывода write и writeln
- •Контрольные вопросы
- •Каково назначение процедуры writeln без параметров? Задания для самостоятельной работы
- •Варианты заданий
- •Дополнительные задания
- •4. Структурные операторы. Организация ветвлений и циклов
- •4.1. Составной и пустой операторы
- •4.2. Организация ветвлений. Операторы выбора
- •4.2.1. Оператор ветвления if
- •4.2.2. Оператор варианта case
- •Общая форма записи
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •Дополнительные задания
- •4.3. Организация циклов. Операторы повторения
- •4.3.1. Оператор while
- •4.3.2. Оператор repeat
- •4.3.3. Оператор for
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •5. Организация подпрограмм. Процедуры и функции
- •5.1. Процедуры и их типизация
- •5.1.1. Встроенные процедуры
- •5.1.2. Процедуры пользователя
- •5.1.3. Процедуры без параметров
- •5.1.4. Фактические и формальные параметры
- •5.1.5. Локальные и глобальные переменные
- •5.1.6. Процедуры с параметрами-значениями
- •5.1.7. Процедуры с параметрами-переменными
- •5.1.8. Комбинированные процедуры
- •5.2. Функции пользователя. Рекурсивные функции
- •5.2.1. Определение функции
- •О бщая форма записи заголовка функции
- •5.2.2. Функции пользователя
- •5.2.3. Рекурсивные функции
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •Дополнительные задания
- •6. Массивы. Данные типа array
- •Одномерные массивы
- •Общая форма записи
- •Общая форма записи
- •6.2. Многомерные массивы
- •6.3. Способы работы с массивами
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •Дополнительные задания
- •Обработка литерных величин. Данные типа char и string
- •7.1. Тип данных char
- •Работа программы
- •7.2. Массивы литер
- •7.3. Тип данных string
- •7.4. Строковые функции и процедуры
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •Дополнительные задания
- •8. Множества. Данные типа set
- •О бщий вид регулярного типа
- •8.1. Определение типа set
- •8.2. Операции над множествами
- •8.2.1. Принадлежность множеству
- •8.2.2. Сравнение множеств
- •8.2.3. Действия над множествами
- •8.3. Вывод множеств
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •9. Комбинированный тип. Данные типа record
- •9.1. Оператор типа record
- •9.2. Оператор with
- •9.3. Записи с вариантами
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •10. Файловый тип
- •10.1. Определение и описание типизированного файла
- •Общая форма записи
- •10.2. Типы файлов. Процедура работы с файлами
- •10.3. Основные приемы работы с файлами
- •10.4. Текстовые файлы
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Типизированные файлы
- •Текстовые файлы
- •Программирование графики
- •Основные понятия компьютерной графики
- •Формирование изображения на экране
- •Инициализация графического режима
- •Простейшие графические операторы (процедуры)
- •Основные приемы работы с графикой
- •Работа с цветом
- •Заполнение (закрашивание) произвольной замкнутой фигуры
- •Построение простейших геометрических фигур
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Варианты заданий
- •Библиографический список
Основные приемы работы с графикой
Рассмотрим теперь основные приемы работы с графикой, которые включают в себя работу с цветом, вывод точек, построение плоских и объемных прямоугольных фигур, построение окружностей и эллипсов, а также их дуг и секторов, вывод текста и организацию эффекта анимации (движения объектов по экрану).
Работа с цветом
Установка цвета изображения. Драйвер egavga.bgi позволяет использовать 16 цветов. Каждому цвету присвоен код – целое число, которое используется процедурами и функциями.
Цвет выводимых в графическом режиме на экран линий и символов можно задать процедурой SetColor (Сolor: word), аргумент которой – целое число от 0 до 15 или имя одной из приведенных выше констант. Установка цвета действует на те линии и тексты, которые выводятся после ее вызова, но не меняет цвет линий и символов, выведенных на экран ранее. Таким образом, процедуру SetColor следует вызывать каждый раз перед выбором нового цвета. Если цвет не установлен, то используется белый цвет.
Установка цвета фона. Чтобы установить цвет фона для всего экрана, используется процедура SetBkColor (Color: word). Если процедура установки цвета фона не вызвана, экран будет черным.
Работа с цветом осуществляется, прежде всего, на базе названия и кодов цветов, используемых в соответствующих процедурах языка. Кодировка используемых цветов представлена в таб. 1.
Таб. 1. Цветовая шкала
-
Цвет
Код
Цвет
Код
Black
Blue
Green
Cyan
Red
Magenta
Brown
LightGray
0
1
2
3
4
5
6
7
DarkGray
LightBlue
LightGreen
LightCyan
Lightred
LightMagenta
Yellow
White
8
9
10
11
12
13
14
15
Цвет и стили заполнения. В графике TurboPascal работа с цветом осуществляется по-разному. Одним из приемов является окраска точки и линий (прямая, окружность, эллипс) с помощью процедуры Color. Другим – заполнение внутренних областей фигур с помощью так называемого наполнения, которое включает в себя как цвет, так и стиль заполнения.
Hекоторые операторы, например Bar, служат для построения закрашенных фигур. Цвет заполнения для этих фигур задается процедурой SetFillStyle (Стиль: word; Цвет: word), которая устанавливает шаблон заполнения и цвет. Cтандартные стили заполнения представлены в таб. 2.
Таб. 2. Стандартные стили заполнения
Значение |
Маска |
0 1 2 3 4 5 6 7
8
9
10 11
|
Заполнение цветом фона Заполнение текущим цветом Заполнение символами --, цвет - color Заполнение символами // нормальной толщины, цвет - color Заполнение символами // удвоенной толщины, цвет - color Заполнение символами \\ удвоенной толщины, цвет - color Заполнение символами \\ нормальной толщины, цвет - color Заполнение вертикально-горизонтальной штриховкой тонкими линиями, цвет - color Заполнение штриховкой крест-накрест по диагонали "редкими" тонкими линиями, цвет - color Заполнение штриховкой крест-накрест по диагонали "частыми" тонкими линиями, цвет - color Заполнение "редкими" точками Заполнение "частыми" точками |
Перед выводом на экран какого-либо изображения иногда требуется очистить экран. Для этого используется процедура ClearViewPort. Есть еще и процедура ClearDevice, которая очищает графический экран и устанавливает указатель в левый верхний угол.