Безусловный оператор перехода 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

Здесь:

 

 
Selectcase – ключевые слова, название оператора множественного выбора;

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

 
caseеlsе

У=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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!