Контрольная работа: Программирование на Турбо Паскале

else if not(i=n) and (j=m)

then begin{рекурсивнаяветвь}

Writeln('│','Вход ',k:7,'│',s:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');

tsum:=sum1(n,m,i+1,1,s+a[i,j],k+1,a);

sum1:=tsum;

Writeln('│','Выход ',k:6,'│',tsum:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│')

end {рекурсивнаяветвь}

else begin{рекурсивнаяветвь}

Writeln('│','Вход ',k:7,'│',s:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');

tsum:=sum1(n,m,i,j+1,s+a[i,j],k+1,a);

sum1:=tsum;

Writeln('│','Выход ',k:6,'│',tsum:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│')

end; {рекурсивная ветвь}

end;{восходящая рекурсия}

function sum2(n,m,i,j,k : integer; a : matrix):integer;{нисходящаярекурсия}

var

tsum :integer;

begin

if (i=n) and (j=m)

then begin {терминальнаяветвь}

Writeln('│','Терм. ветвь':12,'│',a[i,j]:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');

sum2:=a[i,j];

end {терминальнаяветвь}

else if not(i=n) and (j=m)

then begin{рекурсивнаяветвь}

Writeln('│','Вход ',k:7,'│',0:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│');

tsum:=sum2(n,m,i+1,1,k+1,a)+a[i,j];

sum2:=tsum;

Writeln('│','Выход ',k:6,'│',tsum:26,'│',' a[',i,',',j,']=',a[i,j]:7,'│')

К-во Просмотров: 305
Бесплатно скачать Контрольная работа: Программирование на Турбо Паскале