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

3.2. Линейный, разветвляющийся и циклический процессы

ОПРЕДЕЛЕНИЕ 1: линейным процессом называется процесс, все действия которого выполняется последовательно друг за другом в том порядке, в котором они записаны.

REM <текст> – оператор комментария. В программе никаких действий не совершает. Служит для подписи программы и ее отдельных частей.

INPUT [<”текст”>;] <список переменных> – оператор ввода значений переменных с клавиатуры. Выполняется следующим образом: текст, записанный в кавычках после INPUT, выводится без изменений на экран, затем программа останавливается и ожидает, когда с клавиатуры напечатают значение переменной и нажмут ENTER. Введенное значение присваивается переменной. Если в списке несколько переменных, их значения вводятся через запятую.

LET <имя переменной>=<выражение> – оператор присвоения (выражение – это математическая формула, записанная по правилам языка BASIC). Выполняется следующим образом: вычисляется значение выражения и присваивается переменной, указанной слева от знака равенства. Может быть использован без служебного слова LET.

PRINT [“текст”] [<список переменных>] – оператор вывода на экран. Может использоваться также в одном из видов:

а) PRINT – выводится пустая строка на экран;

б) PRINT “текст” – выводится на экран текст, записанный в кавычках;

в) PRINT [<список переменных>] –на экране появляется список числовых значений переменных, указанных после PRINT.

В операторе PRINT между [“текст”] и [<список переменных>] может стоять как запятая, так и точка с запятой. Запятая показывает, что между [“текст”] и [<список переменных>] вставляется несколько пробелов, а точка с запятой показывает, что [“текст”] и [<список переменных>] выводятся без пробелов.

STOP – оператор останова работы программы.

END – оператор конца программы.

ОПРЕДЕЛЕНИЕ 2: Разветвляющийся процесс – это процесс, в котором вычисления производятся либо по одним, либо по другим правилам в зависимости от выполнения или невыполнения некоторого условия. Этот процесс могут обеспечивать операторы условного и безусловного перехода.

IF <условие> THEN [оператор1] ELSE [оператор2] – оператор условного перехода. Он работает следующим образом: проверяется условие – если оно выполняется, то совершаются действия, записанные после THEN, затем программа переходит к следующей строке; если же условие не выполняется, то то совершаются действия, записанные после ELSE.

Строчная форма оператора IF…THEN…ELSE:

Вид оператора: IF <условие> THEN <оператор1> ELSE <оператор2>

Оператор выполняется по правилу: если верно условие, выполняется оператор1 в противном случае выполняется оператор2; и в том и в другом случае управление потом передается в следующий за оператором IF…THEN…ELSE оператор.

Блочная форма оператора IF…THEN…ELSE:

Вид оператора:

IF <условие 1> THEN

[блок_операторов 1]

[ELSEIF <условие 2> THEN

[блок_ операторов 2]]...

[ELSE

[блок операторов n]]

END IF

Здесь: блок операторов – один или несколько операторов в одной или нескольких строках

Оператор выполняется по правилу: если верно условие 1, выполняется блок операторов 1; иначе, если верно условие 2, выполняется блок операторов 2…;если ни одно из условий не выполнено, выполняется блок операторов n. После выполнения любого блока выполнение оператора завершается и управление передается в следующий за оператором IF…THEN…ELSE оператор.

GOTO N – оператор безусловного перехода к строке с меткой (номером) N.

Определение 3: Циклический процесс – это процесс, в котором часть действий, описанных один раз, выполняется несколько раз. В циклическом алгоритме всегда есть переменная цикла, которая меняется при каждом повторе цикла и по значению которой принимается решение – продолжать или прекратить повторения.

Оператор цикла FOR…NEXT

Вид оператора: FOR <счетчик> = <начало> TO <конец> [STEP <шаг>]

[операторы]

NEXT [счетчик]

Здесь: счетчик – переменная,

начало – выражение, значение которого будет начальным значением счетчика,

конец – выражение, значение которого является предельным для счетчика,

шаг – выражение, значение которого определяет на сколько меняется счетчик, пробегая все свои значения от начального до конечного.

Замечание: если параметр шаг в операторе FOR…NEXT отсутствует, он по умолчанию считается равным единице.

Замечание: начальное, конечное значения счетчика и шаг должны быть согласованы, иначе оператор выполняться не будет.

Условия согласования следующие: в случае, когда «начало» < «конец», «шаг» должен быть положительным, иначе – отрицательным.

Порядок выполнения оператора удобно

проиллюстрировать блок – схемой:

О ператор: FOR x = a TO b STEP h

операторы NEXT x

Выполнение цикла завершается когда значение счетчика выйдет за пределы своего конечного значения.

Оператор цикла WHILE…WEND

Вид оператора: WHILE <условие>

операторы

WEND

Здесь: условие – любое логическое выражение.

П орядок выполнения оператора удобно проиллюстрировать блок – схемой:

Таким образом, выполнение цикла завершается, когда перестает быть верным условие. Если же условие сразу будет неверно, цикл вообще выполняться не будет. В случае, когда условие всегда верно, цикл будет выполняться бесконечно.

Замечание. Значению «истина» в QBASIC соответствует -1, а значению «ложь» 0, поэтому вместо логических выражений, которые после вычислений будут заменены своими значениями -1 и 0 можно сразу записывать их значения. Например, цикл WHILE -1 ….WEND будет повторяться бесконечно, а цикл WHILE 0 ….WEND не будет выполнен ни одного раза.