
- •Лабораторная работа №1
- •Интегрированная среда разработчика delphi
- •Структура программ delphi
- •Пример написания программы
- •Настройка формы
- •Изменение заголовка формы
- •Размещение строки ввода (tEdit)
- •Размещение надписей (tLabel)
- •Размещение многострочного окна вывода (tMemo)
- •Написание программы обработки события создания формы (FormCreate)
- •Написание программы обработки события нажатия кнопки (ButtonClick)
- •Запуск и работа с программой
- •Выполнение индивидуального задания
- •Лабораторная работа №2
- •Операторы if и case языка Паскаль
- •Кнопки-переключатели в Delphi
- •Создание обработчиков событий FormСreate и Botton1Сlick
- •Выполнение индивидуального задания
- •Лабораторная работа №3
- •Операторы организации циклов repeat, whyle, for языка Pascal
- •Средства отладки программ в delphi
- •Порядок выполнения задания
- •Индивидуальные задания
- •Работа с массивами
- •Var a:tVector;// а – массив типа Tvector;
- •Компонент tStringGrid
- •Порядок выполнения задания
- •Индивидуальные задания
- •Компонент tBitBtn
- •Обработка событий
- •Порядок выполнения индивидуального задания
- •Индивидуальные задания
- •Лабораторная работа №6
- •Программирование с использованием переменных типа запись
- •Работа с файлами
- •Подпрограммы работы с файлами
- •Компоненты tOpenDialog и tSaveDialog
- •Порядок выполнения задания
- •Настройка компонентов tOpenDialog и tSaveDialog
- •Работа с программой
- •If OpenDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
- •If OpenDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
- •If SaveDialog1.Execute then // Выполнение стандартного диалога выбора имени файла
- •Выполнение индивидуального задания
- •Лабораторная работа №7
- •Использование подпрограмм
- •Использование модулей
- •Порядок выполнения задания
- •Создание модуля
- •Подключение модуля
- •Выполнение индивидуального задания
- •Лабораторная работа №8
- •Как строится график с помощью компонента tChart
- •Пример написания программы
- •Настройка формы
- •Работа с компонентом Tchart
- •Написание программы обработки события создания формы
- •Написание программ обработки событий нажатия на кнопки
- •Выполнение индивидуального задания
- •Лабораторная работа № 9
- •Общие теоретические сведения
- •X,y:integer; // левый верхний угол
Выполнение индивидуального задания
Постройте графики функций для соответствующих вариантов. Таблицу данных получить, изменяя параметр X с шагом h. Ввод исходных данных организовать через окна TEdit. Самостоятельно выбрать удобные параметры настройки.Раз
м
Индивидуальные задания
1.
При
x=14.26, y=-1.22, z=3.5
t=0.564849.
2.
При
x=-4.5, y=0.75
,z=0.845
u=-55.6848.
3.
При
x=3.74
,
y=-0.825, z=0.16
,
v=1.0553.
4.
При
x=0.4
,y=-0.875, z=-0.475
w=1.9873.
5.
При
x=-15.246, y=4.642
,
z=20.001
=-182.036.
6.
При
x=16.55
,
y=-2.75, z=0.15
=-38.902.
7.
При
x=0.1722, y=6.33, z=3.25
=-172.025.
8.
При
x=-2.235
,
y=2.23, z=15.221
=39.374.
9.
При
x=1.825
,
y=18.225, z=-3.298
=1.2131.
10.
При
x=3.981
,
y=-1.625
,
z=0.512 a=1.26185.
11.
При x=6.251, y=0.827, z=25.001 b=0.7121.
12.
При x=3.251, y=0.325, z=0.466 c=4.025.
13. .
При
x=17.421, y=10.365
,
z=0.828
f=0.33056.
14. .
При
x=12.3
,
y=15.4, z=0.252
g=82.8257.
15. .
При
x=2.444, y=0.869
,
z=-0.13
-0.49871.
ещено
Лабораторная работа № 9
Тема: Программирование с использованием средств для отображения графической информации
Цель лабораторной работы: Научиться разрабатывать программы для построения изображений в среде Borland Delphi.
Общие теоретические сведения
Общие замечания
Программа может выводить графику на поверхность объекта (формы или компонента Image), которой соответствует свойство Canvas.
Для того чтобы на поверхности объекта появился графический элемент необходимо к свойству Canvas этого объекта применить соответствующий метод.
Цвет, стиль и толщину линий, вычерчиваемых методами Line, Ellipse, Rectangle и т. д. определяет свойство Pen объекта Canvas.
Цвет закраски внутренних областей геометрических фигур, вычерчиваемых методами Line, Ellipse, Rectangle и т. д, определяет свойство Brush объекта Canvas.
Характеристики шрифта текста, выводимого методом TextOut, определяет свойство Font объекта Canvas.
Процедуры работы с линиями
Line(x1, y1, x2, y2:integer) – проводит линию текущего цвета между точками с координатами x1, y1, x2, y2.
LineRel(Dx, Dy: integer) – проводит линию из текущей позиции в точку, сдвинутую относительно исходной позиции на величины Dx и Dy.
LineTo(x, y) – проводит линию из текущей позиции в точку с заданными координатами x, y.
MoveRel(Dx, Dy: integer) – перемещение указателя на заданное расстояние Dx, Dy по отношению к предыдущему положению.
MoveTo(x, y:integer) – перемещение указателя координат в точку окна с координатами x и y.
Процедуры построения фигур из линий
RecTangle(x1, y1, x2, y2:integer) строит контур прямоугольника текущим цветом;
x1, y1 – координаты верхнего левого угла прямоугольника;
x2, y2- координаты правого нижнего угла прямоугольника.
Bar3D(x1, y1, x2, y2:integer, Dept:Word, Top:Boolean) – строит закрашенный параллелепипед с координатами левого верхнего (x1, y1) и правого нижнего (x2, y2) углов;
Dept – ширина боковой грани;
Top – признак включения верхней грани (True – вычерчивается, иначе не отображается).
DrawPoly(NumPoints:Word; var PolyPoints) – строит контур многоугольника с заданными параметрами и цветом;
NumPoints – число вершин многоугольника;
PolyPoints – переменная без типа, содержащая NumPoint пар координат вершин многоугольника (координаты перечисляются в той последовательности, как они идут по контуру; первая вершина повторяется в конце).
FillPoly(NumPoints:Word; var PolyPoints) – строит многоугольник, закрашенный текущим орнаментом и цветом заполнения. Параметры – по аналогии с DrawPoly.
Процедуры построения криволинейных фигур
Arc(x, y:integer; StAng, EndAng, Rad:Word) – рисует дугу окружности текущим цветом;
x, y – координаты центра дуги;
StAng – угол до начальной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
EndAng – угол до конечной точки дуги, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
Rad – радиус дуги.
Ellipse(x, y:integer; StAng, EndAng, XRad,YRad:Word) – рисует дугу эллипса текущим цветом;
x, y – координаты центра эллипса;
StAng – угол до начальной точки эллипса, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
EndAng – угол до конечной точки эллипса, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
XRad,YRad – горизонтальная и вертикальная полуоси эллипса.
Circle(x, y:integer, Rad:Word) – рисует окружность текущим цветом;
x, y – координаты центра окружности;
Rad – радиус окружности.
FillEllipse(x, y:integer; XRad,YRad:Word) – рисует эллипс, закрашенный текущим цветом;
x, y – координаты центра эллипса;
XRad,YRad – горизонтальная и вертикальная полуоси эллипса.
PieSlice(x, y:integer; StAng, EndAng, Rad:Word) – рисует сектор круга, закрашенный текущим цветом;
x, y – координаты центра сектора круга;
StAng – начальный угол сектора, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
EndAng – конечный угол сектора, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
Rad – радиус сектора.
Sector(x, y:integer; StAng, EndAng, XRad,YRad:Word) – рисует сектор эллипса, закрашенный текущим орнаментом и цветом заполнения;
x, y – координаты центра сектора эллипса;
StAng – начальный угол эллипса, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
EndAng – конечный угол эллипса, отсчитываемый против часовой стрелки от горизонтальной оси, направленный слева направо;
XRad,YRad – горизонтальная и вертикальная полуоси эллипса.
Основную работу по выводу графики на поверхность формы должна выполнять функция обработки события OnPaint.
Пример.
Написать программу, которая на поверхности формы рисует флаг Российской Федерации (рис. 1).
Рисунок 1. Изображение флага Российской Федерации
Программный код.
// обработка события OnPaint
// процедура рисует флаг Российской Федерации
Procedure TForm1.FormPaint(Sender: TObject);
Const
L=200; //ширина флага(полосы)
H=40; // высота полосы
Var