Оператор условного перехода
Оператор условного перехода IF используется для передачи управления в различных участках программы по условию, которым является логическое выражение, в частном случае упрощенное.
Имеется 3 синтаксических конструкции IF: IF-THEN, IF-THEN-ELSE и IF-THEN-IF. Последняя конструкция выделена, так как до версии GB она была запрещена.
Синтаксические структуры выглядят следующим образом:
а) IF <условие> THEN ;
б) IF <условие> THEN ELSE ;
в) IF <условие> THEN IF <условие> THEN ;
где IF – ключевое слово «если»; THEN – служебное слово «тогда»; оператор может быть любым, что позволяет использовать конструкцию в); нс – номер строки; ELSE – служебное слово «иначе».
В QB и TB может использоваться и «нс», и метка как в виде цифры или символа(символов), после которой ставится «:».
В каждой из конструкций IF сначала вычисляется заданное условие: TRUE или FALSE. Если «истина», то выполняется конструкция после THEN; если «ложь», то управление передается на следующую строку (в программе для конструкции а) или управление передается конструкции после ELSE.
С помощью конструкции в) можно программировать сдвоенные неравенства.
Пример: Запрограммировать выражение a<b<c.
Решение: IF a < b THEN IF b < c THEN…
Зная логические функции, это неравенство можно запрограммировать проще: IF a<b AND b<c THEN…
Пример.
70 IF A > B THEN IF A < D THEN 120
80 X = A * 3 - C
…
120 X = A
…
Оператор в строке 120 выполняется только при условии попадания А в зону: B<A<D; в противном случае выполняется оператор в строке 80.
Оператор IF может записываться с другими операторами в строке, но если в его составе есть операторы безусловного перехода (GOTO, GOSUB, <нсj>), то он должен быть в строке последним.
В языке БЭЙСИК имеется оператор для организации нескольких ветвлений из одной точки программы. Это арифметический оператор ON
Оператор ON
Оператор ON означает «переключатель». Этот оператор удобно использовать для передачи управления в «к» точек программы пользователя. Его синтаксическая структура:
ON <E> ,
где ON – ключевое слово переключатель; E – арифметическое выражение, которое должно принимать последовательность целых значений 1, 2, 3, …, k.
Переключатель может передавать управление либо через GOTO в разные точки программы, либо через GOSUB к различным подпрограммам.
В зависимости от значения, которое принимает арифметическое выражение, управление передается к порядковому номеру записанных строк нс1…нсk, в соответствии со значением Е.
Основная задача пользователя задать арифметическое выражение Е, которое еще называют переключающим.
Работу оператора ON можно проиллюстрировать на задаче решения квадратного уравнения в общем виде.
Пример. Дано квадратное уравнение . Известно, что корни квадратного уравнения зависят от значения (вернее знака) дискриминанта D, который может быть больше нуля, равен нулю или меньше нуля. Предлагается выбрать в качестве Е следующие выражения:
E = SGN(D) + 2.
При D < 0 E = 1;
D = 0 E = 2;
D > 0 E = 3.
Таким образом, выполнено условие для арифметического выражения. Тогда фрагмент программы может быть следующим:
…
30 ON SGN(D) + 2 100,200,300
…
100 PRINT “Корни комплексные сопряженные”
…
200 PRINT “Корни действительные равные”
…
300 PRINT “Корни действительные разные”
…
Значения параметров строк 100,200,300 взяты произвольно, но их порядковые номера 1,2,3.
Дата добавления: 2021-12-14; просмотров: 276;