Лабораторная работа №3 Циклический алгоритм и его реализация на языке vb цель работы
Лабораторные работы по VB стр
Лабораторная работа №3
Циклический алгоритм и его реализация на языке VB
1. Цель работы:
Отработка навыков создания блок-схем для реализации циклов при решении задач и овладение навыками работы с операторами FOR-NEXT и DO- LOOP. Использование этих операторов для решения различных задач. Научить исследовать задачу и найти оптимальный план решения и дружеский интерфейс.
2. Темы для предварительного изучения
Разветвляющийся алгоритмы. Блоки блок-схемы используемые при графическом изображении этого алгоритма?
Циклический алгоритм назначение и применение? Различные варианты цикла и их реализация на VB.
Объекты VB, используемые при решении вычислительных задач и их свойства?
3. Задание
а) Создать программу, для получения таблицы значений функции и построения её графика, в) подсчитать сумму ряда

Пример 1.
Начертим блок-схему для решения задачи, анализируем вид формы, которая поможет решить, поставленную задачу, и записываем программа в следующем виде:
Постановка задачи:
Дано: x[-1;2]
Найти:y
Математическая модель:

Блок-схема








х=-1









y=(aex-sin2bx)/(2+x)
y=(aex-sin2bx)/(2+x)




x=x+0.3











Форма, с которой придется работать, должна иметь следующие объекты: две командные кнопки, два поля списков для аргумента и значения функции, т.е. для вывода результата.



ListBox
Для реализации циклического алгоритма используются операторы FOR-NEXT (с параметром) или DO – LOOP (с постусловием или предусловием), имеющие следующий формат:
Предусловие
DO WHILE <условие> <серия> LOOP. | DO UNTIL <условие> <серия> LOOP. |
Постусловие | |
DO <серия> LOOP WHILE <условие> . | DO <серия> LOOP WHILE <условие>. |
Цикл с параметром
Используется только в тех случаях когда переменная в цикле изменяется с постоянным шагом и имеет следующий формат:
FOR переменная = нач.значение TO кон.значение [STEP шаг]
<серия>
NEXT [переменная]
Часть оператора, заключенная в квадратные скобки, является необязательной, т.е. шаг можно не указывать если он равен 1, имя переменной по умолчанию берется из начала цикла.
Что такое серия – это оператор или несколько операторов, разделенных знаком (:) которые должны быть выполнены неоднократно, пока выполняется условие цикла или параметр не достиг конечного значения. Повторяющиеся команды называют телом цикла.
Написание программного кода
Построение таблицы
Private Sub Command1_Click()
Dim a As Single, b As Single, x As Single, y As Single
a = Val(InputBox("введи а", "ввод"))
b = Val(InputBox("введи b", "ввод"))
x = -1
Do
y = (a * Exp(x) - Sin(b * x) ^ 2) / (2 + x)
List1.AddItem Str(x)
List2.AddItem Str(y)
x = x + 0.3
Loop Until x > 2
End Sub
Проверьте работу программного кода, а затем, создав кнопку перехода на вторую форму, разместите на ней PictureBox и командную кнопку «График»
Построение графика
Private Sub Command1_Click()
Dim a As Single, b As Single, x As Single, y As Single
a = Val(InputBox("введи а", "ввод"))
b = Val(InputBox("введи b", "ввод"))
Picture1.Scale(-1,10)-(2,-10)
Picture1.Line(-1,0)-(2,0),vbBlack ’ось х
Picture1.Line(0,10)-(0,-10),vbBlack ’ось у
For x = -1 to 2 step 0.3
y = (a * Exp(x) - Sin(b * x) ^ 2) / (2 + x)
Picture1.Pset(x,y),vbRed
Next x
End Sub
Отладка программы.
Проверьте работу второго алгоритма, уменьшая размер шага получите непрерывный график функции.

Пример 2
Создаём форму следующего вида



CheckBox
Для элементов CheckBox изменим свойство Caption на вариант 1 и вариант 2
Для элемента PictureBox создадим формулу с помощью редактора Equation 3.0 (Word) и вставим используя буфер обмена.
Текстовые поля, метки и командные кнопки отформатировать согласно рисунку
После нажатия на кнопку «Пуск» должен быть выполнен соответствующий вариант расчета суммы ряда 1) при h = 1: x = 0.7: m = 10 и 2) h = 2: x = 0.4: m = 21.
Программный код её будет:
Private Sub Command1_Click()
Dim x, s As Single, n, h, m As Integer
s = 0
If Check1.Value = 1 Then h = 1: x = 0.7: m = 10
If Check2.Value = 1 Then Check1.Value = 0: h = 2: x = 0.4: m = 21
For n = 1 To m Step h
s = s + x ^ (2 * n)
Next n
Text1 = Str(h): Text2 = Str(x): Text3 = Str(m): Text4 = Str(s)
End Sub
Самостоятельно начертите блок-схему и объясните исполнение и назначение команд s = s + x ^ (2 * n) и Check1.Value = 0.

страница 1
скачать
Другие похожие работы: