Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб.раб. программирование.pdf
Скачиваний:
111
Добавлен:
21.05.2015
Размер:
764.95 Кб
Скачать

procedure Ellipse(x1,y1,x2,y2: integer);

Рисует заполненный эллипс, ограниченный прямоугольником, заданным

координатами противоположных вершин (x1,y1) и (x2,y2) procedure Rectangle(x1,y1,x2,y2: integer);

Рисует заполненный прямоугольник, заданный координатами противоположных

вершин (x1,y1) и (x2,y2)

procedure DrawClosedCurve(points: array of Point);

Рисует замкнутую кривую по точкам, координаты которых заданы в массиве points procedure FillClosedCurve(points: array of Point);

Заполняет замкнутую кривую по точкам, координаты которых заданы в массиве

points

procedure TextOut(x,y: integer; s: string);

Выводит строку s в прямоугольник к координатами левого верхнего угла (x,y) procedure FloodFill(x,y: integer; c: Color);

Заливает область одного цвета цветом c, начиная с точки (x,y).

Подпрограммы для работы с пером

Рисование линий осуществляется текущим пером. Доступ к свойствам текущего пера можно осуществлять как в процедурном, так и в объектно-ориентированном стиле.

Процедуры и функции для доступа к свойствам пера сгруппированы парами: если Prop - имя свойства пера, то функция PenProp возвращает значение этого

свойства, а процедура SetPenProp(p) устанавливает это свойство: procedure SetPenColor(c: Color);

Устанавливает цвет текущего пера function PenColor: Color;

Возвращает цвет текущего пера

procedure SetPenWidth(Width: integer);

Устанавливает ширину текущего пера function PenWidth: integer;

Возвращает ширину текущего пера

procedure SetPenStyle(style: DashStyle);

Устанавливает стиль текущего пера. function PenStyle: DashStyle;

Возвращает стиль текущего пера. procedure SetPenMode(m: integer);

Устанавливает режим текущего пера function PenMode: integer;

Возвращает режим текущего пера function PenX: integer;

Возвращают x-координату текущей позиции рисования function PenY: integer;

Возвращают y-координату текущей позиции рисования function RGB(r,g,b: byte): Color;

Возвращает цвет, который содержит красную (r), зеленую (g) и синюю (b) составляющие (r,g и b - в диапазоне от 0 до 255)

© ИМПИ ОГПУ

Стили пера:

psClear = DashStyle.Clear;

Сплошное перо

Прозрачное перо

psDash = DashStyle.Dash;

Штриховое перо

psDot = DashStyle.Dot;

Пунктирное перо

psDashDot = DashStyle.DashDot;

Штрихунктирное перо

psDashDotDot = DashStyle.DashDotDot;

Задания для самостоятельной работы

1.Нарисовать произвольный рисунок.

2.Нарисовать график функции y=sin(x)+cos(x).

Лабораторная работа 11. Создание собственных модулей.

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

Напомним, что для подключения модуля используется служебное слово Uses

<имя модуля>;

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

Unit <имя модуля>; {заголовок} Interface {интерфейсная часть}

Uses <список используемых модулей>;

<раздел описания типов> Implementation {исполняемая часть}

<описание объектов скрытых от вызывающей программы>

<тела процедур и функций, объявленные в интерфейсной части> begin {инициирующая часть}

<операторы инициализации модулей> end.

Замечание: имя модуля должно обязательно совпадать с именем файла, в котором помещается исходный текст модуля.

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

Объекты, описанные только в исполняемой части, могут использоваться только в модуле и недоступны вызывающей программе. Запрещено прямое или косвенное обращение модуля к самому себе.

© ИМПИ ОГПУ

Написать модуль, выполняющий действия над векторами.

Имя модуля: vectors.pas

Unit Vectors;

Interface

Const n = 3;

Type Vector = array [1..n] of real;

var nulvector : vector;

Procedure Add(a, b : vector; var c : vector); Procedure Mult(k : real; a : vector; var c : vector) Procedure WriteVector(a : vector);

Procedure ReadVector(var a : vector);

Implementation

Procedure Add;

Var i : integer; begin

for i := 1 to n do c[i] := a[i]+b[i] end;

var i : integer; begin

for i := 1 to n do nulvector[i] := 0; end.

Основная программа

Program Main;

Uses Vectors;

Var x, y, z, n : vector; begin

ReadVector(x); ReadVector(y); Add(x, y, z); WriteVector(z); x := vectors.nulvector;

WriteVector(x); end.

Задания для самостоятельной работы

Дописать предлагаемый модуль vectors.pas процедурами разности и произведения векторов. Использовать модуль в программе.

© ИМПИ ОГПУ

Лабораторная работа 12. Решение простейших задач в Console Application

ВWindows95 и более поздних версиях существуют консольные приложения

программы, которые работают в окне так называемого «сеанса DOS». То есть это Windows-программы, не имеющие окон.

Для создания нового файла выбираем (File – Console Application).

У консольного приложения нет формы. Текст программы записываем в окне программного кода по аналогии с Pascal. Для ввода-вывода информации в консоле используются операторы write(ln) и read(ln). Клавишу F9 используем, чтобы

откомпилировать и запустить программу.

Рассмотрим пример программы

{$APPTYPE CONSOLE} program Hello; uses Windows; begin

WriteLn ("Hello, Delphi");

Write ("Press Enter...");

ReadLn; //задержка экрана должна быть произведена обязательно end.

Задания для самостоятельной работы

Вариант 1.

1.Даны a, b и c, введенные с клавиатуры. Найти сумму положительных из них.

2.Дана строка s. Построить перевёрнутую строку. Например, из слова ПРИВЕТ должно получиться ТЕВИРП.

3.Дан двумерный массив произвольной размерности. Заполните его таким образом, чтобы элементы выше главной диагонали были равными 0, остальные равными 1.

Вариант 2.

1.Даны a, b, и c из интервала [-13,13], генерируемые случайным образом. Найти количество отрицательных из них.

2.Дана строка s. Заменить все знаки препинания на 0, буквы – цифрой 1.

3.Дан двумерный массив произвольной размерности. Найти сумму положительных элементов его главной и побочной диагоналей.

©ИМПИ ОГПУ