Оператор IF — QBasic(Бейсик)

Назначение :
Выполняет оператор, или блок операторов, в зависимости от указанного условия.
 
Как записывается :
if a b s then w else d
 
Где :
if — если
a — имя переменной
b — знак отношения
s — имя другой переменной или значение
then — то
w — решение, если условие выполнено
d — решение, если условие не выполнено
else — в противном случае (тогда)
 
Например :
10 Cls
20 Rem Программа-пароль
30 Input «Введите пароль»; u
40 If u = 5 Then Print «Ну ты крут !!» Else Goto 30
50 End

Условные операторы предназначены для изменения порядка выполнения операторов в зависимости от истинности или ложности не которого заданного условия. В языке BASIC допускается использование следующих форм условных операторов:

Формат 1: IF E THEN (GOTO) N

Формат 2: IF E THEN O

Формат 3: IF E THEN O1 ELSE O2

IF, THEN, GOTO, ELSE — ключевые слова;

E — условие, представляющее собой выражение отношения;

N — номер строки;

O — оператор или группа операторов, разделенных символом «:»;

O1, O2 — оператор, группа операторов или номер строки.

В первой конструкции используется одно из ключевых слов THEN или GOTO.

При выполнении оператора IF вычисляется значение выражения отношения E. Если оно оказывается истинным, то в случае использования первого формата оператора IF управление будет передано на строку с номером N. При использовании второго формата опера тора IF будет выполнен оператор O (или группа операторов, разделенных двоеточием), записанный после ключевого слова THEN. Далее управление передается на следующую строку программы.

Если значение условия E оказывается ложным, то конструкция, стоящая после ключевого слова THEN игнорируется, и управление передается строке, непосредственно следующей в программе за оператором IF.

Операторы IF или GOTO могут быть использованы для организации разветвлений или циклов.

Пример : Протабулировать функцию 

на интервале-1<=x<=1 c шагом 0.3.

10 INPUT «Введите значения X1,X2,X3,B,A»;X1,X2,X3,B,A

20 X=X1

30 Y=(B*X^2-A)/(EXP(A*X)-1)

40 PRINT «X=»;X;»Y=»;Y

50 X=X+X3

60 IF X<=X2 THEN 30

70 END

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

Пример : IF X=45 THEN 50 ELSE PRINT » НЕВЕРНО «

Если X не равен 45, то выводится сообщение » НЕВЕРНО «. Если X равен 45, то управление передается строке 50.

Применение ELSE усложняет программу. Пользоваться этим форматом оператора IF нужно аккуратно.

Пример : Решить квадратное уравнение ax2+bx+c=0

10 INPUT «Введите значения A, B, C»; A, B, C

20 D=B^2-4*A*C

30 IF D>0 THEN X1=(-B-SQR(D))/(2*A): X2=(-B+SQR(D))/(2*A): PRINT»X1=»; X1; «X2=»; X2 ELSE PRINT «Действительных корней нет»

40 END

В условии E можно указать несколько проверок, соединив их логическими операциями: AND, OR, NOT.

При выполнении оператора : IF X=12 AND Y<0 THEN 100 управление передается строке с номером 100, если одновременно выполнены условия X=12 и Y<0.

Оператор : IF X=12 OR Y<0 THEN 100 передает управление строке с номером 100, если верно хотя бы одно из этих соотношений.

Пример : Найти значение функции

10 INPUT «Введите значения A, B, C, X»; A, B, C, X

20 IF X<A THEN Y=EXP(-A*X)*COS(B*X)

30 IF X>=A AND X<=B THEN Y=TAN(C*X)

40 IF X>B AND X<C THEN Y=EXP(-B*X)*SIN(C*X) ELSE PRINT «Решения нет»: GOTO 60

50 PRINT «Y=»; Y

60 END