Лекция 3 Условный оператор

Лекция 3Условный оператор

Программы, составленные исключительно из операторов присваивания и ввода-вывода, могут иметь только линейную структуру:

437601952

Рисунок 1. Блок-схема линейного алгоритма

Между тем, часто бывает нужно, чтобы какой-нибудь блок программы выполнялся или не выполнялся в зависимости от задаваемого условия. Для подобного разветвления вычислительного процесса служат условные операторы. В Visual Basic имеется 2 формы условного оператора: полная и сокращённая.

437601971

Рисунок 2. Блок-схема разветвленного алгоритма.

Сокращённый условный оператор

Блок-схема сокращенного условного оператора представлена выше на Рис.2. В общем виде сокращенный условный оператор выглядит следующим образом:

IFЛогическое выражениеTHENОператор

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

Примеры использования условного оператора в сокращенной форме:

IF X>Y THEN Max=X

или

IF B=0 THEN A=Y/X

Полный условный оператор

437601990

Рис.3. Блок-схема условного оператора полной формы

В общем виде полный условный оператор выглядит следующим образом:

IFЛогическое выражениеTHENОператор1ELSEОператор2

Эта запись читается следующим образом: «если логическое выражение справедливо, то выполняется первый оператор, если ложно — второй оператор».

Пример полного условного оператора:

IFj<0 THENi=i+1 ELSEj=j+1

Однострочная и блочная запись условного оператора

Рассмотренные нами выше условные операторы были записаны в одну строку и поэтому относятся к разновидности однострочных условных операторов (однострочный синтаксис записи условного оператора). Однострочные условные операторы применяют, если в случае истинности или ложности заданного условия должен быть выполнен только один оператор (каждая из ветвей алгоритма, входящая в условный оператор, содержит по одному оператору).

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

437602008

Рис.4. Схема блочного условного оператора

В таких случаях применяется блочный синтаксис записи условного оператора (блочный условный оператор).

Блочная запись условного оператора
Сокращённая формаПолная форма

IFусловиеThenОператор 1

Оператор 2

EndIf

IFусловиеThenОператор 1

Оператор 2

ELSE

Оператор 3

Оператор 4

EndIf

Примеры блочного синтаксиса условного оператора:

'Блочный оператор сокращённой формы

IF X<>0 THEN

A = Y/X

MsgBox «A= » + STR(A)

End If

' Блочный оператор полной формы

IF X<Y THEN

Y = 2*K

X = Y^K

ELSE

X = X+0.01

Y = Y-K

End If

Создание сложных разветвлений алгоритма
с использованием вложенного условного оператора

Операторы, включаемые в условный оператор, в свою очередь также могут быть условными:

437602024

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

IF условие1 Then

IF условие2 Then

Оператор 2

EndIf

ELSE

Оператор 1

EndIf

Рассмотрим фрагмент программы с условным оператором вложенной формы:

IF j>0 THEN

IF X<Y THEN

X=X+0.5

End If

ELSE

Y=Y+0.5

EndIf

Приведем пример программы, использующей условный оператор.

Дано: значения Х и Y. Если Х<0, то Z равно максимальному из Х и Y; иначе (если Х≥0) Z равно минимальному из X и Y. Эту задачу сокращённо можно выразить такой записью:

clip_image009

Напишем текст программы.

Option Explicit

Sub Primer( )

Dim X, Y, Z As Single

X=VAL(InputBox(«X=»,"",""))

Y=VAL(InputBox(«Y=»,"",""))

IF X<0 THEN

IF X>Y THEN Z=X ELSE Z=Y

ELSE

IF X<Y THEN Z=X ELSE Z=Y

End If

MsgBox «Z= „+STR(Z)

End Sub

Операции отношения и логические операции

Операции отношения позволяют сравнивать 2 значения, результатом сравнения являются данные логического (boolean) типа, а именно- правда или ложь (true или false).

В Visual Basic имеются следующие операции отношения:

= — равно;

< > — не равно;

< — меньше;

> — больше;

<= — меньше или равно;

>= — больше или равно.

Если сравнение справедливо (соответствует действительности), то результатом будет правда (true), в противном случае — ложь (false).

Построенные с помощью операций отношения простые пары сравнений типа A>B или С=8 могут объединяться в более сложные логические выражения с помощью логических операций: OR (или), AND (и), NOT (не): (A=B) AND (C>D).

Пример:

Дано число F. Удвоить его, если оно входит в диапазон от 1 до 9.

Option Explicit

Sub Primer( )

Dim F As Single

F=VAL(InputBox(“F= »,"",""))

IF (F>=1) AND (F<=9) THEN F=F*2

MsgBox «F= „+STR(F)

End Sub

Функция IIF(условие, выражение1, выражение2)

764
RSS
Нет комментариев. Ваш будет первым!
Загрузка...
Этот сайт использует файлы cookies, чтобы облегчить вам пользование нашим веб-сайтом. Продолжая использовать этот веб-сайт, вы даете согласие на использование файлов cookies. Подробнее о том, как мы пользуемся файлами cookies и как ими управлять, вы можете узнать нажав на ссылку ниже.