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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



 

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

Рабочее задание: Создать приложение для вывода на экран в отдельную форму таблицы значений функции, заданной в лабораторной работе № 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. Проект формы Form 2.

 

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. Запустить приложение на выполнение. Выполнить расчеты несколько раз, меняя диапазон и шаг табулирования.

Лабораторная работа №4.



Поделиться:


Последнее изменение этой страницы: 2016-08-12; просмотров: 368; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 34.201.122.150 (0.011 с.)