
- •Иванов и.Н. Паскаль История развития языка.
- •Как пишутся программы
- •Язык программирования
- •Методика решения задач
- •Структура паскаль-программы
- •Раздел описаний
- •Uses - подключение библиотеки данные и их типы
- •Переменные
- •Имена переменных
- •Константы
- •Синтаксис и семантика написания программ
- •Стандартные типы данных
- •Знакомство с интегрированной средой
- •Вход в интегрированную среду
- •Поля основного меню File - работа с файлами
- •Edit - редактирование
- •Search - поиск информации
- •Compile - компиляция программы
- •Debug - отладка программы
- •Tools - инструментальные средства
- •Options - параметры среды
- •Window - работа с окнами
- •Help - информационная помощь
- •Лабораторная работа №1 на тему
- •Запуск среды
- •1). Прежде всего, установите свой каталог, в котором будут содержаться ваши программы:
- •2). Ввод новой программы:
- •Редактирование программы
- •Копирование информации
- •Операторы паскаля: присваивания, ввода-вывода данных Оператор присваивания.
- •Оператор ввода данных.
- •Оператор вывода данных.
- •Модуль crt.
- •Выражения и функции в Паскале.
- •Возведение в степень
- •Практическая работа № 1 тема: "составление линейных и диалоговых программ"
- •Организация ввода-вывода в паскале.
- •Стандартные функции. Линейные программы
- •Ветвления и циклы в паскале. Оператор варианта Оператор ветвления (условный).
- •Оператор варианта.
- •Оператор цикла с параметром.
- •Вложенные циклы
- •Оператор цикла с предусловием. (Работает, пока истинно условие)
- •Оператор цикла с постусловием. (Работает, пока ложно условие)
- •Нестандартные типы данных: перечисляемый и ограниченный тип
- •Var имя переменной: имя типа;
- •Ограниченный тип данных
- •1 Октября 1994 года - 4 квартал – суббота
- •Символьные переменные и функции в паскале
- •Процедуры и функции в паскале
- •Графика паскаля
- •Практический зачет на тему:
- •Сложные типы данных тип массив. Одномерные массивы
- •Решение задач
- •IV. Домашнее задание.
- •Сложные типы данных. Тип массив двумерные массивы
- •Ввод-вывод элементов массива.
- •Решение задач
- •Файловый тип данных
- •Урок № 55-56
- •Ход урока.
- •I. Самостоятельная работа с теоретическим материалом.
- •II. Теоретический материал.
- •III. Домашнее задание.
- •Урок № 57-58
- •Ход работы.
- •Урок-исследование № 59-60
- •Ход урока.
- •Теоретический материал к уроку.
- •Var имя множества: set of базовый элемент;
- •Var имя множества: имя типа;
- •Задание для работы в группах по теме “Множества”
- •Урок № 61-62
- •Ход работы.
- •I. Консультация по билетам.
- •II. Решение задач.
- •III. Домашнее задание.
Графика паскаля
Для формирования графических изображений в Турбо Паскале предназначен стандартный модуль GRAPH. В нем содержится 79 графических процедур, функций, десятки стандартных констант и типов данных. В состав модуля GRAPH входит ряд программ-драйверов для наиболее распространенных видеоадаптеров: CGA, MCGA, EGA, VGA, HERCULES, AT&T, 3270 PC. Эти драйверы хранятся в файлах с расширением BGI.
Скелет графической программы:
program имя;
USES GRAPH; {подключение модуля}
var DR,RG:integer;
begin
DR:=detect;
initgraph(dr,rg,'<путь к драйверу адаптера>'); {вызов процедуры GRAPH}
<ГРАФИЧЕСКИЕ ОПЕРАТОРЫ>
readln;
closegraph;
end.
INITGRAPH(драйвер, режим, 'путь') - подключает графический режим.
Драйвер - это переменная целого типа, определяющая тип графического дисплея.
Режим - это переменная типа integer, определяющая режим работы графического адаптера(GM).
Путь - указывает путь программам с TPU.
DETECT - режим автоматического определения типа.
CLOSEGRAPH - прекращает работу графического адаптера и восстанавливает текстовый режим работы экрана
Разрешение графического экрана:
Цвета экрана
0 - черный 8 - темно-серый
1 - синий 9 - светло-синий
2 - зеленый 10 - светло-зеленый
3 - голубой 11 - светло-голубой
4 - красный 12 - светло-красный
5 - лиловый 13 - светло-лиловый
6 - коричневый 14 - желтый
7 - светло-серый 15 - белый
ГРАФИЧЕСКИЕ ОПЕРАТОРЫ:
1. SETCOLOR(цвет) - устанавливает текущий цвет для выводимых линий и символов;
2. SETBKCOLOR(цвет) - устанавливает цвет фона;
3. MOVETO(x,y) - переводит курсор в позицию x,y, точка при этом не высвечивается;
4. LINETO(x,y) - рисует линию от текущей позиции курсора до x,y;
5. LINEREL(Dx,Dy) - рисует линию от текущей позиции на относительное расстояние Dx,Dy;
6. PUTPIXEL(x,y,цвет) - выводит точку заданного цвета;
7. LINE(x1,y1,x2,y2) - выводит линию;
8. CIRCLE(x,y,r) - выводит окружность с центром (х, у) и радиусом r;
9. ARC(x, y, начальный_угол, конечный_угол, r) - выводит дугу (углы измеряются в градусах против часовой стрелки);
10. ELLIPSE(x, y, нач_угол, кон_угол, Rx, Ry) – эллипс, Rx, Ry – радиусы большой и малой дуги.
11. RECTANGLE(x1,y1,x2,y2) - прямоугольник, где x1,y1 - координаты левого верхнего угла, x2,y2 - правого нижнего угла;
12. BAR(x1,y1,x2,y2) - закрашенный прямоугольник;
13. BAR3D(x1,y1,x2,y2,глубина,false или true) - параллелепипед; где x1,y1 - координаты левого верхнего угла; x2,y2 - координаты правого нижнего угла, true - верхняя грань есть, false - верхняя грань отсутствует.
14. FILLELLIPSE(x,y,Rx,Ry) - закрашенный эллипс;
15. SECTOR(x,y,нач.угол,кон.угол,Rx,Ry) - сектор закрашенный;
16. SETFILLESTYLE(штриховка, цвет) - каким цветом или какими штрихами будет закрашена замкнутая область;
Штриховка:
0 - фоном 7 - ++++
1 -сплошная 8 - x x x
2 - _ _ _ 9- квадратами
3 - //// 10 - редкими точками
4 - толстыми/// 11 - частыми точками
5 - \\\\ 12 - пользовательские
6 - толстыми \\\
17. FLOODFILL(x, y, цвет, цвет_границы) - штрихует произвольную замкнутую область; (х, у) – координаты точки внутри области.
Примеры графических программ:
Программа №1.
program g1;
uses graph;
var dr,rg:integer;
begin
dr:=detect;
initgraph(gr,gm,'c:\bp\bgi');
setcolor(3);
setbkcolor(14);
setfillstyle(8,4);
fillellipse(100,100,30,50);
setfillstyle(2,2);
circle(200,200,50);
floodfill(200,200,3);
readln;
closegraph;
end.
Программа №2.
program g2;
uses graph,crt;
var d,r,e:integer;
{экран расчерчивается случайными линиями}
begin
d:=detect;
initgraph(d,r,'..\bgi');
e:=graphresult;
if e<>grok then
writeln(grapherrormsg(e))
else
begin
setgraphmode(0);
repeat
setcolor(succ(random(4)));
line(random(getmaxx),random(getmaxy),
random(getmaxx),random(getmaxy))
until keypressed;
closegraph;
end;
end.
Наберите эти программы и посмотрите, как они работают.
ВЫВОД ТЕКСТА В ГРАФИЧЕСКОМ РЕЖИМЕ
Специально для графического режима разработаны процедуры, обеспечивающие вывод сообщений различными шрифтами в горизонтальном и вертикальном расположении с изменением размеров и т.д.
1. OUTTEXT(ТЕКСТ) - вывод текста, начиная с текущей позиции
2. OUTTEXTXY(x,y,текст) - вывод текста, начиная с x,y
3. SETTEXTSTYLE(шрифт,направление,размер) - процедура устанавливает стиль текстового вывода на графический экран, где
шрифт: 0 - стандартный шрифт, 1 - штриховой шрифт, 2 - уменьшенный, 3 - прямой, 4 - готический;
направление: 0 - слева - направо, 1 - снизу - вверх;
размер: 1_32 для стандартного шрифта, 1_10 для штриховых
4. SETUSERCHARSIZE(x1,x2,y1,y2) - позволяет изменить ширину и высоту символа для штрихового шрифта
-
отношение, определяющее ширину символов
-
отношение, определяющее высоту символов
Задание.
Нарисовать кораблик.
Нарисовать диаграмму (записать программу на свой диск, graf1.pas).
Нарисовать (graf2.pas):
А)
Б)
Нарисовать (graf3.pas):