Язык Turbo Pascal

Автор работы: Пользователь скрыл имя, 16 Декабря 2014 в 15:43, курсовая работа

Краткое описание

Цель исследования– изучить основы языка программирования, научиться создавать графические изображения на языке Turbo Pascal.
Задачи исследования :
1.изучить структуру программы
2. освоить основные графические процедуры и функции
Объект исследования: программа Turbo Pascal

Прикрепленные файлы: 1 файл

курсовая.docx

— 123.29 Кб (Скачать документ)

 

 

Процедура FloodFill(X,Y:integer; Border: word); заполняет ограниченную область текущим цветом и стилем заполнения (SetFillStyle). Граница закрашиваемой области  высвечивается  цветом, заданным   в  Border.

Если точка (X,Y) находится внутри области, то эта область закрашивается, если же она расположена вне области, то заполняется  внешняя  часть области.

Построение дуг, эллипсов и окружностей

Процедура Arc(X,Y:integer; al, a2,R: word); строит дугу. Здесь (X,Y)—центр окружности дуги, al, a2 — начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки, R—радиус. Если al=00, а а2=360°, то вычерчивается полная окружность.

Процедура Ellipse (X,Y: integer; al,a2,Rx,Ry: word); предназначена для построения эллиптических дуг. Здесь (X,Y)—центр эллипса, al,a2 — начальный и конечный углы, отсчитываемые от горизонтальной оси против часовой стрелки, Rx и Ry — горизонтальная и вертикальная полуоси.   Если   al=0°,   а   а2 = 3600,  то   вычерчивается полный эллипс.

Процедура FillEllipse(X,Y: integer; Rx,Ry: word); строит полный закрашенный эллипс.

Процедура Circle(X,Y: integer; R: word); выводит на экран изображение окружности с центром (X,Y) и радиусом R. Окружность рисуется цветом, заданным SetColor.

Процедура PieSlice(X,Y: integer; al, n2,R: word); выводит на экран изображение закрашенного сектора круга, используя в качестве центра круга точку (X,Y), начальный угол al, конечный угол a2 и радиус R. Контур сектора высвечивается текущим цветом. При заполнении сектора используются шаблон и цвет, установленные процедурой SetFillStyle. Если al =0°, а а2=360°, то на экран  выводится  закрашенная окружность.

Процедура Sector(X,Y: integer; al,a2,Rx;Ry: word); строит закрашенный сектор эллипса.

 

Реализация имитации движения графических объектов

Создать видимость движения на экране можно двумя способами.

Первый способ заключается в том, что имитация движения объекта на экране создаётся за счёт многократного выполнения программой напора действий: нарисовать — пауза — стереть рисунок (нарисовать его в том же месте цветом фона)— изменить координаты изображения.

 Перед началом составления программы надо продумать описание «движущегося» объекта; характер изменения координат, определяющих текущее положение объекта; диапазон  изменения   и  шаг.

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

Для хранения фрагмента удобнее всего использовать динамическую область памяти. Получить размер памяти в байтах, необходимой для сохранения образа фрагмента, позволяет функция ImageSize(X1,Yl,X2,Y2:integer): word. Здесь (X1,YI) и (X2,Y2) — координаты верхнего левого и нижнего правого углов прямоугольника. Если полученный размер памяти больше 64Кб, то значение ImageSize = 0, a GraphResult=-1. Чтобы этого избежать, следует сохранять изображение по частям.

Полученный с помощью функции ImageSize размер памяти применяют в качестве входной информации для процедуры GetMem(p,Size), которая выделяет указанный объем памяти в динамической области. Здесь р — указатель на область памяти,  Size — ее размер.

Процедура GetImage(Xl,Yl,X2,Y2:integer; var BitMap: word); сохраняет образ фрагмента в памяти, где XI,Y1,X2,Y2 — координаты фрагмента, BitMap — переменная, которая указывает, где сохраняется образ изображения. 

Процедура Putlmage(X,Y: integer; var BitMap, Mo-de:word); восстанавливает сохраненный в буфере Bit-Map прямоугольник, левый верхний угол которого задаётся координатами (X,Y). Параметр Mode задает режим вывода изображения.

 

Циклы в графике. Построение случайных процессов

Для того, чтобы картинки не были монотонными и регулярными, можно задавать фигурам случайные размеры, цвет, координаты. Для этого имеется специальная функция Random. Она генерирует случайные числа из (0, 1). Для расширения первоначального промежутка используется функция Random(I: word), которая выдает число из диапазона 0… I. На самом деле эти функции генерируют некоторую последовательность псевдослучайных чисел, и чтобы добиться иллюзии полной «случайности» используют команду Randomize, которая изменяет базу датчика случайных чисел.

 

Заключение

Обычно человек мыслит приблизительными категориями, а язык программирования, даже самый простой, никакой приблизительности не терпит. Компьютеру нужно «говорить» абсолютно четко, по пунктам. Если хотя бы одно место прописано недостаточно четко, компьютер остановится и выдаст ошибку.

Относительно лёгкий в освоении, язык Паскаль, который является одним из родоначальников программирования, прекрасно подходит для новичков в программировании.

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

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

Используя выше  перечисленные  процедуры  и функции, можно научиться  изображать различные фигуры различных форм и размеров.

Целью данной курсовой работы является изучить  основы  языка программирования, научиться создавать графические изображения  на языке Turbo Pascal.

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

 

 

 

 

 

 

 

Список использованной литературы

  1. Фаронов В.В. Турбо-Паскаль 7.0. Начальный курс. М.: "Нолидж", 2001
  2. Мизрохи С.В. TURBO-PASCAL и объектно-ориентированное программирование. - М.: Финансы и статистика, 2002
  3. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi. СПб.:БХВ - Санкт-Петербург, 2005.
  4. Прайс Д. Программирование на языке Паскаль: Практическое руководство. Пер. с англ. - М.:Мир, 2007.
  5. Грызлов В.И., Грызлова Т.П. Турбо Паскаль 7.0. - М.: "ДМК", 2000. - 416 с.
  6. Зуев Е.А. Язык программирования Turbo Pascal 6.0.  
    - М.: Унитех, 1992. - 298с.,ил.
  7. Зуев Е.А. Turbo Pascal. Практическое программирование.  
    - Приор,1997. - 336с. 
  8. Поляков Д.Б., Круглов И.Ю. Программирование в среде Турбо Паскаль 5.5.  
    - М:., МАИ, 1992. - 576 с.
  9. Лилитко Е.П. Практикум по программированию. Начальный курс.  
    - Переяславль-Залесский, 1997.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Приложение 1

Процедуры и функции языка Turbo Pascal

Интерфейс

Назначение

Управление графическим режимом

Procedure CloseGraph;

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

Procedure DetectGraph (Var GrDriver, GrMode:Integer);

GrDriver-код драйвера, GrMode-код графического режима

Определяет рекомендуемые к применению для данного компьютера графические драйвер и режим

Function GetDriverName:String;

Значение функции-имя используемого драйвера

Определяет имя файла с используемым графическим драйвером

Function GetGraphMode:Integer;

Значение функции-код графического режима

Определяет код используемого графического режима

Function GetMaxName:Integer;

Значение функции-имя используемого графического режима

Определяет имя используемого графического режима

Function GetMaxMode:Integer;

Значение функции-максимальное значение кода режима

Определяет максимальное значение кода графического режима для используемого драйвера

Procedure GetMaxRange (GrDriver:Integer; Var LoMode, HiMode:Integer);

GrDriver-код графического режима;

LoMode, HiMode-наименьшее и наибольшее значения кода графического режима для данного драйвера

Определяет минимальное и максимальное значения кода графического режима для указанного при обращении драйвера

Procedure GraphDefaults;

Устанавливает графический указатель в начало координат и переустанавливает графическую систему

Function GraphErrorMsg (ErrorCode:Integer):String;

ErrorCode-код графической ошибки.

Значение функции - текстовое сообщение о характере ошибки

Дает стоку – сообщение об ошибке графического режима по коду ошибки

Function GraphResult:Integer;

Значение функции-код ошибки

Определяет, произошла ли ошибка при исполнении процедур модуля

Procedure InitGraph (var GrDriver, GrMode:Integer, PathToDriver:String);

GrDriver-код драйвера, GrMode-код графического режима;

PathToDriver-путь к файлу используемого драйвера

Устанавливает заданный графический режим

Function InstallUserDriver (Name:String; AutoDetectPtr:Pointer):Integer;

Name-имя файла графического драйвера,

AutoDetectPtr-указатель на процедуру, определяющую успешность запуска драйвера.

Значение функции-цифровой код установленного драйвера

Инсталлирует пользовательский драйвер графического режима

Procedure RegisterBGIDriver (Driver:Pointer):Integer;

Driver-указатель на драйвер

Регистрирует драйвер графической системы

Procedure RestoreCrtMode;

Закрывает графический режим и восстанавливает текстовый режим, установленный раннее

Procedure SetGraphMode (GrMode:Integer);

GrMode-код графического режима

Устанавливает другой графический режим без изменения драйвера

Управление экраном и окнами

Procedure ClearDevice;

Очищает экран, сбрасывает все графические установки к значениям по умолчанию, устанавливает графический указатель в положение (0,0)

Procedure ClearViewPort;

Очищает экран, устанавливая фон, заданный в SetBkColor

Function GetMaxX:Integer;

Значение функции-максимальная координата Х

Определяет коэффициенты, характеризующие неодинаковость линейного расстояния между пикселями по осям X и Y

Function GetMaxY:Integer;

Значение функции-максимальная координата Y

Function GetBkColor:Word;

Значение функции-код цвета фона

Определяет установленный цвет фона

Экран и окна

Procedure GetVievSettings (VarVievPort: VievPortType);

VievPort-параметры текущего окна

Запрашивает текущие параметры окна и отсечения

Procedure SetBkColor (Color: Word);

Значение функции-код цвета фона

Устанавливает цвет фона

Procedure SetActivePage (Page:Word);

Page – номер активной страницы

Устанавливает активную графическую страницу

Procedure SetAspectRatio ( Var Xasp, Yasp:Word);

Xasp, Yasp – коэффициенты по осям X и Y

Изменяет масштабный коэффициент отношения сторон экрана

Procedure SetVisualPage (Page:Word);

Page – номер страницы

Устанавливает номер видимой графической страницы

Procedure SetVievPort (x1, y1, x2, y2:Integer; Clip:Boolean);

(x1, y1) и (x2, y2) – координаты противоположных углов окна;

Clip – определяет, отсекать ли изображение за пределами окна или нет

Устанавливает визуальный порт (окно) для вывода графического изображения

Function GetColor:Word;

Значение функции – код цвета

Возвращает текущий цвет (установленный SetColor)

Procedure GetDefaultPalette (VarPalette:PaletteType);

Palette -  палитра (массив типа PaletteType)

Определяет, какая палитра действует в режиме по умолчанию

Function GetMaxColor:Word;

Значение функции – максимальный код цвета

Определяет максимальный код цвета в установленном режиме

Procedure GetPalette (Var Palette:Palette Type);

Palette – палитра (массив типа PaletteType)

Определяет, какая палитра установлена

Function GetPaletteSize:Word;

Значение функции – число цветов в палитре

Возвращает размер таблицы палитры

Procedure SetAllPalette (Var Palette:PaletteType);

Palette – палитра (массив типа PaletteType)

Устанавливает все цвета палитры

Procedure SetColor (Color:Word);

Color -  код цвета

Устанавливает цвет для линий

Procedure SetPalette (ColorNum, Color:Word);

ColorNum – код заменяемого цвета;

 Color – код нового цвета

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

Procedure SetRGBPalette (ColorNum, RedValue, GreenValue, BlueValue:Word);

ColorNum – код устанавливаемого в палитре цветов;

RedValue, GreenValue, BlueValue – интенсивность красного, зеленого и синего в этом цвете

Устанавливает в палитру цвет, заданный тремя компонентами: красным, зеленым и синим

Управление указателем

Function GetX:Integer;

GetX – координата Х указателя

Возвращает координату Х текущего указателя

Function GetY:Integer;

GetY – координата Y указателя

Возвращает координату Y текущего указателя

Procedure MoveTo (X:Integer; Y:Integer);

(X,Y) – координаты точки экрана

Перемещает указатель в точку, заданную координатами X,Y

Procedure MoveRel (dx:Integer; dy:Integer);

dx, dy – вектор приращений координат точки экрана

Перемещает указатель в точку, координаты которой отличаются от текущих координат на значения dx, dy

Шаблоны; закраска областей

Procedure FloodFill (X, Y:Integer; ColorBorder:Word);

(X,Y) – координаты точки, вокруг которой идет закраска;

ColorBorder – цвет, обозначающий границы области закраски

Закрашивает произвольную область по заданным шаблону и цвету вокруг заданной точки до границ, обозначенных определенным цветом

Procedure GetFillPattern (Var FillPattern:FillPatternType);

FillPattern – массив типа FillPatternType, содержащий информацию о шаблоне

Определяет установленный тип шаблона

Procedure GetFillSettings (Var FillInfo: FillSettingsType);

FillInfo – запись типа FillSettingsType, содержащая информацию о шаблоне

То же

Procedure GetLineSettings (Var LineInfo: LineSettingsType);

