Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TurboBasic.doc
Скачиваний:
22
Добавлен:
21.11.2019
Размер:
493.57 Кб
Скачать

3.2 Условный оператор.

В ряде алгоритмов необходимо осуществлять переходы к другим действиям по какому-либо условию или без него. Например: решение квадратного уравнения – если дискриминант меньше ноля, то корней нет, деление – решения нет когда делим на ноль, нахождение символов по условию и т.п.

Условные операторы служат для изменения порядка выполнения операторов в зависимости от какого-либо условия. Условные операторы могут использоваться для организации циклов и разветвлений.

Условный оператор имеет вид

IF условие THEN операторы [ELSE операторы]

Например:

IF a < b THEN t=15 : V=16 ELSE t=17

Действие условного оператора заключается в следующем: если условие выполняется, то выполняется оператор следующий за THEN ; если условие не выполняется то выполняется оператор следующий за ELSE (полное ветвление).

Пример: подсчет произведения

A=2:B=3

? “ Чему равно”; A;”*”;B

INPUT S

IF S=A*B THEN ?”Верно” ELSE ?”Ошибка”

или выполняется переход к первому оператору следующей строки при отсутствии ELSE (неполное ветвление).

Пример: поиск максимального из 2 чисел.

INPUT A,B

LET M=A

IF M<B THEN M=B

? “Максимальное ”; М

Если после THEN или после ELSE располагается целая группа операторов, то можно использовать IF блок, который имеет следую­щую структуру

IF условие THEN операторы ELSE операторы

END IF

При этом ELSE и операторы за ним могут отсутствовать, т.е. воз­можна конструкция

IF условие THEN операторы

END IF

Если после ELSE необходима проверка условия, то используется опе­ратор ELSEIF

IF условие THEN операторы ELSEIF условие THEN операторы

ELSE операторы END IF

Оператор конца END используется для окончания выполнения программы. Может использоваться в программе несколько раз.

Оператор безусловного перехода имеет вид

GOTO метка.

Метка -

Этот оператор передает управление первому оператору в строку обозначенной меткой. Например:

GOTO 5

..........

5 ? «ВЕТВЛЕНИЕ»

Он используется достаточно редко.

Задачи для самостоятельной работы.

  1. Составить программу перемещения точки по экрану по:

  • горизонтали;

  • вертикали;

  • окружности;

  • параболе.

  1. Составить программу движения точки по прямой с:

  • ускорением;

  • замедлением;

  • зеркальным отражением от границ экрана.

3.3 Подпрограммы.

Когда некоторая совокупность действий должна выполнятся в нескольких различных местах программы, то обычно нежелательно каждый раз повторять группу операторов, реализующих эти действия. Например: решение нескольких квадратных уравнений, построение однотипных фигур, вычисления по одинаковым формулам. Чтобы избежать повторений, указанную группу операторов можно записать в программе один раз и обращаться к ней, когда в этом возникает необходимость.

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

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

Использование подпрограмм уменьшает объем занимаемой памяти, улучшает структуру программы, облегчает отладку программы. Создаются большие библиотеки стандартных подпрограмм, которые существенно облегчают программирование.

В Бейсике обращение к подпрограмме осуществляется оператором

GOSUB метка , где метка – идентификатор, обозначающий строку с которой начинается подпрограмма. Подпрограмма заканчивается оператором RETURN. Например:

....

GOSUB aa

....

END

aa: операторы

RETURN

Оператор RETURN осуществляет возврат к оператору, непосредственно следующему за GOSUB. При этом основная программа должна заканчиваться оператором END.

Пример: “Подсчет числа сочетаний”.

CLS

?”Введите N и M (N>M)”

INPUT N,M

L=N:GOSUB 1:C1=P

L=M:GOSUB 1:C2=P

L=N-M:GOSUB 1:C=C1/(C2*P)

? “Число сочетаний С=”;C

END

1 P=1

FOR I=1 TO L

P=P*I

NEXT I

RETURN

Задачи для самостоятельной работы

  1. Построить 3 квадрата, стороны которых уменьшаются в 2 раза.

  2. Подсчитать площади 5 окружностей радиусы которых увеличиваются в 1,5 раза.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]