Блок операций

advertisement
Содержательный модуль 4.
Основы алгоритмизации и
программирования.
Тема 3.
Структурные операторы VB. Ввод
и вывод данных.
План
1. Операторы ветвления
2. Операторы цикла
3.
Способы
программного
информации
ввода
и
вывода
1. Операторы ветвления
В
VB
определены
2
структурных
оператора,
позволяющих организовать ветвление в программе.
Структура ветвления:
1. условный оператор If...End If
2. оператор выбора Select Case
Базовая структура разветвленных операций (ветвления), которой
соответствует условный оператор If...End If
Условный оператор If...End If может быть реализован в 3-х
вариантах.
1 вариант: однострочный синтаксис. Можно использовать ,
если от условия зависит выбор только одной либо другой
операции,
или
даже
только
одной
(при
этом
нет
необходимости в написании Else). Также в конце нет
необходимости в написании End If .
If Условие Then Операция 1 [Else Операция 2]
2 вариант: блочный синтаксис. Стандартный и чаще всего
используемый вариант применения оператора предполагает
несколько операций (блоки), выполняемых в зависимости от
результата проверки условия.
If Условие Then
[Блок операций 1]
[Else
[Блок операций 2]]
End If
3 вариант: блочный синтаксис с ElseIf. Вариант применения
оператора, который предполагает несколько операций
(блоков),
выполняемых
в
проверки нескольких условий.
If Условие 1 Then
[Блок операций 1]
[ElseIf Условие i Then
[Блок операций i]]
[Else
[Блок операций 2]]
End If
зависимости
от
результата
Оператор выбора Select Case (выбрать в случае).
Синтаксис:
Select Case Проверочное выражение
[Case Значение 1
[Блок операций 1]]
[Case Значение i
[Блок операций i]]
[Case Else
[Блок операций 2]]
End Select
Пример 1 (использование оператора Select Case).
Сумма
премии
промоутеру
начисляется
в
зависимости от количества привлеченных к акции
покупателей и суммы эффекта, полученной в
результате акции. Если количество от 50 и более,
насчитывается 100 грн. Если сумма эффекта более
2000
грн.,
начисляется
200
грн.
Премии
суммируются, большая перекрывает меньшую.
не
0 0
1 0
0 1
1 1
2. Операторы цикла
В
VB
определены
2
структурных
оператора,
позволяющих организовать циклы в программе.
Структура цикла:
1. параметрический оператор цикла For ... Next
2. итерационный оператор цикла Do While |
Until...Loop или Do...Loop While | Until
Базовая структура параметрического оператора цикла
For ... Next (для положительного шага)
Синтаксис цикла For ... Next:
For Счетчик = Начальное_значение То Конечное_значение
[Step Шаг]
Блок операций (тело цикла)
Next [Счетчик]
Пример 2 (использование операторов For … Next и
If … End If).
Сумма премии начисляется в размере 30 гривен за
каждого
пятого
клиента,
подтвердившего
эффективность акции (передавшего промоутеру чек
со свидетельством покупки товара, продвигаемого с
помощью акции).
Цикл с предусловием Do While ... Loop
Цикл с постусловием Do ... Loop While
Синтаксис двух разновидностей цикла Do.
Цикл, управляемый в начале (с предусловием).
Синтаксис:
Do [(While | Until) Условие]
[Блок операций]
Loop
Цикл, управляемый в конце (с постусловием).
Синтаксис:
Do
[Блок операций]
Loop [(While | Until) Условие]
While (пока), Until (до) и Loop (цикл) - зарезервированные
слова. Циклы типа While | Until предназначены для
ситуаций, когда количество повторений тела цикла
(итераций) заранее неизвестно.
Если количество проходов должно зависеть от условия,
используют цикл Do. В зависимости от позиции условия
различают два варианта цикла Do.
Цикл, управляемый в начале (с предусловием).
Сначала вычисляется значение логического выражения
Условие.
Если оно имеет значение True, то выполняется блок
операций, помещенный между строками Do While и Loop.
Затем все повторяется сначала.
Если логическое выражение имеет значение False, то
происходит выход из цикла.
В случае невыполнения условия цикла он не выполняется ни
разу.
Цикл, управляемый в конце (с постусловием).
Так как проверка Условия происходит в конце, то тело цикла,
помещенное между Do … Loop While выполняется как минимум
один раз, независимо от того, выполнено условие или нет.
И для цикла с постусловием, и для цикла с предусловием
желательно изменение внутри тела цикла переменных,
влияющих на выполнение условия. Тело цикла выполняется
неопределенное число раз, пока условие не вызовет выход из
цикла.
По своей логике цикл Until подобный циклу While с той лишь
разницей, что выполнение условия означает необходимость
выхода из цикла.
Любой цикл Do можно завершить досрочно с помощью
оператора Exit Do
Пример 3 (использование операторов Do While …
Loop и If с однострочным синтаксисом).
Сумма премии начисляется в размере 5 гривен, если
был привлечен хотя бы один клиент. Затем, пока
сумма премии не достигнет 300 грн., премия
увеличивается на 3 гривны за каждого клиента,
подтвердившего эффективность акции.
3. Способы программного ввода и вывода информации
Ввод информации.
Для ввода информации в Visual Basic можно использовать
следующие средства:
1. ввод информации из текстового поля с использованием
функции Val - функции преобразования строчных величин в
числовые;
2. ввод информации из Диалогового
использованием функции InputBox;
окна
ввода
с
3. ввод информации из списка ListBox или поля со списком
ComboBox;
4. ввод информации из файла.
Например, ввод данных пользователя с помощью функции InputBox.
Синтаксис:
InputBox ("Приглашение", "Заголовок" [По умолчанию])
Dim str_SnFn As String
str_SnFn = InputBox("Введите Ваше имя и фамилию:", "Регистрация")
Вывод информации.
Для вывода информации в Visual Basic можно использовать
следующие средства.
1. Вывод информации с использованием текстового поля
TextBox.
2. Вывод информации в метку Label.
3. Вывод информации с использованием встроенных функций:
Str, Val, MsgBox.
4. Вывод информации с использованием метода Print (метод
определен для форм).
Например, при выводе информации можно использовать
функцию MsgBox - панель уведомлений.
Возможностей программной настройки функции MsgBox
достаточно много:
- Можно отображать различные наборы кнопок для выбора
пользователем;
- Можно показывать пользователю различные стандартные
информационные символы;
- Можно выбирать кнопку по умолчанию для нажатия
пользователем
- Можно делать окно модальным или обычным.
Синтаксис:
MsgBox (Текст [, Кнопки] [, Заголовок окна] [, Файл справки,
Метка в файле справки])
Пример
1.
Пусть необходимо
вывести
на экран
предупреждающий запрос с тремя кнопками Да, Нет, Отмена.
При этом главной должна быть кнопка Нет. Тогда, согласно
таблицам значений аргументов 1 - 3, получим значение второго
аргумента: 3 (Да, Нет, Отмена, таблица 1) + 48
(предупреждающий значок, таблица 2) + 256 (вторая кнопка в
наборе, таблица 3) = 307.
Программный код:
PushButton = MsgBox ("Отменить копирование?", 307, "Файл
будет удален!")
Или, если использовать константы:
PushButton
=
MsgBox
("Отменить
копирование?"
VbYesNoCancel + vbExclamation + vbDefaultButton2, "Файл будет
удален!")
Таблица 1 - Количество и тип кнопок (текстовая или числовая
константа) функции MsgBox
Таблица 2 - константа и код для обозначения информационных
пиктограмм функции MsgBox
Таблица 3 - константа и код для обозначения основной кнопки по
умолчанию (номер кнопки в наборе) функции MsgBox
С помощью метода Print можно печатать тексты на форме, а также на
картинке.
Синтаксис:
[объект.] Print [СписокВывода]
Здесь объект - это имя формы, которое может быть опущен для
текущей формы.
СписокВывода - текст, который печатается на форме.
Например, следующая операция выведет сообщение в форме Form1:
Form1.Print "Это форма Form1"
Если же форма Form1 является текущей, то имя объекта в команде
может быть опущено и команда будет записана короче:
Print "Это форма Form1"
Пример использования метода Print для текущей
формы Form1.
Private Sub Form_Load()
Form1.AutoRedraw = True
Dim k, a, b
k=7
a = "<"
b = 56.15
Print "2*2 всё ещё равно "; 2*2;","
Print " а 59 умножить на ноль равно "; 59 * 0;"."
Print "x="; 2
Print k, a, b
End Sub
Пояснения к примеру.
В начале процедуры операция вызова метода AutoRedraw для
формы, для автоматического обновления изображения
поверхности формы перед выводом текста на ней.
Метод позволяет выбрать значение True или False, выбираем
True. Для текущей формы метод можно использовать, опустив
название формы.
В операциях, где разделитель точка с запятой (;), данные
выводятся друг за другом, без пропусков.
Значения переменных К, А и В (поскольку разделитель запятая
(,), выводятся зонами в 14 символов каждая.
Для очистки формы от результата печати, выполненного на
ней раньше, может быть применен метод Cls.
Например, следующая операция очистит форму Form1:
Form1.Cls
Или, если форма текущая:
Cls
Download