ЛЕКЦИЯ № 3
ПРОГРАММИРОВАНИЕ ЦИКЛОВ С ПАРАМЕТРАМИ
Цель: научиться составлять циклические алгоритмы и программы, используя оператор цикла с параметром.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ:
Большинство вычислительных алгоритмов может быть представлено в виде циклически повторяющихся групп операторов. Операторы цикла служат для организации циклов. Цикл представляет собой последовательность операторов, которая включает в себя повторяющиеся конструкции операторов и должна выполняться более одного раза. Группу повторяемых операторов называют телом цикла. При известном количестве итераций в языке программирования Visual Basic может быть использован оператор цикла с параметром For … Next. Данный оператор имеет следующий формат:
For<параметр>=<выражение1>To <выражение2>[Step <шаг>]
<операторы>
Next[<параметр>]
<параметр> - это параметр цикла, который представляет собой переменную порядкового типа (иногда ее называют счетчиком). Данная переменная должна быть определена в том же блоке, где находится оператор цикла.
<выражение1> и <выражение2> - соответственно начальное и конечное значения параметра цикла, имеющие тип, совместимый с типом параметра цикла. Оператор цикла обеспечивает выполнение тела цикла, которое состоит из операторов, расположенных между заголовком и ключевым словом Next. При работе цикла осуществляется полный перебор с соответствующим шагом <шаг> всех значений параметра цикла от начального <выражение1> до конечного <выражение2>. Если шаг параметра цикла не указан, то по умолчанию, он подразумевается равным единице.
Выполнение оператора цикла с параметром может быть прервано с помощью оператора, предназначенного для преждевременного выхода из цикла EXIT FOR, который передает управление на следующий оператор, расположенный после цикла.
Рассмотрим задачу табулирования функции. Пусть требуется написать программу, вычисляющую значения функции на промежутке [a,b] c шагом h, вывести результаты и построить график.
3 x−1 −3.25, x<−1.25
y=−x, −1.25 ≤x<1.25
3.25−3 x+1, x≥1.25
При табулировании функции, ее значения вычисляются в теле цикла на каждом шаге, а следовательно, вычисленных значений функции будет какое-то множество. Вывод нескольких значений функции может быть осуществлен следующими способами:
- в текстовое окно, при условии, что установлено свойство MultiLine=True для данного текстового окна;
- в список (элемент управления TextBox);
- в дополнительный элемент управления Microsoft Flex Grid; - в текстовый файл;
В процессе решения задачи мы рассмотрим все выше перечисленные способы вывода значений функции на интервале.
Составим блок-схему для решения нашей задачи.
Составим программу для решения данной задачи, которая будет осуществлять вывод аргумента функции x и ее значения y в текстовые окна. При создании формы будем использовать пять меток, пять текстовых окон и две командные кнопки. Помещая элементы управления на форму, объекты Text4 и Text5 сделайте большими и установите для них свойство MultiLine в положение True. Форма приложения должна выглядеть примерно так, как показано на рисунке 9.
Рис. 9. Рисунок формы приложения использующего для вывода параметров текстовые окна.
Программный код приложения будет иметь следующий вид:
Private Sub Command1_Click()
Dim a As Single, b As Single, h As Single Dim x As Single, y As Single a = CSng(Text1.Text) b = CSng(Text2.Text) h = CSng(Text3.Text)
Text4.Text = ""
Text5.Text = ""
For x = a To b Step h If x < -1.25 Then
y = 3 * Sqr(Abs(x - 1)) - 3.25 ElseIf x >= 1.25 Then y = 3.25 - Sqr(x + 1) Else
y = -x
Text4.Text = Text4.Text + CStr(x) + vbCrLf Text5.Text = Text5.Text + CStr(y) + vbCrLf
Private Sub Command2_Click()
Следующие строчки приведенной выше программы осуществляют вывод аргументов и значений функции в текстовые окна.
Text4.Text = Text4.Text + CStr(x) + vbCrLf Text5.Text = Text5.Text + CStr(y) + vbCrLf
Перед циклом производится очистка текстовых окон:
Text4.Text = ""
Text5.Text = ""
В теле цикла осуществляется присваивание текстовым окнам их содержимого, после чего в них «дописываются» параметры: для текстового окна Text4 – x, для текстового окна Text5 – y. Константа vbCrLf осуществляет переход на следующую строчку текстового окна. Перевод строки осуществляется только при условии, что свойство MultiLine текстового окна установлено в положение True.
Теперь напишем программу, использующую для вывода аргументов и значений функций списки. Форма будет аналогична предыдущей, но вместо текстовых окон Text4 и Text5 будет содержать списки List1 и List2 (см. рис. 10).
Рис. 10. Изображение формы со списками.
Для добавления элементов списка используется метод AddItem(). Программный код приложения представлен ниже:
Private Sub Command1_Click()
Dim a As Single, b As Single, h As Single Dim x As Single, y As Single
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.