下面两个问题,解答一个也行呀!

来源:百度知道 编辑:UC知道 时间:2024/06/23 05:39:30
program text3(input,output);
Var m,n,p:integer;
x:real;
procedure mm(var m:integer;x:real);
var n:integer;
begin
m:=m+1;
n:=m+1;
x:=n*3;
p:=n;
end;
begin
m:=8;n:=5;p:=3;x:=1.0;
mm(n,x);
writeln (m:5,n:5,p:5,x:6:1);
end.
program example;
var
n:byte;
a:array[1..100] of longint;
function f(n:byte):longint;
var i:longint;
begin
if a[n-1]>0 then i:=a[n-1]
else i:=f(n-1);
if a[n-2]>0 then i:=i+a[n-2]
else i:=i+f(n-2);
a[n]:=i;f:=i;
end;
begin
fillchar(a,sizeof(a),0);
a[1]:=1;a[2]:=1;
writeln('F(',8,')=',f(8));
end.
一个程序中P的输出值,麻烦理由详细一点.第二个程序中递归的具体操作.解答任意一个均可.还有几天就考试了,麻烦大家关注一下,相互问一问,谢谢!!!

的确是PASCAL
我给你分一下段

程序1
program text3(input,output);
Var m,n,p:integer;
x:real;

//这是一个内嵌子程序
procedure mm(var m:integer;x:real);
var n:integer;
begin
m:=m+1;
n:=m+1;
x:=n*3;
p:=n;
end;

//这是主程序的入口点
begin
m:=8;n:=5;p:=3;x:=1.0;
mm(n,x);
writeln (m:5,n:5,p:5,x:6:1);
end.

程序2
program example;
var
n:byte;
a:array[1..100] of longint;

//这是一个内嵌子程序
function f(n:byte):longint;
var i:longint;
begin
if a[n-1]>0 then i:=a[n-1]
else i:=f(n-1);
if a[n-2]>0 then i:=i+a[n-2]
else i:=i+f(n-2);
a[n]:=i;f:=i;
end;

//这是主程序的入口点
begin
fillchar(a,sizeof(a),0);
a[1]:=1;a[2]:=1;
writeln('F(',8,')=',f(8));
end.