遞歸練習(xí)(3)含答案_第1頁
遞歸練習(xí)(3)含答案_第2頁
遞歸練習(xí)(3)含答案_第3頁
遞歸練習(xí)(3)含答案_第4頁
遞歸練習(xí)(3)含答案_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1 寫出下列程序的輸出結(jié)果。program ex1(input,output); var a,b,c,d:integer; procedure p(a:integer;var b:integer);var c:integer;begin a:=a+1; b:=b+1; c:=2; d:=d+1; writeln(m,a,b,c,d); if a3 then p(a,b); writeln(n,a,b,c,d)end; begina:=1;b:=1;c:=1;d:=1;writeln(x,a,b,c,d);p(a,b);writeln(y,a,b,c,d) end.2.

2、 program ex2(input,output); var total:integer; procedure move(n,a,b,c:integer);begin if n=1 then writeln(a,c) else begin move(n-1,a,c,b); writeln(a,c); move(n-1,b,a,c) endend; beginread(total);move(total,1,2,3) end.若total=3, 請寫出程序的輸出結(jié)果.2 program ex3 (input,output);3 procedure receive; var ch:char;be

3、gin read(ch); write(ch); if ch # then receive;write(ch) end;begin receiveend.若輸入567#,則輸出 。4program ex4 (input,output);var m,n,g:integer;function gcd(m,n:integer):integer; begin if n=0 then gcd:=m else gcd:=gcd(n,m mod n) end;begin read(m,n); g:=gcd(m,n); writeln(gcd=,g)end. 若輸入108,72 則輸出 。5寫出下列程序的輸出

4、結(jié)果。program ex5 (input,output);function fac(n:integer):real; begin if n=0 then fac:=1 else fac:=n*fac(n-1) end;function cmn(m,n:integer):real; begin cmn:=fac(m)/(fac(n)*fac(m-n) end;begin writeln(c(6,4)=,cmn(6,4):0:0)end. .6求菲波拉契數(shù)列的第10項(xiàng)的值。已知 a0=0 a1=1 a2=a0+a1 a3=a1+a2 將第n項(xiàng)的a(n)寫成遞歸函數(shù)計(jì)算。program ex6 (

5、input,output);function a(n:integer):integer; begin if n=0 then a:=0 else if then else end;begin writeln( )end.7.寫出下列程序的輸出結(jié)果。program ex1(input,output); var i:integer; function f (n:integer):integer;begin if n=1 then f:=1 else if (n mod 2=0) then f:=2*f(n div 2)-1 else f:=2*f(n-1) div 2 )+1;end; begin

6、readln(i);writeln(f(i);readln; end.若i=8,則輸出 ;若i=9,則輸出 。8.寫出下列程序的輸出結(jié)果。program ex3 (input,output);var number:integer;procedure rd (number:integer); begin write(number mod 10:1); number:=number div 10; if number 0 then rd(number); end;beginreadln(number);rd(number);readln;end.若輸入3462,則輸出 。9.寫出下列程序的輸出結(jié)果

7、。program ex7;function fun(x:integer):integer; begin if(x=0)or(x=1)then fun:=3else fun:=x-fun(x-2) end; begin writeln(fun(9); readln;end.輸出: 10 有程序如下:program zdzx ( output ) ; var x , y , z : integer ; procedure silly1 ( x:integer ; var y : integer ) ;begin x:=5 ; y:=6 ; z:=7 ; writeln (x , y , z)end

8、; beginx :=1 ; y :=2 ; z :=3 ;silly1 ( x , y );writeln ( x , y , z ) end.以上程序的運(yùn)行結(jié)果為 。11 有如下程序:program zdzx2 ( input , output ) ; var x , y : integer ; procedure proc2 (i1:integer ;var i2: integer ) ;begin i1 := x+y ; i2 :=i1*yend; beginx :=5 ; y :=10 ; proc2 ( x , y );writeln ( x , y ) end.以上程序的運(yùn)行結(jié)果

9、為 。12 有程序 program zdzx3 ( output );function p ( x : real ; n : integer ): real; beginif n = 0 then p := 1.0else if odd (n) then p:= x*sqr (p (x , n div 3) else p:= sqr (p (x , n div 3) end; beginwriteln (p (2.0 , 7) : 6 : 1) end.以上程序運(yùn)行輸出為 。13 已知函數(shù)說明如下:function f ( n:integer ) :integer; beginif n=0 t

10、hen f:=0else if n0 then f:=f (n-2) else f :=f (n+3)end;則函數(shù)調(diào)用f (5)的值是 。14 有下列函數(shù)說明:function myf (a,b,c:integer) :integer; var t : integer; begina:=3*a;t:=b div c ; myf := a+4*t end;則表達(dá)式myf (1 , myf (1,2,3 ),3 )的值是 。15 有下列函數(shù)說明:function fun (n : integer) : integer; var s,m : integer; begins:=0;repeat m:

11、=n mod 10 ; s := s+m ; n:= n div 10until n =0 ;fun:=s end;則函數(shù)調(diào)用fun (231)的功能是 。16 已知函數(shù)說明如下:function dn (m:integer ) :integer; var value : integer; beginif m=0 then value:=5else if my then begin t:=x; x:=y; y:=tend end; begina :=8; b :=5 ; swap (a , b );writeln (a:3 ,b:3,t:3 ) end.以上程序的運(yùn)行結(jié)果為 。20 已知函數(shù)說

12、明如下:function p ( n,x:integer ) :integer; beginif n=0 then p:=1else if n=1 then p:=x else p :=trunc(2*n)*p(n-1,x)-(n-1)*p(n-2,x)/n);end;則執(zhí)行語句y:=p (3,5)后y的值是 。21 已知函數(shù)說明如下: function zdz ( num,pos : integer ): integer; beginnum :=abs(num);for i:=1 to pos-1 do num:=num div 10;zdz:=num mod 10 end; 則執(zhí)行函數(shù)調(diào)用

13、語句zdz(4650,6) 后的函數(shù)值是 。22 有如下遞歸子程序:function sub( x:integer ) :integer; var num:integer; beginif x=0 then num:=3else num:=sub(x-1)+3;sub:=num;writeln(x:3,num:3)end;如果主程序中的調(diào)用語句是k:=sub(3),則函數(shù)的輸出結(jié)果是 。23 已知有函數(shù)f1如下:function f1 (a,b:integer) :integer; beginif b=0 then f1:=aelse f1:=f1(pred(a),pred(b) end;執(zhí)行

14、writeln(f1(10,6)的輸出是 。24 有一函數(shù)定義如下:function fun (x,y,z,j : integer) : integer; var i : integer; beginfun:=0;for i:=j to 3 do begin fun:=z-y div x; x:=x-1 end end;變量m為整型變量,當(dāng)執(zhí)行語句m:=fun(fun(2,6,8,3),6,8,3)后變量m的值是 。25.寫出下列程序的輸出結(jié)果。program ex7(input,output); var n,k,dig:integer; function digit ( n, k :inte

15、ger):integer;begin repeat digit:= n mod 10; n:= n div 10 ; k:=k-1 until k=0end; beginread( n,k);dig:=digit (n,k);writeln(dig=,dig) end.若輸入n=15327,k=4,則輸出 ;26.寫出下列程序的輸出結(jié)果。 program ex8(input,output); varn,d:integer;che:boolean;function check (n,d:integer):boolean; var m:integer;begin repeat m:=n mod 1

16、0; n:=n div 10 until (m=d) or ( n=0); check:=m=dend; begin read(n,d); che:=check(n,d); writeln(che) end.若輸入n=3256,d=2,則輸出 .27. 寫出下列程序的輸出結(jié)果。program ex3 (input,output);var a,b,c,m:real;function max (a,b,c:real):real; var ma:real; begin ma:=a; if bma then ma:=b; if cma then ma:=c; max:=ma end;beginread(a,b,c);m:=max(a,b,c)/(max(a+b,b,c)*max (a,b,b+c);wrireln(m=,m:0:5)end.若輸入a=2,b=4,c=3,則輸出 。Answer:1)x1111m2222m3323n3323n2323y13132)1-31-23-21-32-12-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論