Безусловные операторы
Оператор присваивания имеет вид:
:=
В качестве имени переменной может использоваться как простая переменная, так и переменная, инициализирующая обращение к элементу списка. В операторе присваивания допускается использовать знак = вместо :=.
Оператор безусловного перехода:
GОТО
При выполнении оператора GOTO осуществляется передача управления оператору, помеченному меткой:
Оператор выхода из процедуры:
RETURN Оператор вызова процедуры:
САLL ( ;)
Оператор цикла:
FOR :=
ТО [ STEP ]
NEXT [ ]
349
Здесь и определяют соответственно начальное и конечное числовые значения переменной цикла, a STEP задает значение шага изменения переменной цикла, при отсутствии части STEP значение шага равно 1.
Внутри тела цикла могут использоваться вложенные циклы. При организации таких циклов применяются оператор продолжения CONTINUE и оператор выхода EXIT. Оператор CONTINUE имеет вид:
CONTINUE []
При выполнении данного оператора управление передается на оператор NEXT текущего цикла либо оператору NEXT объемлющего цикла, параметром которого является переменная, указанная в операторе CONTINUE.
Оператор выхода EXIT задается в виде:
EXIT []
и инициирует передачу управления оператору, расположенному за оператором NEXT текущего цикла, либо за оператором NEXT объемлющего цикла, параметром которого является переменная, указанная в операторе EXIT.
Условный оператор
Условный оператор задается в следующей форме:
IF ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ> THEN [ЕLSЕ]
Примеры операторов:
r = sqrt(x"2+yA2)
'x[i][j] = 0
RETURN
Loop:
GOTO loop_end
loop_end: NEXT
CALLquicksort('Age,'Height,'Weight;'Fact)
= ptor(r1 ,theta1) + ptor(r2,theta2)
IFx>=0 THEN y=sqrt(x)
IF Iog(x)>a THEN y=0 ELSE y='unknown
IFx[i][j]=0 THEN return ELSE goto loop
IF evltd('x, 1,0) THEN y=x^2 ELSEy=z^2
FOR i = j TO k
x[i] = (k-j)*i
NEXT i
Примеры описания и использования процедур:
================= PROCEDURE FUNCTION: Simpson =================
Comment: Определенный интеграл, метод Симпсона
Parameter Variables:
350
Input Variables: fun,a,b,n Output Variables: value
S Statement---------------
; Обозначения: fun - имя правила, процедуры, списка или встроенной
; функции определения подынтегрального выражения
; а,b - верхний и нижний пределы
; n - число шагов интегрирования (четное число)
; value - значение определенного интеграла
; Описание: Стандартный метод численного интегрирования
; с полиномиальной аппроксимацией второй степени
; подынтегрального выражения
if mod(n,2)<>0 then call errmsg("odd numbers of intervals, must be even")
h = (b-a)/n
k=1
value = 0
for i = 2 to n
x = x + h
k = 3-k
value = value + k*apply(fun,x)
next i
value = (2*value + apply(fun,a) + apply(fun.b)) * h/3
Рис 25 6 Описание и использование процедуры Factorial
351
В приведенном примере apply представляет собой встроенную функцию, которая позволяет использовать ее аргумент (fun) для ссылки к имени функции, которая будет вычисляться с аргументом х. Конкретное значение fun определяется при обращении к процедуре-функции Simpson.
Пример описания и использования процедуры-функции для решения задачи вычисления 4! приведен на рис. 25.6.
В окне ТК Solver после решения задачи показаны три панели:
Variable Sheet с переменными п1 (входная переменная типа Input с значением 4) и fact (выходная переменная типа Output с результирующим значением 24);
Rule Sheet с правилом вычисления значения fact, содержащим обращение^ процедуре-функции Factorial;
Procedure: Factorial с описанием процедуры-функции Factorial, предназначенной для вычисления п!.
352
343 :: 344 :: 345 :: 346 :: 347 :: 348 :: 349 :: 350 :: 351 :: 352 :: Содержание
Содержание раздела