Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
my_vb_lr.doc
Скачиваний:
15
Добавлен:
07.06.2015
Размер:
735.74 Кб
Скачать

Лабораторная работа № 3. Циклический алгоритм. Табулирование функции и поиск экстремумов.

Цель: Изучение операторов цикла. Создание циклических алгоритмов. Приобретение навыков добавления в проект компонентов из других проектов. работа с несколькими формами.

Рабочее задание: Создать приложение для вывода на экран в отдельную форму таблицы значений функции, заданной в лабораторной работе № 2. Диапазон и шаг изменения аргумента задавать при выполнении приложения. Определить максимальное и минимальное значения в заданном диапазоне.

Краткие теоретические сведения

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

Каждый алгоритм циклической структуры содержит такие элементы:

а) подготовка цикла – определение начальных значений параметров цикла;

б) тело цикла – действия, что повторяются многократно для разных значений параметров цикла;

в) модификация цикла – смена значений параметров цикла;

г) управление циклом – проверка условия выхода из цикла.

Табулирование функции – это формирование и вывод на экран или принтер таблицы значений функции для значений аргумента (х), изменяющихся от некоторого начального значения (хn) до конечного (хк) с некоторым шагом (h). Для этого используется цикл. При подготовке цикла аргументу присваивается начальное значение (х= хn), в теле цикла вычисляются и выводятся значения функции для текущего значения аргумента. Модификация заключается в увеличении аргумента на величину h (х= х+h). Цикл завершается, когда после очередного изменения значение аргумента превысит конечное значение (х хк).

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

Пример выполнения работы.

1. Войти в среду Visual Basic , создать новый проект, присвоить ему имя Lab3.

2. Спроектировать форму примерно, как на рис. 11.

Рис. 11. Проект формыForm1.

Форма содержит следующие элементы управления:

а) текстовые поля (TextBox):

A - значение параметра а;

Xnac - начальное значение аргумента;

Xkon - конечное значение аргумента;

hx - шаг табулирования (величина приращения аргумента).

б) надписи (Lаbel) для каждого текстового поля и заглавной надписи;

в) командные кнопки:

Command1 - выполнение расчетов;

Command2 - завершение работы, выход.

3. С помощью команды Project Add Form (Проект Добавить Форму) создать форму Form2 для размещения результатов работы приложения, включив в нее один объект – надпись, содержащую заголовок таблицы, примерно как показано на рис.12.

Рис.12. Проект формы Form2.

4. Добавить в проект модуль Module1, разработанный в рамках проекта Lab2 для вычисления значения функции в заданной точке. Для этого выполнить команду Project Add File (Проект Добавить файл). В появившемся окне диалога найти свою папку и выбрать модуль L2_<ФИО>_Modul1.

5. В модуле формы Form1 создать следующий код обработки событий:

Private Sub Command1_Click()

Dim YMin As Single, YMax As Single

Dim X As Single, y As Single

Dim i As Integer

X = Xnac

y = f(X)

YMax = y: YMin = y

Form2.Visible = True

Form2.Cls

Form2.CurrentY = 800

Form2.CurrentX = 1000

Form2.Print " x", " f(x)"

Form2.CurrentX = 1000

Form2.Print

Do While X < Xkon

y = f(X)

Form2.CurrentX = 1000

Form2.Print Format(X, "####0.00"), Format(y, "###0.000")

If y > YMax Then YMax = y

If y < YMin Then YMin = y

X = X + hX

Loop

Form2.Print

Form2.Print "Максимальное значение", Format(YMax, "###0.000")

Form2.Print "Минимальное значение", Format(YMin, "###0.000")

End Sub

6. Создать коды обработки событий для командной кнопки Command2 и текстовых полей Xnac, Xkon, hx и A формы аналогично тому, как это сделано в лабораторной работе №2 (пп.8-12).

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

Форма 1: L3_<ФИО>_Form1

Форма 2: L3_<ФИО>_Form1

Проект: L3_<ФИО>_Project

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]