Безусловный оператор перехода Goto
Этот оператор передает управление вычислительным процессом, без всякой проверки условия.
Здесь <метка> определяет имя того оператора в программе, куда передается управление.<Метка > может быть как буквенно-цифровой, так и цифровой. В последнем случае метка определяет номер строки, на которой записан оператор, которому передается управление, например: ....................................
go to a
....................................
а: print y
....................................
или
..................................
go to 13
..................................
13 print y
...................................
4.4. Оператор множественного выбора Selectcase
Турбо Бейсик располагает специальным оператором множественного выбора, обеспечивающим создание сразу большого количества вычислительных ветвей, в зависимости от условий. Этот оператор называется оператором выбора Select .
Формат оператора select :
SelectCase выражение
Caseзначение 1tо значение 2
оператор 1
...............
оператор n
Caseзначение Зto значение 4
оператор 1
...............
оператор m
Case значение 5
оператор 1
................
oператор 1
caseelse
_________
оператор I
.................
оператор k
endselect
Здесь:
Endselect - оператор окончания всей конструкции выбора;
<выражение> - арифметическое выражение (либо идентификатор переменной), которая вычисляется;
<значение1>, <значение2>, <значениеЗ>, <значение4> - характеристики, определяющие возможный диапазон изменения значений атрибута <выражения>, могут быть записаны как в виде констант, так и в виде идентификаторов переменных;
|
|
<значение 5> - атрибут, определяющий одно конкретное значение.
Caseelse - атрибуты, открывающие ту часть предложения, которая выполняется, если <выражение> не совпадает ни с одним из диапазонов значений атрибутов <значения>.
Алгоритм выполнения оператора Selectcase следующий:
1) сначала вычисляется <выражение> ;
2) полученное значение сравнивается с диапазоном значений
<значение 1>и <значение 2> , либо <значение 3> и <значение 4> , стоящих в строках с атрибутами case ......... to .........., либо со значением <значение 5> в строке с атрибутом case;
3) если значение <выражения> попало в один из заданных диапазонов, либо совпало со значением <знач.5> , то исполняется группа операторов, следующих за этими конструкциями (в формате они взяты в рамочку), после чего управление передается к оператору, следующему за endselectто есть на продолжение программы;
4) в противном случае выполняется группа операторов, стоящих за атрибутами caseelse .
Рассмотрим пример использования этого оператора. Составим программу вычисления параметров Y, если он задается комбинаторным способом:
|
|
I I, если a<=x<b, интервал ( i = 1);
У = { 2, если c<Х<d, интервал ( i = 2);
I 0, для всех других значений х, интервал (i=0)
Здесь a , b , c , d – исходные значения.
rem программа разветвлённой структуры
rem с использованием оператора множественного выбора selectcase
input“r="; a' ввод параметра а
input“b=”;b' ввод параметра b
input “c=”;c’ ввод параметра С
input “d=";d’ ввод параметра d
input “x=”;x’ ввод произвольного значения х
SelectcaseX' начало оператора множественного выбора
Caseb ' вычисление У при Х= b
У=0: i=0
Case С ' вычисление Y при Х=С
Y=0:i=0
Cased ' вычисление У при Х=d
У=0: i=0
Caseatob‘ вычисление У на отрезке от a до b
У=1:i=1
Casectod вычисление y на отрезке от c до d
У=2 : b = 2
У=0: i=0
Еnd select
Print “y=”;y “интервал равен”;
Stop
Переход к метке по указателю ц e л o й части
Выражения ongoto
Формат оператора:
Оn выражение go to меt 1, met 2, ...
Здесь:
<выражение> - арифметическое выражение, либо идентификатор переменной;
мет 1,мет 2,... - список меток, куда передается управление
Алгоритм выполнения следующий:
1) вычисляется <выражение> ,
2) в зависимости от целой части <выражения > упражнение передается на один из помеченных операторов в программе из списка меток.
|
|
Если целая часть равна I, то управление neредаётся оператору с меткой <мет 1 >; если целая часть равна 2, то управление передается оператору с меткой <мeт 2> и т. д.
3) если целая часть < выражения > меньше I, либо больше, чем количество меток, то компилятор Бейсика печатает сообщение об ошибке.
Например:
................................
a1=2
.................................
on al goto 13, 20, 154
13 y=1
..................................
20 y=2
...................................
154 y=3
В этом примере параметр у примет значение, равное 2.
Дата добавления: 2021-11-30; просмотров: 18; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!