
- •Основные понятия языка программирования паскаль
- •Структурное программирование
- •Основные символы языка
- •Элементы языка
- •Интегрированная среда turbo pascal
- •Структура программы в turbo pascal
- •Определение типов
- •Операторы в программе
- •Операторные скобки
- •Операторы ввода
- •Оператор присваивания
- •Оператор условного перехода
- •Оперетор безусловного перехода
- •Организация циклов
- •Использование операторов условного и безусловного перехода
- •Цикл с параметром
- •Цикл с предусловием - цикл while
- •Цикл с постусловием - цикл repeat
- •Оператор выбора варианта
- •Концепция типов данных
- •Стандартные простые типы Целый тип
- •Операции над данными целого типа:
- •Действительный тип
- •Операции над данными действительного типа:
- •Логический тип
- •Символьный тип
- •Символьные строковые константы
- •Нестандартные простые типы (определяемые пользователем)
- •Перечисляемый тип
- •Ограниченный тип (диапазон, интервал)
- •Процедуры и функции
- •Описание процедур
- •Стандартные процедуры
- •Описание функций
- •Стандартные функции
- •Итерация и рекурсия
- •Побочный эффект рекурсии
- •Предварительное описание (ссылки вперед)
- •Регулярные типы Одномерный массив
- •Алгоритмы сортировки массивов
- •1. Метод пузырька (метод обменной сортировки с выбором)
- •Многомерные массивы
- •Упакованные массивы
- •Множественные типы
- •Свойства множеств
- •Операции над множествами
- •Комбинированные типы Описание записей и действия с ними
- •Оператор присоединения.
- •Записи с вариантами
- •Типизированная константа
- •Простая типизированная константа
- •Структурированная (сложная) типизированная константа Типизированная константа массива
- •Типизированная константа записи
- •Типизированная константа множества.
- •Преобразование типов
- •Неявные преобразования типов
- •Использование стандартных функций для преобразования
- •Явные преобразования типов
- •Эквивалентность типов
- •Совместимость типов
- •Файловые типы
- •Определение файлового типа
- •Структура файла
- •Имя файла
- •Описание файлового типа
- •Файловая переменная
- •Операции над файлами
- •Типизированные файлы
- •Ссылочные типы (указатели) Статические и динамические переменные
- •Ссылочные типы (указатели)
- •Удаление узла из стека:
- •Человек
- •Человек
- •Вставка
- •Динамические переменные
- •Процедуры создания и удаления динамических переменных
- •Динамические списковые структуры
- •Однонаправленные списки
- •Двунаправленные списки
- •Очереди
- •Деревья
- •Модульная система turbo pascal
- •Uses mod 1, mod 2, mod 3; (подключение трех модулей) Общая структура модуля
- •Использование идентификаторов модуля
- •Использование модуля в программе
- •Компиляция модулей
- •Системный файл turbo.Tpl
- •Стандартные модули
- •Модуль crt
- •Модуль dos
- •Модуль printer
- •Модуль overlay
- •Модуль string
- •Процедуры модуля graph
- •Графические процедуры
- •Координаты. Окна. Страницы
- •Линии и точки
- •Многоугольники
- •Дуги,окружности, эллипсы
Процедуры модуля graph
Вообще в Турбо-Паскале предусмотрены встроенные графические процедуры, которые дают возможность изображать точки и линии в различных цветах, но их недостаточно для построения содержательных графических образов. Поэтому надо использовать внешние графические подпрограммы, объеденённые в модуль GRAPH (например, изображение окружности, элипса, дуги, раскраска фигур).
Графические процедуры
GraphBackGround (номер цвета) - устанавливает цвет всего экрана;
№=1…15
GraphWindow(X1,Y1,X2,Y2) - определяет окно:
Тогда внутри окна точка в левом верхнем углу приобретает координаты (0,0)
По умолчанию весь экран рассматривается как активное окно.
Window(X1,Y1,X2,Y2) - выделяет в текстовом режиме окно:
Минимальный размер текстового окна состовляет матрица из 2 строк и 2 колонок.
По умолчанию весь экран рассматривается как окно с координатами (1,1) и (80,25) или (1,1) и (40,25), в зависимости от установленного размера этого экрана.
Plot(x,y,m) - изображает на экране точку цвета M с координатами(x,y) при заданной процедурой Palette(N) палитре.
Пример: Plot(0,0,1) - вызывает индикацию точки зелёного цвета в верхнем левом углу экрана, если установлена процедура Palette(0).
Drow(X1,Y1,X2,Y2,M) - рисует отрезок прямой линии цвета M (в заданной палитре), соединяющий точки с координатами (X1,Y1) и (X2,Y2).
Процедуры Drow и Plot являются встроенными в Турбо-Паскаль. Следующие процедуры подключаются к программе из модуля GRAPH (GRAPH3), который хранится во внешнем файле.
В отличие от текстового режима, в графическом режиме курсор определяющий место на экране, с которого начинается изображение фигуры или текста, невидим, однако его можно переместить в любую точку окна экрана, посмотрев значеня координат курсора и т.д.
Процедура InitGraph (GraphDriver:Detect или 0; GraphMode: ‘путь’; режим) - инициализация графического режима.
CloseGraph - прикращение графического режима.
RestoreCrtMode - возвращение в текстовый режим(кратковременное).
Пример. Переход из графического режима в текстовый и обратно.
Program primer;
Uses Graph;
Var driver, regim:integer;
Begin{инициализация графического режима}
Driver:=deteet;
InitGraph(driver,regim,' ');
Writeln('это графический режим');
Writeln('нажмите ENTER')
Readln;
{переход в текстовый режим}
RestoreCrtMode;
Writeln('а это текстовый режим')ж
Readln;
{возвращение в графический режим}
SetGraphMode(GetGraphMode);
Writeln('это снова графический режим');
Readln;
CloseGraph;
End.
Координаты. Окна. Страницы
G
etMaxX
Даёт максимальные координаты экрана.
GetMaxY
GetX
Даёт текущие координаты курсора.
GetY
SetViewPort(X1,Y1,X2,Y2,отсечка)
Процедура SetViewPort(X1,Y1,X2,Y2,отсечка) - устанавливает прямоугольное окно на графическом экране. Отсечка - логическое выражение, определяющее отсечку не умещающихся в окне элементов изображения. Координаты задаются относительно левого верхнего угла экрана.
True,
лишнее отсекается (clip
On)
Отсечка =
False, все изображение (clip Off)
Пример. Построить 2 прямоугольных окна,обвести их рамками и нарисовать в них одинаковые окружности.
Program rect_2;
Uses Graph;
Var x,y integer
Const X11=0; Y11=20; X12=120;Y12=65;
X21=200; Y21=Y11; X22=320; Y22=Y12;
Begin
X:=Detect;
InitGraph(X,Y,’..\BGI’);
Rertangle (X11,Y11,X12,Y12);
Rertangle(X21,Y21,X22,Y22);
SetViewPort(X11,Y11,X12,Y12,ClipOn);
Circle(20,20,60);
SetViewPort (X21,Y21,X22,Y22,Clip Off);
Circle(20,20,60);
Readln;
CloseGraph
End.
MoveRel(dx,dy);-перемещает указатель координат на заданное расстояние(точка не высвечивается).
MoveTo(x,y);-перемещает указатель в точку(x,y).(точка не высвечивается).
ClearDevice-очищает графический экран.
ClearViewPort-очищает графическое окно.