Определение нестандартных функций оператором DEF FN.

Общий вид оператора

DEF FNV(<аргументы>) = <арифметическое выражение>,

где V - имя функции; <аргументы>- простые переменные - формальные аргументы функции; <арифметическое выражение>- формула, по которой вычисляется функция.

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

Оператор DEF FN должен располагаться в программе до первого использования определяемой им функции.

Вычисление функции, описанной оператором DEF FN, осуществляется при обращении к ней при помощи записи указателя функции

FNV (<арифметические выражения>) ,

где <арифметические выражения>, заменяют формальные параметры в арифметическом выражении правой части оператора DEF FN перед вычислением.

Пример 2. Вычислить значение функции

Определение нестандартных функций оператором DEF FN. - student2.ru , где Определение нестандартных функций оператором DEF FN. - student2.ru .

Здесь 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. Вычислить Определение нестандартных функций оператором DEF FN. - student2.ru

где Определение нестандартных функций оператором DEF FN. - student2.ru .

 
  Определение нестандартных функций оператором DEF FN. - student2.ru

Рис. 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

Наши рекомендации