LineInfo – запись типа LineSettingsType, содержащая информацию о типе линии

Определяет установленный тип линии

Procedure GetGraphBufSize (Size:Word);

Size – размер буфера

Изменяет размер буфера для функций заполнения

Procedure SetFillPattern (Pattern:FillPatternType; Color:Word);

Pattern – массив типа FillPatternType, содержащий информацию о шаблоне;

Color – цвет раскраски

Устанавливает шаблон и цвет раскраски

Procedure SetFillStyle (Pattern, Color:Word);

Pattern – код стандартного шаблона;

Color  - цвет раскраски

Устанавливает один из стандартных шаблонов и цвет раскраски

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

LineStyle – код стиля линии;

Pattern – собственный шаблон линии;

Thickness – толщина линии

Устанавливает цвет линии как один из стандартных или по собственному  шаблону

Изображение геометрических фигур

Procedure Arc (X, Y:Integer; StartAngle, EndAngle, R:Word);

(X, Y) – координаты центра окружности;

StartAngle, EndAngle – начальный и конечный углы дуги окружности в градусах (0,359);

R – радиус окружности в пикселях в направлении Х

Изображает дугу окружности. Процедура учитывает неодинаковость масштаба по осям

Procedure Bar (x1, y1, x2, y2:Integer);

(x1,y1) и (x2,y2) – координаты левого верхнего и правого нижнего углов прямоугольника

Изображает окрашенный прямоугольник без контура

Procedure Bar3D (x1, y1, x2, y2:Integer; Depth:Word; Top:boolean);

(x1, y1) и (x2, y2) – координаты левого верхнего и правого нижнего углов параллелепипеда, Depth – его глубина, Top – определяет, изображать ли верхнюю грань фигуры (true - изображать)

Изображает трехмерный прямоугольный параллелепипед с заполнением передней грани. Верхняя грань может изображаться или не изображаться

Procedure Circle (x, y:Integer; R:Word);

(x, y) – координаты центра окружности; R – радиус окружности в пикселях в направлении Х

Изображает окружность. Процедура учитывает неодинаковость масштаба по осям

Procedure DrawPoly (NumPoints:Word; Var PolyPoints);

NumPoints – число точек, задающих ломанную линию; PolyPoints – массив точек (элементов типа Point), задающих ломанную линию

Изображает ломанную линию, проходящую через данный массив точек

Procedure Ellipse (X, Y:Integer; StartAngle, EndAngle, Rx, Ry:Word);

(X, Y) – координаты центра эллипса; StartAngle, EndAngle – начальный и конечный углы дуги эллипса в градусах (0,359); Rx, Ry – полуоси эллипса в пикселях в направлении Х и Y

Изображает дугу эллипса , полуоси которого в направлениях Х и Y заданны в пикселях

Procedure GetArcCoords (Var ArcCoords: ArcCoordsType);

ArcCoordsType – запись, содержащая координаты дуги

Возвращает координаты дуги, изображенной процедурами Arc и Ellipse

Procedure FillEllipse (X, Y:Integer; Rx, Ry:Word);

(X, Y) – координаты центра эллипса;

Rx, Ry – полуоси эллипса в пикселях в направлениях  X и Y

Чертит закрашенный эллипс, полуоси которого в направлениях X, Y заданы в пикселях

Procedure FillPoly (NumPoints:Word; Var PolyPoints);

NumPoints – число точек, задающих ломанную линию;

PolyPoints – массив точек (элементов типа Point), задающих ломанную линию

Изображает закрашенный многоугольник, заданный массивом вершин

Function GetPixel (x, y:Integer):Word;

(x, y) – координаты точки, результат – цвет точки

Возвращает цвет заданной точки

Procedure Line (x1, y1, x2, y2:Integer);

(x1, y1), (x2, y2) – координаты конечных точек отрезка прямой

Чертит отрезок прямой по двум заданным конечным точкам

Procedure LineRel (dx, dy:Integer);

(dx, dy) – смещение конечной точки относительно начального положения указателя 

Чертит отрезок прямой от положения указателя до точки, смещенной относительно указателя на заданное значение

Procedure LineTo (x, y:Integer);

(x, y) – координаты точки, в которую проводится отрезок 

Чертит отрезок прямой от точки положения указателя до заданной точки

Procedure Rectangle (x1, y1, x2, y2:Integer);

(x1, y1), (x2, y2) – координаты противоположных углов прямоугольника

Чертит контур прямоугольника

