Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB.doc
Скачиваний:
23
Добавлен:
12.11.2018
Размер:
2.66 Mб
Скачать
        1. Элемент управления Slider

Иногда для ввода данных удобно использовать элемент управления Slider (ползунок, движок), который позволяет вводить числовые данные путем перемещения указателя ползунка.

Свойства элемента управления Slider

Свойство

Назначение

Value

Хранится введенное посредством бегунка значение

Min

Max

Свойства задают диапазон значений ползунка (по умолчанию min=0, max =10)

Пример 3. Вычислить произведение

Private Sub Command1_Click()

'Ввод n и m с помощью движка

n = Slider1.Value

m = Slider2.Value

p = 1

For i = 1 To n

For j = 1 To m

p = p * i / (1 + j ^ 2)

Next j

Next i

Text1.Text = Str(p)

End Sub

Private Sub Command2_Click()

End 'Выход из приложения

End Sub

Пример 3. Протабулировать функцию sin(x) на отрезке [–π, π] с шагом 0,1.

Private Sub Command1_Click()

Const pi = 3.1415926

Dim n As Integer

Dim h As Single

Dim x As Single,y As Single

Dim sa As Str,sf As String 'Переменная 'sa используется для формирования строки значений x,

'а переменная sf - для формирования строки значений y

h = Val(Text1.Text) 'Ввод шага

n = Int(2 * pi / h) + 1 'Количество точек

x = -pi ‘Начальное значение x

sa = "": sf = "" 'Инициализация sa и sf

For i = 1 To n

y = Sin(x)

'Формирование строки вывода значений x по формату

sa = sa + Format(x, "0.000") + Chr(13)+Chr(10).

'Формирование строки вывода значений y по формату

sf = sf + Format(y, "0.000")+ Chr(13) + Chr(10)

x = x + h 'Новое значение x

Next i

Text2.Text = sa 'Вывод значений x

Text3.Text = sf 'Вывод значений y

End Sub

Private Sub Command2_Click()

End

End Sub

При проектировании данного проекта необходимо для элементов управления TextBox, предназначенных для вывода, установить следующие свойства:

Multiline = True, Scrollbars=Vertical.

      1. Циклы с условием

Циклы с условием используются в тех случаях, когда число повторений тела цикла заранее неизвестно. Такой цикл продолжает работу пока выполняется (или не выполняется) условие окончания цикла. Причем, если условие окончания цикла проверяется перед выполнением тела цикла, то такие циклические структуры называют циклами с предусловием («Выполнять пока»), а если проверка условия происходит после выполнения тела цикла – циклами с постусловием («Выполнять до тех пор, пока »).

Цикл с предусловием

Цикл с постусловием

В VB такие циклы образуются с помощью конструкций Do … Loop. Существует 4 вида таких циклических конструкций, их синтаксис определяется типом проверяемого условия и местом его расположения.

Синтаксис

Описание

Do While Условие

Операторы

Loop

Цикл с предусловием типа «Пока».

Условие проверяется до того, как выполняется группа операторов, образующих тело цикла.

Цикл продолжает свою работу, пока это условие остается истинным.

Do

Операторы

Loop While Условие

Цикл с постусловием типа «Пока».

Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы 1 раз.

Цикл работает, пока это условие остается истинным.

Do Until Условие

Операторы

Loop

Цикл с предусловием типа «До тех пор пока».

Условие проверяется до того, как выполняется группа операторов, образующих тело цикла.

Цикл продолжает свою работу до тех пор, пока это условие не выполнится (то есть до тех пор, пока условие является ложным)

Do

Операторы

Loop Until Условие

Цикл с постусловием типа «До тех пор пока».

Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз.

Цикл работает до тех пор, пока это условие не выполнится (то есть до тех пор, пока условие является ложным).

Замечание 1. Чтобы цикл с предусловием или с постусловием успешно завершился необходимо, чтобы в теле цикла был хотя бы один оператор, изменяющий значения, входящих в логическое выражение переменных.

Замечание 2. Циклы могут быть вложенными, когда внутри одного циклического процесса должен выполняться другой. В этом случае необходимо придерживаться правила: каждый цикл должен иметь свое начало – For или Do (заголовок цикла) и свой конец – слово Loop или Next (окончание цикла). Причем, каждый раз сначала должен быть закончен внутренний цикл, а затем уже внешний.

Для безусловного выхода из цикла с условием используется оператор Exit Do.

Пример 1. Определить количество цифр в целом числе N. Алгоритм решения состоит в том, что нужно делить число N на 10 до тех пор, пока в целой части числа не окажется 0. Количество таких делений будет равно числу цифр в числе.

Private Sub Command1_Click()

n = Val(Text1.Text) 'Ввод числа

k = 0 'Обнуление счетчика k – количество цифр

Do 'Начало цикла

n = Int(n / 10) 'Выделение цифры

k = k + 1 'Подсчет количества цифр

Loop While n > 0 'Окончание цикла

'Цикл работает, пока это условие остается истинным

Text2.Text = Str(k) 'Вывод k

Text2.Visible = True

Label2.Visible = True 'Содержимое поля становится видимым

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1.Text = "" 'Очистка поля

Label2.Visible = False 'При загрузке формы фраза

'«Количество цифр» не видна

Text2.Text = ""

Text2.Visible = False

End Sub

Использование операторов цикла с условием оправдано в том случае, когда количество повторений тела цикла определяется в ходе самих вычислений и заранее неизвестно. Например, для вычисления сумм бесконечного ряда обычно задают точность вычислений ε и вычисления ведут до тех пор, пока очередное слагаемое по модулю не станет меньше заданного ε: .

Пример 2. Вычислить с точностью ε = 10-4.

Private Sub Command1_Click()

Dim x,y,a As Single

Eps = Val(Text1.Text) 'Ввод точности вычислений

s = 0 'Инициализация переменной s

n = 1

Do 'Начало цикла

a = n/(n^2+1) 'Вычисление очередного члена последовательности

s=s+a 'Вычисление суммы последовательности

n=n+1

Loop While a>=0.0001

Text2.Text = Str(s) 'Вывод полученной суммы

End Sub

Private Sub Command2_Click()

End

End Sub