Основы программирования в паскале

Автор работы: Пользователь скрыл имя, 16 Сентября 2009 в 13:41, Не определен

Описание работы

Учебник по программированию

Файлы: 16 файлов

Pascal процедуры и функции.doc

— 181.00 Кб (Просмотреть файл, Скачать файл)

Pascal динамические структуры данных.doc

— 147.00 Кб (Просмотреть файл, Скачать файл)

Pascal и графика.DOC

— 116.50 Кб (Скачать файл)

     вычерчивает трехмерный закрашенный прямоугольник.

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

     Чаще  всего его значение принимают  равным четверти ширины прямоугольника:

     Depth:=(X2 - X1) DIV 4.

     Параметр  Top определяет нужно ли строить над прямоугольником вершину (Top:=True) или нет (Top:=False). 

     Процедура вычерчивания окружности текущим цветом имеет следующий вид:

     Circle(X,Y,Radius: word),

     где X, Y - координаты центра окружности, а Radius - радиус.  

     Что бы создать закрашенный эллипс, используется процедура

     FillEllipse(X,Y:integer;xR,yR:word),

     где X, Y - центр эллипса, xR и yR - горизонтальная и вертикальная оси. Заполнитель устанавливается процедурой SetFillStyle.  

     В следующем примере приведена  программа, рисующая на желтом фоне синего снеговика. 

Program SnowMan;

     Uses Graph, Crt;

     Var DriverVar, ModeVar :integer;

     c                                :char;

Begin

     DriverVar:=Detect;

     InitGraph(DriverVar, Modevar, ‘ ’);

     SetBkColor(14); SetColor(1);

     Circle(300,300,50);

     Circle(300,215,35);

     Circle(300,160,20);

     Circle(300,180,5); Circle(290,140,5); Circle(310,140,5);

     Line(335,215,370,200); Line(265,215,230,200);

     c:=readkey;

     SetBkColor(0); SetColor(GetMaxColor);

     CloseGraph;

End.

Манипулирование фрагментами изображений (Анимация)

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

     В основе перемещения какого-либо объекта на экране лежит следующий алгоритм:

  • вывести объект на экран;
  • стереть объект с экрана;
  • вывести с некоторым смещением другой вариант объекта и т. д.

     При частом выводе объекта с небольшими смещениями создается иллюзия движения.

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

- определенным  цветом выводится  рисунок;

- рисунок формируется  на том же месте цветом, совпадающим  с цветом фона. Это вызывает  исчезновение рисунка; 

- рисунок выводится  на другом месте своим первоначальным  цветом и т. д.

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

Program Ball;

     Uses Graph, Crt;

     Label 10,100;

     Const bxi=300; byi=200; bri=10; bci=4;

     Var DriverVar, ModeVar :integer;

     xm,ym                       :integer;

     bx,by,br,bc                :integer;

     dx                              :integer;

Begin

     DriverVar:=Detect;

     InitGraph(DriverVar, Modevar, ‘ ’);

     xm:=GetMaxX; ym:=GetMaxY;

     bx:=bxi; by:=byi; br:=bri; bc:=bci;

     dx:=+1;

     SetColor(bc);

     Circle(bx,by,br);

     10: SetColor(GetBKColor); Circle(bx,by,br);

     bx:=bx+dx; by:=by;

     if bx>=xm-br then dx:=-1;

     if bx<=0+br  then dx:=+1;

     SetColor(bc); Circle(bx,by,br);

     if KeyPressed then goto 100;

     goto 10;

  100:SetColor(GetMaxColor);

     CloseGraph;

End. 

Процедуры для рисования  фигур. 

PutPixel(X, Y:Integer; Pixel:Word);

    Рисует на экране точку с координатами (X, Y) цветом Pixel.

Line(X1, Y1, X2, Y2:Integer);

    Рисует на экране отрезок прямой от точки (X1, Y1) до точки (X2, Y2).

Rectangle(X1, Y1, X2, Y2:Integer);

    Рисует на экране прямоугольник с верхним  левым углом в точке (X1, Y1) и  нижним правым углом в точке (X2, Y2).

Bar(X1, Y1, X2, Y2:Integer);

    Рисует на экране залитый прямоугольник с верхним левым углом в точке (X1, Y1) и нижним правым углом в точке (X2, Y2). Стиль и цвет заливки задаются процедурой SetFillStyle.

Bar3D(X1, Y1, X2, Y2:Integer; Depth:Word; Top:Boolean);

    Рисует на экране параллелепипед с залитой  передней гранью. Глубина фигуры - Depth. Если Top равно TopOn , то параллелепипед рисуется с верхней гранью, если TopOff, то без верхней грани. Стиль и цвет заливки передней грани задаются процедурой SetFillStyle.

Circle(X, Y:Integer; Radius:Word);

    Рисует на экране окружность с центром в точке (X, Y) радиусом Radius.

Ellipse(X, Y:Integer; StAngle, EndAngle:Word; XRadius, YRadius:Word);

    Рисует на экране эллиптическую дугу с центром  в точке (X, Y), радиусами XRadius, YRadius. StAngle, EndAngle - начальный и конечный углы.

Arc(X, Y:Integer; StAngle, EndAngle:Word; Radius:Word);

    Рисует на экране дугу окружности с центром  в точке (X,Y), радиусом Radius. StAngle, EndAngle - начальный и конечный углы.

FillEllipse(X, Y:Integer; XRadius,YRadius:Word);

    Рисует на экране залитый эллипс с центром в точке (X, Y), радиусами XRadius, YRadius. Стиль и цвет заливки задаются процедурой SetFillStyle.

Sector(X, Y:Integer; StAngle, EndAngle:Word; XRadius, YRadius:Word);

    Рисует на экране закрашенный сектор эллипса  с центром в точке (X, Y), радиусами XRadius, YRadius. StAngle, EndAngle - начальный и конечный углы. Стиль и цвет заливки задаются процедурой SetFillStyle.

PieSlice(X, Y:Integer; StAngle, EndAngle:Word; Radius:Word);

Рисует на экране закрашенный сектор круга с центром  в точке (X, Y), радиусом Radius. StAngle, EndAngle - начальный и конечный углы. Стиль и цвет заливки задаются процедурой SetFillStyle. 
 
 
 

Другие  процедуры.

ClearDevice;

    Очищает экран  в графическом режиме.

CloseGraph;  

    Закрывает графический  режим.

SetColor(Color:Word);

    Устанавливает новый цвет для рисования.

SetLineStyle(LineStyle:Word; Pattern:Word; Thickness:Word);

    Устанавливает стиль и толщину линий. Если Thickness равно ThickWidth, то линии будут толстыми, если NormWidth, то обычными.

SetFillStyle(Pattern:Word; Color:Word);

    Устанавливает стиль и цвет заливки. Если Pattern равно UserFill, то используется определенный пользователем  стиль, описанный процедурой SetFillPattern.

SetFillPattern(Pattern:FillPatternType; Color:Word);

    Устанавливает определяемый пользователем стиль  и цвет заливки. FillPatternType=Array [1..8] of Byte;

FloodFill(X, Y:Integer; Border:Word);

    Заливает область  вокруг точки (X, Y) до линии цвета Border, используя текущий стиль и цвет заливки.

SetTextStyle(Font, Direction:Word; CharSize:Word);

    Устанавливает используемый шрифт, его направление  и размер. Направление соответствует  значению переменной Direction и может  быть горизонтальным (Direction=0) или вертикальным (Direction=1). Шрифт может быть как одним из стандартных, так и определенный пользователем (с помощью функции InstallUserFont).

SetUserCharSize(MultX, DivX, MultY, DivY:Word);

    Устанавливает ширину букв используемого шрифта в MultX/DivX раз больше, а высоту в MultY/DivY раз больше.

OutTextXY(X, Y:Integer; TextString:String);

Выводит текст TextString на экран от точки (X, Y). 

Program Graph.doc

— 19.00 Кб (Просмотреть файл, Скачать файл)

Unit GraphApp.doc

— 21.50 Кб (Просмотреть файл, Скачать файл)

Unit GraphObj.doc

— 21.50 Кб (Просмотреть файл, Скачать файл)

Краткие основы Паскаля.doc

— 217.00 Кб (Просмотреть файл, Скачать файл)

Общие понятия программирования.doc

— 80.00 Кб (Просмотреть файл, Скачать файл)

Основные принципы ООП.doc

— 151.00 Кб (Просмотреть файл, Скачать файл)

Основы разработки программ.doc

— 148.00 Кб (Просмотреть файл, Скачать файл)

Паскаль на 5-КУ 85 листов.doc

— 651.50 Кб (Скачать файл)

Модуль CRT.doc

— 30.00 Кб (Просмотреть файл, Скачать файл)

Модуль Graph.doc

— 77.50 Кб (Просмотреть файл, Скачать файл)

Структура модуля.doc

— 38.00 Кб (Просмотреть файл, Скачать файл)

Практичесое занятие по работе с модулем граф.doc

— 52.00 Кб (Просмотреть файл, Скачать файл)

Целочисленная арифметика TURBO PASCAL.doc

— 92.00 Кб (Просмотреть файл, Скачать файл)

Информация о работе Основы программирования в паскале