Procedure Sector (X, Y:Integer; StartAngle, EndAngle, Rx, Ry:Word);

(X, Y) – координаты центра эллипса;

StartAngle, EndAngle – начальный и конечный углы дуги эллипса в градусах (0,359); Rx, Ry – полуоси эллипса в пикселях в направлениях X и Y

Изображает закрашенный сектор эллипса, ограниченный углами от StartAngle до EndAngle. Заполняется сектор от минимального значения углов до максимального независимо от их следования

Procedure PieSlice (X, Y:Integer; StartAngle, EndAngle, Rx:Word);

(X, Y) – координаты центра эллипса;

StartAngle, EndAngle – начальный и конечный углы дуги эллипса в градусах (0,359); Rx – радиус окружности в пикселях в направлении X

Изображает закрашенный сектор круга, ограниченный углами от StartAngle до EndAngle, радиус круга, заданный в пикселях в направлении Х, и учитывает масштаб изображения по осям. Заполняется сектор от минимального значения углов до максимального независимо от их следования

Procedure PutPixel (X, Y:Integer, Color:word);

(X, Y) – координаты точки;

Color – цвет точки

Окрашивает точку экрана в заданный цвет

Вывод текстов

Procedure GetTextSettings (VarTextInfo: TextSettingsType);

TextInfo – запись, содержащая действующие установки вывода текста

Определяет установки вывода текста

Procedure OutText (Text:String);

Text – выводимая строка текста

Выводит текст на графический экран, начиная с позиции графического указателя, которая смещается на ширину выводимого текста

Procedure OutTextXY (X, Y:Integer; Text: String);

(X, Y) – координаты точки, к которой привязывается выводимый текст;

Text – выводимая строка текста

Выводит текст на графический экран относительно заданной точки с учетом используемого типа юстировки

Function InstallUserFont (FontFileName:String):Integer;

FontFileName – имя файла, содержащего шрифт;

Результат – номер кода (код) установленного шрифта

Инсталлирует новый шрифт

Procedure RegisterBGIFont (Font:Pointer);

Font – указатель на шрифт

Регистрирует шрифты для графической системы

Procedure SetTextJustify (Horiz, Vert:Word);

Horiz, Vert – коды привязки текста по горизонтали и вертикали

Устанавливает тип привязки текста к точке вывода по горизонтали и вертикали

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

Font – тип используемого шрифта;

Direction – направление вывода надписи; CharSize – размер символов

Устанавливает стиль выводимого текста

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

MultX, DivX, MultY, DivY – коэффициенты умножения (Mult) и деления (Div) по осям Х и Y соответственно

Выполняет масштабирование шрифтов с произвольным дробным масштабом

Function TextHeight (Text:String):Integer;

Text – выводимая строка текста;

Результат – высота текста в пикселях

Определяет высоту текстовой строки при заданных установках стиля

Function TextWidth (Text:String):Integer;

Text – выводимая строка текста;

Результат – длина текста в пикселях

Определяет длину текстовой строки при заданных установках стиля

Копирование части экрана

Procedure GetImage (x1, y1, x2, y2:Integer; Var BitMap:Pointer);

(x1, y1) и (x2, y2) – координаты противоположных углов прямоугольника, ограничивающего копируемую область экрана; BitMap – указатель области памяти, отведенной для хранения данного изображения

Копирует в ОЗУ прямоугольную область экрана

Function ImageSize (x1, y1, x2, y2:Integer) :Word;

(x1, y1) и (x2, y2) – координаты противоположных углов прямоугольника, ограничивающего область экрана.

Результат – объем информации в байтах

Определяет размер в байтах памяти, необходимой для хранения прямоугольной области экрана

Procedure PulImage (x, y:Integer; Var BitMap:Pointer; BitBit:Word);

(x, y) – координаты левого верхнего угла для выводимого изображения;

BitMap – указатель области памяти;

BitBit – код логической операции

Выводит изображение из области памяьт ЭВМ в указанную область экрана с заданной логической операцией наложения нового изображения на старое


 

 

 

 

 

 

 

 

 

Приложение 2

Примеры графики в Турбо Паскаль

 

Пример 1

program kv;

uses graph,crt;

var gd, gm, x1, y1,c,a:integer;

begin

clrscr;

randomize;

gd:=0; 

initgraph (gd, gm,’c:\bp\bgi’);

x1:=310; y1:=230; a:=20;

repeat;

c:=random(15);

setcolor(c);

rectangle (x1, y1, x1+a, y1-a);

x1:=x1-10; y1:=y1+10; a:=a+20;

until a>400;

readkey;

closegraph;

end.

 

 

 

 

 

Пример 2

program krugi;

uses graph,crt;

var gd, gm, c, i, r, x, y, n:integer;

begin

clrscr;

randomize;

writeln (‘введите количество окружностей’); readln (n);

gd:=0;

initgraph (gd, gm,’c:\bp\bgi’);

for i:=1 to n do begin

r:=random (80); x:=random (600); y:=(400);

c:=random (15); setcolor (c);

circle (x, y, r);

setfillstyle (1, c); floodfill (x, y, c);

end;

readkey;

closegraph;

end.

 

 

 

 

 

 

 

 

 

Пример 3

program zvezda;

uses graph,crt;

var gd, gm:integer;

begin

clrscr;

gd:=0;

initgraph (gd, gm,’c:\bp\bgi’);

setcolor (15); line (190, 190, 210, 210);

setcolor (15); line (210, 190, 190, 210);

setcolor (15); line (200, 100, 200, 200);

setcolor (15); line (200, 100, 190, 190);

setcolor (15); line (200, 100, 210, 190);

setcolor (15); line (160, 160, 180, 190);

setcolor (15); line (160, 160, 190, 180);

setcolor (15); line (210, 190, 240, 160);

setcolor (15); line (240, 160, 210, 180);

setcolor (15); line (160, 240, 190, 220);

setcolor (15); line (210, 210, 240, 240);

setcolor (15); line (240, 240, 210, 220);

setcolor (15); line (240, 240, 220, 210);

readkey;

closegraph;

end.

 

 

Пример 4

Program cvetok ;

uses graph,crt;

var gd, gm:integer;

begin

clrscr;

gd:=0;

initgraph (gd, gm,’c:\bp\bgi’);

setcolor (4);

ellipse (100, 30, 0, 180, 25, 20);

ellipse (100, 70, 180, 0, 25, 20);

ellipse (75, 50, 90, 270, 25, 20);

ellipse (125, 50, 270, 90, 25, 20);

setfillstyle (1, 4);

floodfill (100, 70, 0);

setcolor (14);

setfillstyle (1, 14);

circle (100, 50, 15);

floodfill (100, 50,14);

readkey;

closegraph;

end.

 

 

 

Пример 5

Program robot ;

uses graph,crt;

var gd, gm:integer;

begin

clrscr;

gd:=0;

initgraph (gd, gm,’c:\bp\bgi’);

setfillstyle (1, 11); bar (200, 40, 300, 180);

setfillstyle (1, 11); bar (180, 70, 200, 140);

setfillstyle (1, 11); bar (300, 80, 320,140);

setfillstyle (1, 11); bar (220, 60, 240, 80);

setfillstyle (1, 11); bar (260, 60, 280, 80);

setfillstyle (1, 11); bar (240, 100, 160, 120);

setfillstyle (1, 11); bar (200, 140, 280, 160);

setfillstyle (1, 11); bar (220, 180, 280, 200);

setfillstyle (1, 11); bar (200, 200, 300, 340);

setfillstyle (1, 11); bar (140, 200, 220, 240);

setfillstyle (1, 11); bar (200, 340, 240, 380);

readkey;

closegraph;

end.

 

 

 

 

Program snegovik;

uses graph,crt;

var gd, gm:integer;

begin

clrscr;

gd:=0;

initgraph (gd, gm,’c:\bp\bgi’);

setcolor (11); setfillstyle (1, 11); circle(260, 120, 40); floodfill (260,120, 11);

setcolor (11); setfillstyle (1, 11); circle(260, 220, 60); floodfill (260,220, 11);

setcolor (11); setfillstyle (1, 11); circle(260, 360, 80); floodfill (260,300, 11);

setcolor (11); setfillstyle (1, 11); circle(200, 170, 20); floodfill (200,170, 11);

setcolor (11); setfillstyle (1, 11); circle(320, 170, 20); floodfill (320,170, 11);

setcolor (11); setfillstyle (1, 11); circle(200, 440, 20); floodfill (200,440, 11);

setcolor (11); setfillstyle (1, 11); circle(260, 120, 10); floodfill (260,120, 4);

setcolor (11); setfillstyle (1, 11); circle(245, 100, 10); floodfill (245,100, 0);

setcolor (11); setfillstyle (1, 11); circle(275, 100, 10); floodfill (275,100, 0);

readkey;

closegraph;

end.

 

 

 

 

Список использованной литературы:

 

 


Информация о работе Язык Turbo Pascal