NetNado
  Найти на сайте:

Учащимся

Учителям



Лабораторная работа №3 Циклический алгоритм и его реализация на языке vb цель работы


Лабораторные работы по VB стр


Лабораторная работа №3

Циклический алгоритм и его реализация на языке VB

1. Цель работы:

Отработка навыков создания блок-схем для реализации циклов при решении задач и овладение навыками работы с операторами FOR-NEXT и DO- LOOP. Использование этих операторов для решения различных задач. Научить исследовать задачу и найти оптимальный план решения и дружеский интерфейс.
2. Темы для предварительного изучения

  • Разветвляющийся алгоритмы. Блоки блок-схемы используемые при графическом изображении этого алгоритма?

  • Циклический алгоритм назначение и применение? Различные варианты цикла и их реализация на VB.

  • Объекты VB, используемые при решении вычислительных задач и их свойства?

3. Задание

а) Создать программу, для получения таблицы значений функции и построения её графика, в) подсчитать сумму ряда для двух вариантов исходных данных.

Пример 1.

Начертим блок-схему для решения задачи, анализируем вид формы, которая поможет решить, поставленную задачу, и записываем программа в следующем виде:

Постановка задачи:

Дано: x[-1;2]

Найти:y

Математическая модель:

, аргумент изменяется по закону xi+1=xi+0.3, а=2,3 и b=-5.3

Блок-схема








х=-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


скачать

Другие похожие работы: