Условный переход
119. Какое значение будет иметь переменная х после выполнения очередных операторов:
х=0 IF A >0 THEN IF B >0 THEN X=l ELSE X=2
При значениях переменных а и в:
А=1, В=1 А=1, В=-1 А=-1, В=1
120. Запишите в виде одного условного оператора указанные действия:
- известно, что из трех чисел a1, A2 и аз одно отлично от других, равных между собой. Присвоить номер этого числа переменной n;
121. Напишите программу, запрашивающую у пользователя три разных целых положительных числа и находящую сумму двух наименьших из них.
122. Если N=3, то какое значение будет иметь переменная s после выполнения следующего оператора:
S=1: K=2 1: IF K >N THEN GOTO 2 S=S*K K=K+1 GOTO 1 2:? "S="; S
Предупреждение
В сокращенной форме условного оператора при переходе к метке можно опускать оператор goto.
Таким образом, вторая строчка предыдущей программы могла бы выглядеть так:
1: IF К > N THEN 2
Сложные условия
Если для выполнения тех или иных действий нужно одновременное выполнение двух и более условий, то они объединяются логической связкой and (И). Например, программу про набор в Преображенский полк можно было бы изменить таким образом:
CLS INPUT "Как Вас зовут?"; N$ INPUT "Каков Ваш рост в см"; R INPUT "Каков Ваш вес в кг"; М IF R >=180 AND M >=80 THEN?"Вы – достойный кандидат в гренадеры, "; N$ ELSE? N$; '1, к сожалению, вы в гренадеры не годитесь"
Сразу необходимо заметить, что в рассматриваемой версии Бейсика Russian Quick Basic (в отличие от других версий Бейсика) допускается запись неравенства 0<Х<7 именно в такой форме без связки and. Например, программа для вычисления функции:
Выглядела бы следующим образом:
CLS INPUT "Введите значение X"; X IF X > 1 THEN Y=X ^2 IF 0<= X <= 1 THEN Y=X ELSE Y=-2*X+1 ? "Y (X)="; Y
Третье условие мы не рассматриваем потому, что если не выполняются первые два, то, очевидно, х находится в третьем интервале, поскольку описанные условия охватывают всю числовую ось.