Материал: Алгоритмический язык Turbo Pascal 7.0. Юршин Е.Д., Рог А.И

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

y:=1; for_i:=1_to_n_do y:=y*x;

End;

где x и y – глобальные параметры;

В данном случае процедура STEP2 не содержит списка формальных параметров и работает только с локальной переменной i, описанной в данной процедуре, а переменные x, n и y обязательно должны быть описаны в основной программе с помощью описателя var. В последующем случае такие переменные x, n и y называются глобальными (общими) по отношению к процедуре step2, т.е. значения глобальных переменных могут быть доступны как для головной программы, так и для самой процедуры.

Данные два варианта процедур для одного и того же алгоритма рассмотрим в составе головной программы. С этой целью заменим имена переменных n- на m, x- на a и

y- на z. Т.е. в процедуре y, x и n- формальные параметры, а

z, a и m- фактические параметры головной программы. Кроме того, исходя из того, что показатель степени может быть нулевым, положительным и отрицательным, выражение возведения в степень запишем более подробно:

1, если m

0;

 

z am am , если m

0;

 

1

, если m 0;

 

 

 

 

 

am

 

 

 

z a

m

1

 

 

 

 

 

 

am

 

 

 

 

Здесь

С учетом последнего обстоятельства, взяв за основу процедуру Step1, составим структурную схему общего алгоритма возведения в степень (головная программа – процедура):

 

 

 

 

 

 

НАЧАЛО

 

 

 

 

 

 

 

 

 

 

 

 

Ввод a,m

 

 

 

 

 

 

 

 

 

да

 

m=0

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z:=1

 

 

 

 

 

 

 

 

 

нет m>0

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

STEP1

 

 

 

STEP1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-m,1/a,z

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПЕЧАТЬ Z

КОНЕЦ

Рис. 4.2.6. Структурная схема

алгоритма возведения в степень.

Полезно, также, привести отдельную структурную схему алгоритма процедуры возведения в степень (например STEP1)

Вход в процедуру

(1,x)

y:=1

i=i(1)…n

y:= y*x

Выход из процедуры

с переменной (y)

Рис. 4.2.7. Структурная схема процедуры.

Данным структурным схемам алгоритма соответствует следующий вариант программы:

Program_step4;

Var

m:integer;

a, z:real;

Procedure_step1 (n:integer; x:real; var y:real); Var

i:integer; Begin

y:=1; for_I:=1_to_n_do y:=y*x;

end;

Begin

Read (a, m);

if_m:=0_then_z:=1; else_if_m>0_then_step1 (m, a, z); else_step1 (-m, 1/a, z);

Write (z); End.

В данной программе обращение к процедуре step1 дважды осуществлено с помощью оператора if.

При этом, в процедуре произойдет замена формальных параметров n, x, y на фактические m, a, z. В другом случае - n, x, y на m, 1/a, z и затем в головную программу осуществляется возврат с результатом z, который в процедуре выступает как y.

Составить второй вариант программы, используя процедуру step2 без параметров (глобальные параметры или переменные).

Program_step5; Var

n:integer;

x,y:real;

Procedure_step2; Var

i:integer; Begin

y:=1; for_i:=1_to_n_do y:=y*x;

end;

Be gin

Read(n, x); if_n:=0_then_y:=1 else

if_n>0_then_step2 else;

Begin

n=-n; x:= 1x ;

Источник: https://studfile.net/preview/16565609/