Лабораторная работа № 9 Организация и использование статической библиотеки (Unit ) в Delphi. Использование списков выбора
Цель работы:
освоить организацию модуля(статической библиотеки) в DELPHI, научиться подключать модуль и использовать в вызывающей программе подпрограммы модуля.
Домашнее задание:
1 Изучить структуру модуля Unit в DELPHI и состав его разделов.
2 Освоить назначение и структуру оператора Uses.
3 Изучить способы передачи параметров в подпрограммы и их возврат в точку вызова в вызывающую программу, а также работу с глобальными переменными.
4. Освоить назначение и организацию работы со списками выбора в Delphi (ListBox, ComboBox).
Порядок выполнения работы:
1.Организовать статическую библиотеку, обратившись к репозиторию DELPHI( File-New-Unit).
2. В модуле библиотеки(Unit) организовать подпрограммы в соотвктствии с вариантом задания.
3.Организовать вызывающее приложение в DELPHI ,в котором подключить откомпилированный модуль-библиотеку.
4.В вызывающем приложении организовать вызовы соответствующих подпрограмм модуля, вывести результаты с использованием визуального интерфейса ,продемонстрировать их преподавателю. Интерфейс приложения должен включать компонент для организации выбора запускаемой подпрограммы(ComboBox)
5.Оформить отчет по лабораторной работе и защитить ее преподавателю.
Варианты заданий для выполнения работы:
1.Пусть точки заданы последовательностью координат: x1,y1,x2,y2, …,xn,yn .
C помощью подпрограмм статической библиотеки (Unit ) найти :
а) точку с наибольшим значением функции;
б) точку с наименьшим значением функции;
в) поменять найденные точки местами.
Выбор действия в главной программе организовать с помощью списка выбора( ComboBox ).
2.Пусть а1, … ,аn – количество осадков в мм , выпавшее в Москве в течение последних n лет. С помощью подпрограмм статической библиотеки(Unit) вычислить:
а) среднее количество осадков для заданного отрезка времени
(от 1 до n );
б) отклонение от среднего для каждого заданного года;
в) наименьшее и наибольшее из отклонений .
Выбор действия в главной программе организовать с помощью списка выбора( ComboBox ).
3.Дан двумерныймассив А( 2 * N) ,в котором первая строка- абсциссы точек, вторая- ординаты точек. С помощью подпрограмм статической библиотеки (Unit) проверить:
а) является ли массив упорядоченным по возрастанию значений
абсцисс?
б) является ли массив упорядоченным по убыванию значений ординат?
в) переставить местами две заданные точки .
Выбор действия в главной программе организовать с помощью списка выбора( ComboBox ).
4.Дан двумерный массив с числом строк N и с числом столбцов M.
Седловая точка- это элемент наименьший в своей строке и одновременно наибольший в своем столбце.
C помощью подпрограмм статической библиотеки (Unit ) найти :
а) все седловые точки в заданном массиве;
б) седловую точку( ее значение и местоположение) с наибольшим
значением .
Выбор действия в главной программе организовать с помощью списка выбора( ComboBox ).
5.Организовать статическую библиотеку (Unit) , в подпрограммах которой реализовать простейшие действия над комплексными числами( +,- ,*, / ) .
Обратиться к ее подпрограммам из главной программы
( procedure TForm1.Button1Click ), в которой выбор действия организовать динамически , используя компонент класса TCombobox.
Использовать:
Type
Complex=record
re,im:real;
end;
Правила выполнения действий над комплексными числами:
z1=a+i*b; z2=c+i*d;
z1+z2=(a+c)+i*(b+d);
z1-z2=(a-c)+i*(b-d);
z1*z2=(a*c-b*d)+i*(a*d+b*c);
z1/z2=((a*c+b*d)/(c*c+d*d))+i*((b*c-a*d)/(c*c+d*d));
6. Система N материальных точек на плоскости задана с помощью действительных чисел:x1,y1,m1,x2,y2,m2,...,xn,yn,mn, где xi,yi-координаты i-той точки, mi- ее масса. С помощью подпрограмм статической библиотеки Unit вычислить:
a) координаты центра масс:
x=(x1*m1+x2*m2+...+xn*mn)/(m1+m2+...+mn);
y=(y1*m1+y2*m2+...+yn*mn)/(m1+m2+...+mn);
б) расстояния от каждой точки до центра масс;
в) наименьшее из расстояний.
Выбор действия в главной программе-- с использованием компонента класса TCombobox.
Контрольные вопросы:
1.Какова структура модуля Unit в DELPHI
2.Какова разница при использовании величины ,объявленной в разделе Interface или в разделе Implementation.
3.Есть ли фиксированное место для оператора Uses в программе в DELPHI.
4.Правила организации и использования глобальных величин в DELPHI.
5.Способы передачи параметров в подпрограмму в DELPHI.
Лабораторная работа №10
Графические средства в DELPHI
(4 часа)
Цель работы:изучение возможностей языка программирования в среде DELPHI для организации графики как с помощью графических примитивов ,так и с помощью сервисных визуальных средств.
Домашнее задание:
1.Изучить для графических компонентов классов TForms, TImage, TPaintBox использование канвы( свойство Canvas) и процедур, реализующих отображение графических примитивов на канве.
2.Изучить свойства и методы визуального компонента класса TChart для вывода графиков функций.
Порядок выполнения работы:
1.Программно исследовать область определения заданной функции( см. вариант ).
2.C учетом проведенных исследований(точек разрыва) протабулировать функцию на заданном отрезке изменения аргумента от Хначального до Хконечного(Хн и Хк вводить в процессе работы программы).
3. Cохранить полученную таблицу значений функции в текстовом файле(выбор имени файла осуществлять динамически с помощью компонент страницы VCL DIALOGS.
4. Построить график заданной функции:
а) с использованием визуального компонента класса TChart;
б) на канве (свойство Canvas) компонента класса TPaintbox или класса TImage.
5.Продемонстрировать все результаты работы преподавателю.
6.Оформить отчет и защитить лабораторную работу преподавателю.
Варианты заданий для выполнения работы:
1. y= (x+3)/(x-2);
2.y=3+2/x+3/(x*x);
3.y=1/(3*x*x+2*x+1);
4. y=1/(x*x+2*x+1);
5. y=1/(x*x+3*x+1);
6. y=x/(3*x*x+2*x+1);
7. y=x/(x*x+2*x+1);
8. y=x/(x*x+3*x+1);
9. y=x/(x*x-2*x+1);
10. y=x/(x*x-3*x+1);
Замечание.
При построении графика функции на канве необходимо прочертить оси координат с удобным началом координат, поставить единичные отрезки на осях с учетом выбранного масштаба и затем на координатной плоскости нарисовать линию, соответствующую графику заданной функции в заданной области определения: от Хначального до Хконечного.
Контрольные вопросы:
1.Расскажите о возможностях компонента класса TImage.
2.Визуальный компонент класса TPaintBox-- его назначение,свойства и методы.
3.Опишите возможности компонента класса TChart.