Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УП(информатика).doc
Скачиваний:
224
Добавлен:
14.02.2015
Размер:
6.11 Mб
Скачать
      1. Разветвляющаяся алгоритмы. Условные операторы

Ветвление - выбор пути решения задачи в соответствии с выполнением или невыполнением некоторого условия выбора. Алгоритмы, в которых последовательность выполнения некоторых действий зависит от выполнения проверяемых условий, называются нелинейными или разветвляющимися.Для записи условий используются логические выражения, которые также называют условными выражениями. Условные выражения могут быть простыми и сложными.

Простое условие - это два выражения, между которыми помещается знак сравнения.

Примеры записи простых условий: A>0, C<=D, B<>0 и т. д.

Сложное условие - это последовательность простых условий, заключенных в круглые скобки, которые соединены между собой знаками логических операций: And (и) - логического умножения, Or (или) - логического сложения, Not (не) - логического отрицания.

Примеры записи сложных условий: (A>B) AND (B>C), (A>=B) OR (A<=C) OR (A=D) и т. д.

Истинность сложных условий определяется по результатами логических операций (Таблица 38)

Таблица 38 - Таблица истинности логических операций

Значение операндов

Результат операции

А

В

А AND В

А OR В

NOT A

False

False

False

False

True

False

True

False

True

True

True

False

False

True

False

True

True

True

True

False

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Этот оператор в языке Visual Basic имеет две формы записи: упрощенная однострочная форма и более сложная многострочная форма. Различают два вида условных переходов: двойной условный переход и одинарный условный переход.

Двойной условный переход работает так: если условие имеет истинное значение, делается переход к выполнению первой серии операторов - Оператор 1, Оператор 1а и т.д., стоящих после слова Then (Серия1). Если условие имеет ложное значение, делается переход к выполнению второй серии операторов: Оператор 2, Оператор 2а, и т.д., стоящих после слова Else(Серия2). После этого выполнение условного оператора прекращается, и выполняются операторы, стоящие за условным оператором.

Однострочная форма записи условного оператора:

If Условие Then Оператор1 Else Оператор2

Многострочная форма записи условного оператора:

If Условие Then

< Серия1>

Else

< Серия2>

End if

Примечания: полужирным шрифтом выделяются ключевые слова;

О

Рисунок 53 –Составная функция

динарный условный переход работает так:если условие имеет истинное значение, делается переход к выполнению операторов, стоящих после слова Then. Если условие имеет ложное значение, выполнение условного оператора прекращается и начинают выполняться операторы, стоящие за условным оператором. В этом случае оператор условия будет выглядеть так:

If Условие Then

< Серия1>

End if

Или так:

If Условие Then Оператор1

Задача:Создать проект «Составная функция», разработав блок-схему и программу вычисления значений составной функции:

при X=-2; 4; 5

Интерфейс программы (Рисунок 53), описание изменённых свойств объектов их блок-схемы и тексты программ приведены ниже (Таблица 39, Таблица 40).

Таблица 39 - Изменённые свойства объектов проекта «Составная функция»

Объект

Свойство(Properties)

Новое значение

1

UserForm1(форма)

Caption (Заголовок)

Вычисление значения функции

2

CommandButton1 (Кнопка)

Caption (Заголовок)

Пуск

Name(Имя)

Com1

3

Textbox1

Name

Тх

4

Label1

Caption

введите значение Х

5

Label2

Caption

Вывод значения функции

Таблица 40 – Блок схема и процедура проекта «Составная функция»

Блок схема

Текст процедуры расчёта составной функции

Private Sub Com1_Click()

Dim X As Single, Y As Single

X = Text1.Tx

If X >= 4 Then

Y = 4 * Sqr(X)

Else

Y = 7 * X

End If

Label2.Caption = "Y=" + Str(Y) + " при X=" + Str(X)

End Sub

З

Рисунок 54-Интерфейс проекта «Полугодие»

адача. Создать проект «Полугодие», разработав блок-схемы и программы, в которых определяется полугодие года (первое или второе) по номеру введенного месяца. Полугодие определяется (можно нажать на кнопку « узнай») только когда введён правильный номер месяца.

Проект состоит из двух процедур: первая реагирует на изменение в окне «№ месяца» и если введённый № месяца допустим (1,2,…12) делает доступной кнопку «узнай»; вторая по № месяца определяет № полугодия. Интерфейс программы (Рисунок 54), описание изменённых свойств объектов (Таблица 41) их блок-схемы и тексты программ приведены ниже).

Таблица 41 - Изменённые свойства объектов проекта «Полугодие»

Объект

Свойство(Properties)

Новое значение

1

UserForm1(форма)

Caption (Заголовок)

Полугодие

2

CommandButton1 (Кнопка)

Caption (Заголовок)

Узнай

Name(Имя)

Com1

Enabled(Доступность)

False

3

Textbox1

Name

tnm

4

Label1

Caption

№ месяца

5

Label2

Caption

не известно

Если нужно проверять не одно, а несколько условий, то можно использовать оператор Саse или оператор If , в котором вместо оператора Else (иначе) можно ставить оператор ElseIf (иначе если) и делать условия вложенными таким образом:

If условие 1 Then

Серия 1

ElseIf условие 2 Then

Cерия 2

...

ElseIf условие n Then

Cерия n

Else

Cерия для Else

End If

Таблица 42 – Блок схемы и процедуры проекта «Полугодие»

Блок схема

Текст процедуры

Private Sub tnm_Change()

Dim Nm As Integer

Nm = Val(tnm.Text)

If Nm > 0 And Nm < 13 Then

Com1.Enabled = True

Else

Com1.Enabled = False

Label2.Caption = " не известно "

End If

End Sub

Блок схема

Текст процедуры

нет

да

Private Sub Com1_Click()

Dim Nm As Integer

Nm = Val(tnm.Text)

If Nm > 6 Then

Label2.Caption = " второе полугодие " Else _

Label2.Caption = " первое полугодие "

End Sub

Задача. По номеру введенного весеннего месяца (переменная n) определить название месяца.

Интерфейс программы будет похожим на интерфейс предыдущей программы (Рисунок 54), также как и описание изменённых свойств объектов (Таблица 41), за исключением заголовка формы в котором можно написать «Название весеннего месяца» блок-схемы и текст программы приведен ниже(Таблица 43).

Оператор Саse позволяет выполнить ту или иную серию операторов в зависимости от списка значений арифметическое или текстовое выражение, которое задаётся оператором Select Case ( Например Select Case Nm определяет в качестве выражения значение переменной Nm). Значения вывражения анализируются в операторе Case для анализа может использоваться: список значений (Case 4, 5, 6) ; интервал значений ( Case 1 To 3 ) ; условие, в котором вместо выражения записанного в операторе Select Case можно использовать слово IS ( IS> 5) или сочетанием этих элементов записанных через запятую(Case 4, 5, 6, IS >15).