Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программы с простым линейным следованием операторов




(алгоритмическая структура следование)

 

Программы с алгоритмом следование, т.е. без ветвлений и циклов, используют для решения простых задач, не требующих передачи управления или циклических вычислений. Такими задачами являются различные единичные расчеты математических функций и выражений, ввод и вывод результатов и т.п. Алгоритмы следование означает, что выполнения действий в них проходят последовательно, шаг за шагом, от одного оператора к другому, oт начала к концу (сверху вниз по блок-схеме).

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

 

Пример 1. Вычислить значение функции y при значении х = 45°.

 

.

Sub primer_1()

Dim x As Integer ‘ объявление типа переменных

Dim y As Single

Dim pi, x_rad As Double

'задаем числовое значение х

x = 45

'определяем точное числовое значение числа Пи

pi = 4 * Atn(1)

' переводим х в радианы, так как в тригонометрических функциях аргумент должен быть в радианах

x_rad = x * pi / 180

' производим расчет заданного математического выражения

y = (2 * Cos(x_rad - x_rad / 6) + x) / (1 / 2 + Sin(x_rad) ^ 2 + Sqr(x))

'выводим результат в диалоговое окно

MsgBox "y=" & y

End Sub

 

Результат программы:

 

Оператор разветвляющейся структуры If … Then

 

Базовая структура ветвление (называемая также ЕСЛИ–ТО–ИНАЧЕ) обеспечивает в зависимости от результата проверки условия (истина или ложь) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу (продолжению алгоритма). Работа алгоритма продолжается независимо от того, какой путь будет выбран. Возможные пути выполнения алгоритма помечаются на схемах алгоритмов соответствующими метками: "да"/"нет" (или "1"/"0"). Алгоритм, в состав которого входит базовая структура ветвление, называется разветвляющимся алгоритмом, а реализуемый им вычислительный процесс – разветвляющимся вычислительным процессом.

If … Then … Else – управляющий оператор VBA, осуществляющий условное ветвление операций, основанное на оценке логического выражения. Выражение может быть истинным или ложным. Оператор имеет две формы записи –линейную и блочную.

 

Линейный синтаксис оператора If … Then

 

При линейном синтаксисе весь оператор записывается в одну строчку (перенос на новую строку не допускается).

 

If логическое_выражение Then операторы 1 [ Else операторы 2]

 

– логическое_выражение – выражение, возвращающее ненулевое значение (истина) или ноль (ложь) (если логическое выражение состоит из нескольких составных частей, то они соединяются друг с другом посредством логических функций);

– операторы 1 – операторы, выполняющиеся при значении логического выражения "истина" (если операторов несколько штук, то один от другого отделяется двоеточием);

– операторы 2 – операторы, выполняющиеся при значении логического выражения "ложь" (если операторов несколько штук, то один от другого отделяется двоеточием).

Выражение, стоящее в квадратных скобках является не обязательным параметром. Таким образом, можно выделить два вида записи линейной формы – краткую и полную.

Краткая форма записи (Если … То ….) не содержит часть Else операторы 2.

 

If логическое_выражение Then оператор1

 

– логическое_выражение – любое логическое выражение, допустимое в Бейсике;

– оператор1 – любой оператор (или группа операторов в одну строку через разделитель – двоеточие) Бейсика, который исполняется при выполнении условия, заданного логическим_выражением. Действие оператора If поясняется блок-схемой, приведенной на рис. 3.

 

Рис. 3. Краткая форма оператора If … Then

 

Полная форма записи (Если … То …. Иначе) содержит часть Else операторы 2.

 

If логическое_выражение Then операторы 1 Else операторы 2

 

– операторы 2 выполняется только тогда, когда логическое_выражение ложно. Действие оператора If поясняется блок-схемой, приведенной на рис. 4.

 

Рис. 4. Полная линейная форма оператора If…Then

 

Пример 2. Определение количества знаков в числе от 0 до 1000

 

Sub lineynaya_forma_If()

Dim x As Single

Dim y As Integer

m1: x = InputBox("Введите целое положительное число в интервале от 0 до 1000", "Запрос задачи")

'повтор ввода, если ввели не отвечающее требованиям число

If x < 0 Or x > 1000 Or x <> Int(x) Then GoTo m1

If x < 10 Then y = 1

If x < 100 Then y = 2

If x < 1000 Then y = 3

If x = 1000 Then y = 4

MsgBox "Число " & x & " имеет " & y & " знака",, "Решение задачи"

End Sub

Результат программы:

 

 

 

Блочный синтаксис оператора If … Then

 

Эта форма применяется, когда необходимо выполнить несколько операторов или выполнить более сложный выбор в процедурах, выбирая между двумя, тремя или более ветвями. При этом исполняемые операторы записываются в несколько строк – блок. Блок должен заканчиваться оператором End If (конец блока If).

 

If логическое_выражение_1 Then

[блок_операторов_1]

ElseIf логическое_выражение_2 Then

[блок_операторов_2]

……………………………………………………………………………………………………

ElseIf логическое_выражение_N–1 Then

[блок_операторов_N–1]




Поделиться с друзьями:


Дата добавления: 2014-10-23; Просмотров: 632; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.