Определение нестандартных функций оператором DEF FN.
Общий вид оператора
DEF FNV(<аргументы>) = <арифметическое выражение>,
где V - имя функции; <аргументы>- простые переменные - формальные аргументы функции; <арифметическое выражение>- формула, по которой вычисляется функция.
Арифметическое выражение в правой части должно содержать хотя бы один из формальных параметров, но может содержать также и другие переменные, общие для всей программы.
Оператор DEF FN должен располагаться в программе до первого использования определяемой им функции.
Вычисление функции, описанной оператором DEF FN, осуществляется при обращении к ней при помощи записи указателя функции
FNV (<арифметические выражения>) ,
где <арифметические выражения>, заменяют формальные параметры в арифметическом выражении правой части оператора DEF FN перед вычислением.
Пример 2. Вычислить значение функции
, где .
Здесь m - номер варианта, n –номер группы.
QuickBASIC - программа для примера 2:
REM LR-1-2, m=13, n=5
DEF fnf(x,y) = cos(x^2+y^2)
INPUT m, n
z=(fnf(m/n, -2*n)+ fnf(3*(m+n), -5.5*m))/2/(m+n)
PRINT “z=”; z
END
Программы разветвляющейся структуры
На языке QuickBASIC.
Для составления разветвляющихся программ используются операторы безусловной и условной передачи управления (см. рис. 2.2). В разветвляющихся вычислительных процессах последовательность выполнения операций заранее не определена и ставится в зависимость от результатов проверки заданных условий.
Оператор безусловного перехода. Общий вид оператора
GO TO N,
где N метка. Этот оператор передает управление первому оператору в строке с меткой N.
Условные операторы. Условные операторы служат для изменения порядка выполнения операторов в зависимости от какого - либо условия.
Условные операторы могут использоваться для организации циклов и разветвлений.
Общий вид условных операторов
1) IF «условие» THEN (или GO TO) N;
2) IF «условие» THEN «действие»;
3) IF «условие» THEN «действие 1» ELSE «действие 2»;
IF «условие 1» THEN
«Блок 1»
ELSEIF «условие 2» THEN
«Блок 2»
. . .
ELSE
«Блок K»
ENDIF
где условие имеет вид
(арифметическое выражение 1) θ (арифметическое выражение 2)
θ - одна из операций отношения <, <=, >, >=, =, <>;
N - метка; действие - любой оператор QuickBASICа, в том числе это может быть другой условный оператор.
Сочетание THEN IF позволяет "вкладывать" условия друг в друга. Например,
IF Q >= 3.5 THEN IF Q < 7.4 THEN 20
Действие условного оператора заключается в следующем:
если условие удовлетворяется, то в первом случае осуществляется переход к строке с меткой N=20, во втором и в третьем случаях выполняется оператор, следующий за THEN.
Если условие не удовлетворяется, то в первом случае осуществляется переход к оператору, следующему за условным. Во втором случае осуществляется переход к первому оператору следующей строки,
т. е. все операторы в строке, следующие за условным оператором, при этом игнорируются. В третьем случае выполняется действие, записанное после ключевого слова ELSE.
Возможна одновременная проверка нескольких условий, соединенных словами:
OR - условие считается выполненным, если выполняется хотя бы одно из проверяемых условий;
AND - условие выполнено, если выполняются все проверяемые условия одновременно;
XOR - условие выполнено, если выполняется ровно одно из двух проверяемых условий.
Пример 3. Вычислить
где .
Рис. 2.2. Блок - схема разветвляющегося вычислительного процесса
QuickBASIC - программа для примера 3 (см. блок – схему разветвляющегося вычислительного процесса на рис. 2.2.):
REM LR-2-1, m=13, n=5
INPUT "m,n="; m,n
X=3*COS(m/n)
IF X<0 THEN
Y=X^2+3*X-7
ELSEIF X>=0 AND X<1 THEN
Y=2*X-1
ELSE
Y=EXP(X)
ENDIF
PRINT "X="; X, "Y="; Y
END