- •«Основы пРограммирования на языке pAscal»
- •Лабораторная работа №1
- •1. Общие сведения
- •1.1. Введение
- •1.2 Алфавит языка Паскаль
- •1.3. Константы
- •1.3.1. Символьные константы
- •1.4. Переменные
- •1.5. Перечисляемые типы данных
- •1.6. Оператор присваивания
- •1.7. Выражения
- •1.8. Организация программы
- •1.9. Комментарии
- •1.10. Операторы ввода-вывода
- •1.10.1. Операторы ввода
- •1.10.2. Операторы вывода
- •1.10.3. Управление формой вывода данных
- •1.10.4 Вывод значений переменных
- •Лабораторная работа №2
- •1.Общие сведения.
- •1.1. Понятие циклического процесса.
- •1.2. Операторы цикла с параметром.
- •1.3. Оператор цикла с предусловием.
- •1.4. Оператор цикла с постусловием.
- •1.5. Вложенные циклы.
- •2. Задание
- •3. Содержание отчёта
- •4. Контрольные вопросы.
- •Лабораторная работа №3
- •1. Общие сведения.
- •2. Задание.
- •3. Содержание отчета.
- •4. Контрольные вопросы.
- •Лабораторная работа №4
- •1. Общие сведения.
- •1.1. Описание процедуры.
- •1.2. Функция.
- •1.3 Обращение к подпрограммам.
- •2. Задание
- •3. Содержание отчета.
- •4. Контрольные вопросы:
- •Лабораторная № 5
- •1.Общие сведения.
- •1.1. Установка графического режима.
- •1.2. Процедура
- •1.3. Координаты.
- •1.4. Цвета.
- •1.5. Линии и точки.
- •1.6. Многоугольники.
- •1.7. Дуги, окружности, эллипсы.
- •1.8. Заполнения.
- •1.9. Вывод текста.
1.9. Вывод текста.
Описываемые ниже стандартные процедуры и функции поддерживают вывод текстовых сообщений в графическом режиме
Процедура
Procedure OutText (Text : String)
выводит текстовую строку Text, начиная с текущего положения указателя, в соответствии с установленным стилем и выравниванием (см. далее).
Аналогичная процедура
Procedure OutTextXY (X,Y:Integer; Text:String)
выводит строку, начиная с заданного места. При этом указатель не меняет своего положения.
Процедура
Procedure SetTextStyle (Font, Direct, Size:Word)
устанавливает стиль текстового вывода на графический экран. Здесь Font – номер шрифта (от 1 до 10); Direct- код направления ( HorizDir=0 – слева – направо; VortDir=1-снизу – вверх); Size – размер шрифта (от 1 до 10).
Процедура
Procedure SetTextJustify (Horiz, Vert: Word)
задает выравнивание выводимого текста по отношению к текущему положению указателя или к заданным координатам. Здесь Horiz – горизонтальное выравнивание;
Vert – вертикальное выравнивание. В качестве фактических параметров можно использовать следующие константы:
Const
LeftText = 0; {Указатель слева от текста}
CenterText = 1; {Симметрично слева и справа, сверху и снизу}
RightText = 2; {Указатель справа от текста}
BottomText; {Указатель снизу от текста}
TopText = 2; {Указатель сверху от текста}.
В некоторых случаях могут пригодиться функции:
Function TextWidth(Txt:String):Word;
Function TextHeight(Txt:String):Word;
которые возвращают соответственно длину и высоту текста в пикселах выводимой текстовой строки с учетом текущего стиля вывода, заданного процедурой SetTextStyle.
Ниже приводится программа, выводящая на графический экран дачный домик (рисунок 5.3).
PROGRAM EXAMPLE;
USES GRAPH;
VAR ERROR,GD,GM:INTEGER;
PROCEDURE PICTURE;
BEGIN
SETCOLOR(WHITE);
{ЗДАНИЕ ДОМА}
RECTANGLE(100,200,500,450);
LINE(300,20,100,200);
LINE(300,20,500,200);
{КРУГЛОЕ ОКНО НА КРЫШЕ}
CIRCLE(300,120,30);
{ОКНО}
RECTANGLE(150,250,250,380); {ПРЯМОУГОЛЬНИК ОКНА}
LINE(150,290,250,290); {ГОРИЗОНТАЛЬНАЯ ЛИНИЯ}
LINE(200,290,200,380); {ВЕРТИКАЛЬНАЯ ЛИНИЯ}
ELLIPSE(200,250,0,180,50,20); {ВЕРХНЯЯ ЧАСТЬ ОКНА}
{ВХОДНАЯ ДВЕРЬ}
SETLINESTYLE(SOLIDLN,0,THICKWIDTH);
RECTANGLE(350,220,450,430);
LINE(370,315,370,340);
{ЗАКРАШИВАЕТСЯ КРЫША СИМВОЛАМИ '+' СИНИМ ЦВЕТОМ}
SETFILLSTYLE(HATCHFILL,BLUE);
FLOODFILL(300,21,WHITE);
{ЗАКРАШИВАЕТСЯ ФАСАД ЗДАНИЯ РЕДКИМИ ТОЧКАМИ ЖЕЛТОГО ЦВЕТА}
SETFILLSTYLE(WIDEDOTFILL,YELLOW);
FLOODFILL(101,201,WHITE);
{ЗАКРАШИВАЕТСЯ ВХОДНАЯ ДВЕРЬ СПЛОШНЫМ ЗЕЛЕНЫМ ЦВЕТОМ}
SETFILLSTYLE(SOLIDFILL,GREEN);
FLOODFILL(355,225,WHITE);
END;
BEGIN
GD:=DETECT;
INITGRAPH(GD,GM,'C:\BP\BGI\');
ERROR:=GRAPHRESULT;
IF NOT(ERROR=GROK) THEN
BEGIN
WRITELN(GRAPHERRORMSG(ERROR));
READLN;
E
ND;
ELSE
BEGIN
PICTURE;
READLN;
CLOSEGRAPH;
END;
END.
Рисунок 5.3 – Результат работы программы Example
2. Задание
Написать программу, которая выводит на графический экран план расположения дома, в котором вы проживаете. На плане необходимо указать название улиц, административных и промышленных зданий (кинотеатров, ВУЗов, магазинов и т.д.), номера домов, а также остановки общественного транспорта и маршруты передвижения от них к дому.
3. Содержание отчета.
Отчёт должен содержать:
1) задание к работе;
2) блок-схему решения программы;
3) листинг программы;
4) результаты расчётов.
4. Контрольные вопросы:
Установление графического режима.
Контроль ошибок графических операций.
Координаты точек на экране.
Управление цветом.
Вывод на графический экран линий и точек.
Вывод многоугольников, дуг, окружностей, эллипсов.
Заполнение фрагментов графического экрана.
РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
Новичков В.С. ПАСКАЛЬ – В.С. Новичков, Н.И. Парфилов, А.Н. Пылькин - М.: Высш. школа, 1990г. 223 стр.
Савельев А.Я. ЯЗЫКИ ПРОГРАММИРОВАНИЯ (Паскаль, ПЛ/М). – М.:Высш. школа. 1987г. –143 стр.
Боон К. ПАСКАЛЬ ДЛЯ ВСЕХ. – М.- Энергоатомиздат, 1988г.- 190 стр.
