- •«Технология создания программных продуктов»
- •6.040303 «Системный анализ»
- •«Технология создания программных продуктов»
- •6.040303 «Системный анализ»
- •Модуль I: «Общая характеристика Visual Basic для приложений»
- •Лекция №1 Введение в Visual Basic для приложений (vba)
- •Лекция №2 Элементы кода Visual Basic для приложений (vba)
- •2.2 Инструкции, функции и выражения
- •2.3.1 Правила присвоения имен в языке Visual Basic
- •2.3.2 Типы данных
- •2.3 Переменные, массивы, типы данных и константы
- •2.3.3 Эффективное использование типов данных
- •2.3.4 Описание констант
- •2.3.5 Описание переменных
- •2.3.6 Описание массивов
- •Лекция №3 Циклические и разветвляющиеся вычислительные процессы в vba
- •3.1 Циклы и условные инструкции в программе
- •3.2 Использование циклов для повторения блоков программы
- •3.3 Использование условных инструкций
- •Пример использования метода Print
- •3.5 Преобразование данных
- •3.6 Функции Int и Fix
- •3.7 Генерация случайных чисел
- •Лекция №4 Организация ввода-вывода в vba
- •4.1 Диалоговый ввод - вывод в vba
- •4.2 Принятие решения
- •4.3 Окно ввода
- •4.4 Ввод-вывод при помощи ячеек Excel
- •Лекция №5 Структура кода vba. Процедуры и функции
- •5.1 Структура кода
- •5.2 Использование функций и процедур
- •5.2.1 Вызов функций и процедур
- •5.2.2 Передача именованных аргументов
- •5.2.3 Эффективная передача аргументов в функции и процедуры
- •Лекция №6 Использование объектов в vba
- •6.1 Понятия объектов, свойств, методов, событий
- •6.2 Создание собственных объектов
- •Пример описания объекта
- •Пример использования объекта
- •Модуль II: «Принципы разработки программ пользователя»
- •Лекция №7 Этапы развития технологии создания программ (технология программирования. Основные понятия и подходы)
- •7.1 Технология программирования и основные этапы ее развития
- •Лекция №8 Блочно-иерархический подход к созданию сложных систем
- •8.1 Проблемы разработки сложных программных систем
- •8.2 Блочно-иерархический подход к созданию сложных систем
- •8.3 Информационное моделирование предметной области [1] -с. 543
- •Лекция №9 Последовательность проектирования ис
- •9.2.1 Содержание и цели предпроектного обследования
- •9.2.2 Функциональная структура объекта автоматизации
- •9.2.3 Методы обследования управленческих процедур
- •9.2.4 Исследование потоков и структуры информации
- •9.3 Обоснование и выбор состава автоматизируемых задач [1] -с.518-519
- •9.4.1 Характеристика задачи (комплекса задач)
- •9.4.2 Выходная информация
- •9.4.3 Входная информация
- •9.4.4 Математическое описание
- •9.4.5 Описание алгоритма решения
- •9.4.6 Разработка контрольного примера
- •10.1 Состав процессов жизненного цикла
- •10.2 Основные этапы разработки программного обеспечения
- •Лекция №11 Развитие моделей жизненного цикла программного
- •11.1 Каскадная модель
- •11.2 Модель c промежуточным контролем
- •11.3 Спиральная модель
- •11.4 Использование case-технологий
- •11.5 Ускорение разработки программного обеспечения. Технология rad
- •Лекция №12 Оценка качества процессов создания программного
- •12.1 Серия стандартов iso 9000
- •12.2 Стандарт cmm
- •12.3 Стандарт spice
- •«Технологія створення програмних продуктів» конспект лекцій з дисципліни
- •6.040303 «Системний аналіз»
- •84313, М. Краматорськ, вул. Шкадінова, 72.
3.3 Использование условных инструкций
Условные инструкции проверяют, имеет ли условие значение True, или же False, и, в зависимости от результата, указывают одну или несколько дальнейших инструкций. Обычно условие является выражением, которое использует оператор сравнения для сравнения одного значения переменной с другим.
Варианты условной инструкции:
If...Then...Else: ветвление программы в зависимости от значения условия True или False;
Select Case: выбор ветви из набора условий.
3.3.1 Инструкция If...Then...Else
Инструкция If...Then...Else выполняет определенные инструкции или наборы инструкций в зависимости от значения условия. Допускаются многократно вложенные инструкции If...Then...Else. Однако для облегчения чтения программы вместо многократно вложенных инструкций If...Then...Else иногда предпочтительнее использовать инструкцию Select Case.
Для выполнения только одной инструкции, когда условие имеет значение True, используется однострочный синтаксис инструкции If...Then...Else. Вид однострочного синтаксиса без ключевого слова Else:
If <условие> Then инструкция
Пример однострочного синтаксиса:
If sValue = "" Then Exit Sub
Для выполнения нескольких строк программы, либо когда надо выполнять одни инструкции, когда условие истинно, и другие, когда ложно, используется многострочный синтаксис. Этот синтаксис обязательно содержит инструкцию End If и может содержать Else:
If <условие> Then
[инструкции]
[Else]
[инструкции]
End if
Примеры многострочного синтаксиса:
If Y(i, j) > maxim Then
maxim = Y(i, j): imax = i
End If
If Svalue = 0 Then
MsgBox "Ошибка - Svalue=0"
Else
MsgBox "Посчитаем для “ & Svalue
MsgBox "Расчет куба =“ & Svalue^3
End If
Если первое условие имеет значение False, для проверки второго условия к If...Then...Else добавляется инструкция ElseIf. Например, в следующей процедуре Function вычисляется премия на основе оценки проделанной работы. Инструкция, следующая за Else, выполняется, если условия во всех инструкциях If и ElseIf имеют значения False.
Function Premiy(koef_uchast, zarplata)
If koef_uchast = 1 Then
Premiy = zarplata * 0.3
ElseIf koef_uchast = 2 Then
Premiy = zarplata * 0.2
ElseIf (koef_uchast = 3 Or koef_uchast = 4) Then
Premiy = zarplata * 0.1
ElseIf (koef_uchast >= 5 And koef_uchast <= 7) Then
Premiy = zarplata * 0.05
ElseIf koef_uchast > 9 Then
Premiy = -10
Else
Premiy = 0
End If
End Function
3.3.2 Инструкция Select Case
Инструкция Select Case может служить альтернативой инструкции ElseIf в If...Then...Else при оценке одного выражения, которое имеет несколько возможных значений. В то время как If...Then...Else для каждой инструкции ElseIf оценивает разные выражения, инструкция Select Case оценивает выражение только один раз, в начале управляющей структуры. Приведем пример функции Premiy, выполненной с помощью Select Case.
Function Premiy(koef_uchast, zarplata)
Select Case koef_uchast
Case 1
Premiy = zarplata * 0.3
Case 2
Premiy = zarplata * 0.2
Case 3, 4
Premiy = zarplata * 0.1
Case 5 To 7
Premiy = zarplata * 0.05
Case Is > 9
Bonus = -10
Else
Premiy = 0
End Select
End Function
3.4 Вывод отладочной информации
Для быстрого просмотра результатов вычислений в окне отладки можно использовать метод Print вместе с объектом Debug. Для этого необходимо включить окно вывода отладочной информации командой меню View\ Immediate Window либо <Ctrl>+<G>.
Синтаксис:
Debug.Print [списокПечати]
СписокПечати – необязательный аргумент. Выражение или список печатающихся выражений. Если этот аргумент опущен, выводится пустая строка. Для списокПечати используются следующие синтаксис и элементы:
{Spc(n) | Tab(n)} выражение позиция
Spc(n) – указывает количество пробелов n, вставляемых в выводящийся текст.
Tab(n) – помещает курсор в экранный столбец с номером n. Элемент Tab без аргумента помещает курсор в первый столбец следующей зоны печати.
Выражение – числовое выражение или строковое выражение, определяющее выводящийся текст.
Позиция – указывает позицию, в которой выводится следующий символ. Двоеточие (:) помещает курсор непосредственно за последним выведенным символом. Tab(n) помещает курсор в экранный столбец с номером n. Элемент Tab без аргумента помещает курсор в первый столбец следующей зоны печати. Если аргумент Позиция опущен, следующий символ выводится в начале новой строки.
Для печати нескольких выражений следует разделять их точкой с запятой или пробелом. Если выражения разделены запятой, то каждое следующее начинается с новой зоны печати. Все данные отображаются в окне отладки с учетом национальной настройки. Используется соответствующее форматирование (с указанным символом десятичного разделителя), а ключевые слова выводятся на языке, используемом в главном приложении. Логические (тип Boolean) значения печатаются как True или False. Ключевые слова True и False отображаются в соответствии с языком головного приложения.
