Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практические занятия ИНФОРМАТИКА.doc
Скачиваний:
16
Добавлен:
10.02.2016
Размер:
1.52 Mб
Скачать

Операторы передачи управления по вычислению

Формат оператора

ON а.в. GOTO m1 [, m2 [ , … ] ]

а.в. – арифметическое выражение округляется до целого значения от 0 до 255.

Действие оператора состоит в вычислении числового выражения, выборе метки, порядковый номер которой равен вычисленному значению, и передаче управления в соответствующее место программы.

Если значение а.в. равно 0 или превосходит число меток в списке, то управление передается следующему оператору.

Фрагмент программы

Исходные данные

Результат выполнения программы

INPUT С

ON C GOTO F1, F2

K = 1: GOTO F3

F1: K=2: GOTO F3

F2: K=3

F3: PRINT “К=”; K

при С = 0 или при С > 2

K= 1

при С = 1

K= 2

при С = 2

K= 3

Оператор условного перехода if then

Оператор IF THEN [ELSE] позволяет изменить последовательность выполнения программы в зависимости от некоторого условия.

Формат оператора

IF л.в. THEN

оператор 1.1

. . .

[оператор 1.n]

[ EXIT IF ]

[ ELSE

[ оператор 2.1

. . .

[ оператор 2.m ]]]

END IF

Операторный блок IF состоит из THEN - ветви с операторами 1.1 ... 1.n и ELSE – ветви с операторами 2.1 ... 2.m.

Если л.в. – ''истина'', то выполняется THEN – ветвь, в противном случае - ELSE– ветвь. Затем работа продолжается с оператора, следующего за END IF (если ход работы не изменяется операторами EXIT IF или GOTO).

Если л.в. – ''ложь'', но ELSE отсутствует, то выполняется оператор, следующий за END IF.

Фрагмент программы

Исходные данные

Результат выполнения программы

INPUT ''Ввод А, В''; А, В

IF А = В THEN

PRINT “ 1 ветвь А = В”

ELSE

IF А < В THEN

PRINT “ 2 ветвь А < В ”

ELSE

PRINT “3 ветвь А > В”

END IF

END IF

при А = 2

В = 3

2 ветвь А < В

при А = 5

В = 5

1 ветвь А = В

при А = 10

В = 7

3 ветвь А > В

Пример решения задач iia и iiб

Задача IIA

Вычислить значение функции , где.

REM алг. разветвляющейся стр. II А

DIM A, M, N, R, X, C

INPUT “ A, M, N”; A, M, N

X = (A+M) / N

C

= ABS( (X +A) ^ 2 / 2 – X)

IF C < > 0 THEN

R = LOG( C ) / LOG( 5 )

PRINT “R=” ; R

ELSE

PRINT “решения нет”

END IF

END

Задача IIБ Вычислить значение функции

при -2 < x ≤ 5

y = x > 5

0 x ≤ -2

REM алг. разветвляющейся стр. II

DIM A, X, Y

INPUT “ A, X,”; A, X

IF X >= -2 AND X < 5 THEN

Y = TAN ( A * X)

ELSE

IF X > 5 THEN

Y = SIN(2*X) ^ 2

ELSE

Y = 0

END IF

END IF

PRINT “Y =” ; Y

END