ЦИКЛЫ
Цикл – это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов.
В языке Visual Basic существует четыре основных вида циклов, которые реализуется при помощи конструкций:
1) FOR … NEXT
2) DO … LOOP
WHILE… WEND
4) с помощью операторов условного перехода.
1. Циклы с параметром FOR … NEXT
Данный оператор имеет следующий формат:
For <параметр>=<выражение1> To <выражение2> [Step <шаг> ]
<операторы>
Next [ <параметр> ]
Пример:
For i = 1 TO 10 STEP 2
<операторы>
Next i
Конструкция FOR… NEXT используется, когда мы знаем, сколько раз нужно выполнить какое-либо действие.
Выполнение оператора цикла с параметром может быть прервано с помощью оператора, предназначенного для преждевременного выхода из цикла EXIT FOR, который передает управление на следующий оператор, расположенный после цикла, например: If i =с Then Exit For
Пример. Пусть требуется написать программу, вычисляющую значения функции на промежутке [a,b] c шагом h, и вывести результаты.
При вычислении функции, ее значения вычисляются в теле цикла на каждом шаге, следовательно, вычисленных значений функции будет какое-то множество.
Вывод нескольких значений функции может быть осуществлен следующими способами:
1) в текстовое окно TextBox, при условии, что установлено свойство MultiLine = True для данного текстового окна;
2) в список (элемент управления ListBox);
3) в элемент управления DataGridView;
4) в текстовый файл;
Рассмотрим первые 2 способа.
Блок-схема решения задачи:
Вариант 1. Составим программу для решения данной задачи, которая будет осуществлять вывод аргумента функции x и ее значения y в текстовые окна TextBox:
Форма будет иметь вид:
Внимание! Для объектов TextBox4 и TextBox5 сделать большие окна и установить для них свойство MultiLine в положение True.
Программный код приложения:
|
|
Вариант 2. Теперь напишем программу, использующую для вывода аргументов и значений функций списки. Форма будет аналогична предыдущей, но вместо текстовых окон TextBox4 и TextBox5 будет содержать списки ListBox1 и ListBox2.
Для добавления элементов списка используется метод ListBox1.Items.Add(CStr(x)).
Программный код приложения:
|
2. Циклы с предусловием
Оператор цикла с предусловием целесообразно использовать в случаях, когда число повторений тела цикла заранее неизвестно и тело цикла может ни разу не выполниться.
В языке Visual Basic цикл с предварительным условием может быть организован четырьмя способами:
1) с помощью операторов цикла DO WHILE …LOOP,
2) с помощью операторов цикла DO UNTIL…LOOP,
3) с помощью операторов цикла WHILE…WEND,
4) с помощью операторов условного и безусловного перехода.
Оператор WHILE…WEND полностью соответствует оператору DO WHILE … LOOP, за исключением ключевых слов.
Рассмотрим основные форматы перечисленных выше операторов.
СПОСОБ 1. ОПЕРАТОР ЦИКЛА DO WHILE … LOOP
имеет следующий формат:
DO WHILE <условие>
<тело цикла>
LOOP
Конструкция DO WHILE … LOOP означает: выполнять какое-либо действие до тех пор, пока условие истинно:
Do While MyVar < 10
MyVar = MyVar + 1
MsgBox “ MyVar = “ & MyVar
Loop
Пример. Пусть требуется написать программу, вычисляющую значения функции на промежутке [a,b] c шагом h.
Переменной – параметру цикла должно быть присвоено значение до начала работы цикла. Данная переменная должна изменять свое значение (в большую или меньшую сторону, в зависимости от условия), чтобы не произошло «зацикливание» программы.
Блок-схема решения задачи:
В представленной блок-схеме жирным подчеркнутым курсивом отмечены блоки, отвечающие за организацию цикла с предусловием.
Форма со списками
Программный код решения задачи:
СПОСОБ 2. ОПЕРАТОР ЦИКЛА DO UNTIL… LOOP
имеет следующий формат:
DO UNTIL<условие>
<тело цикла>
LOOP
В этом случае цикл будет выполняться до тех пор, пока условие ложно.
Do Until MyVar >= 10
MyVar = MyVar + 1
MsgBox “ MyVar = “ & MyVar
Loop
Решим предыдущую задачу с применением оператора DO UNTIL… LOOP
Блок-схема и рисунок формы – те же самые.
3. Циклы с постусловием
Циклы с постусловием применяются тогда, когда число повторений цикла заранее неизвестно и определяется в процессе реализации циклического алгоритма.
Цикл с постусловием может быть организован тремя способами:
1) с помощью операторов DO… LOOP WHILE,
2) с помощью операторов DO… LOOP UNTIL,
3) с помощью операторов условного и безусловного перехода.
СПОСОБ 1. ОПЕРАТОР ЦИКЛА DO… LOOP WHILE
имеет следующий формат:
DO
<тело цикла>
LOOP WHILE<условие>
Эта конструкция цикла тестирует свое условие после выполнения цикла и означает, что тело цикла будет точно выполнено хотя бы один раз:
Do
MyVar = MyVar + 1
MsgBox “ MyVar = “ & MyVar
Loop While MyVar < 10
Пример. Рассмотрим программу, вычисляющую значения функции на промежутке [a,b] c шагом h. Пусть функция имеет следующий вид:
Форма приложения:
Блок-схема алгоритма
В приведенной блок-схеме подчеркнутым курсивом отмечены блоки, отвечающие за организацию цикла с постусловием.
Программный код решения задачи: