Лабораторная работа № 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.