tceic.com
简单学习网 让学习变简单
相关标签
当前位置:首页 >> 数学 >>

函数和过程练习题


一、选择题: 1、 下列函数首部或过程首部合法的为( ) A、function total(x:real); B、procedure ab(a,b:real):real C、 procedure sum D、 function f(var f:real):integer; 2、设有过程首部 procedure pro(var x,y:integer); 若 a,b 为整型变量,

其值分别为 5,6,则合法的过程调用语句是 A、pro(5,6) B、pro(b-1,2*a-4) C、pro(‘a’,’b’) D、pro(a,b) 3、若有以下程序 program exam1(input,output); var x,y:real; a,b,c:integer; procedure p1(a,b,c:real); var x:integer; begin …… end; begin …… end. 则下列说法中正确的是( ) A、主程序中 x 的作用域包含过程 p1 B、过程 p1 中 x 的作用域包含主程序 C、主程序中 x 的作用域和过程 p1 中 x 的作用域相同 D、主程序中 x 的作用域不包含过程 p1 4、若有以下程序 program exam2(input,output); var x,y:real; a,b,c:integer; procedure p2(a,b,c:real); var x:integer; begin …… end; begin …… end. 则下列说法中正确的是 A、y 的作用域包含过程 p2 B、y 的作用域不包含过程 p2 C、y 的作用域只限于过程 p2 D、y 的作用域和 x 的作用域相同 5、program test1(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; begin x:=1; y:=2; z:=3; silly1(x,y); writeln(x,y.z) end. 以上程序运行结果为 A、5 6 7 B、5 6 7 5 6 3 5 6 7 C、5 6 7 D、5 6 7 1 6 7 1 6 3 6、program test2(output); var x,y,z:integer; procedure silly2(x:integer; var y:integer); begin x:=5; y:=6; z:=7; writeln(x,y,z) end; begin x:=1; y:=2; z:=3; silly1(y,x); writeln(x,y.z) end. 以上程序运行结果为 A、5 6 7 B、5 6 7 5 6 3 6 2 3 C、5 6 7 D、5 6 7 1 6 3 1 6 7 7、program prog1(input,output); var x,y:integer; procedure proc1(i1,i2:integer); begin i1:=x+y; i2:=i1*y; end; begin x:=5; y:=10; proc1(x,y); writeln(x,y) end. 以上程序执行后的正确输出是( ) A、5 10 B、5 150 C、15 150 D、15 10 8、program prog2(input,output); var x,y:integer; procedure proc2(i1:integer, var i2:integer); begin i1:=x+y; i2:=i1*y; end; begin x:=5; y:=10; proc2(x,y);

writeln(x,y) end. 以上程序执行后的正确输出是( ) A、5 10 B、5 150 C、15 150 D、15 10 9、program main(output); var x,m,n:integer: y:real; procedure a (var x:integer; y:real); var m:integer; begin x:=x+1; m:=x+1; y:=m*3; n:=m end; begin x:=8; m:=5; n:=3; y:=1; a(m,y); writeln(x,m,n,y:4:1) end. 以上程序运行后的正确输出是 A、8 5 3 1.0 B、9 10 10 3.0 C、8 7 7 21.0 D、8 6 7 1.0 10、program main(output); function p(x:real; n:integer):real; begin if n=0 then p:=1.0 else if odd (n) then p:=x*sqr(p(x, n div 3)) else p:=sqr(p(x, n div 3)) end; begin writeln(p(2.0,7):6:1) end. 以上程序运行后的正确输出是 A、1.0 B、2 C、2.0 D、7 11、program exam(output); var a,b,c:integer; procedure proc(var a:integer; b:integer); begin a:=1; b:=2; c:=3; end; begin a:=5; b:=6; c:=7; proc(a,b); writeln(a:2,b:2,c:2) end. 以上程序的运行结果是( )A、1 6 3 B、1 2 3 C、1 6 7 D、5 6 7 12、program exam(input,output); var x:integer; procedure a; var x:integer;

begin writeln(x:1); x:=2; writeln(x:1) end; begin x:=1; a; writlen(x:1) end. 以上程序的运行结果是( ) A、29254(随机数) B、1 2 2 1 1 C、29254(随机数) D、1 2 2 2 2 13、已知函数说明如下: function f(n:integer):integer; begin if n=0 then f:=0 else if n>0 then f:=f(n-2) else f:=f(n+3) end; 则函数调用 f(5)的值是 A、0 B、1 C、-1 D、-2 14、program aa (output); var x,y,z: integer; procedure p(x,y:integer; var z:integer); begin z:=y-x-z end; begin x:=5; y:=7; z:=4; p(7, x+y+z, x); writeln(x,y,z) end. 以上程序运行后的结果是( ) A、-2 7 4 B、5 7 -2 C、5 7 4 D、4 7 4 15、program prog1(input,output); var a,b:integer; procedure p1(x:integer; var y:integer); begin y:=x+y; writeln(x:3,y:3) end; begin a:=5; b:=8; p1(a,b); p1(a+b,a); p1(a div b,b) end. 以上程序执行后的输出是( ) A、5 13 B、5 13 C、5 13 D、5 13 18 5 18 23 18 5 18 23 1 13 1 13 1 14 1 14 16、有下列函数: function f1(a:integer):integer; var n,d:integer; begin n:=0; d:=2*a; while d>=a do begin d:=d div 3; n:=n+1 end; f1:=n

end; 设 a,b,c 均为整型变量,下面的程序段均调用函数 f1, 执行时会出现死循环的程序段是( ) A、b:=100; B、for b:=1 to 5 do c:=2*(f1(b)+5); if f1(b)>3 then writeln(a:5,c:5); c:=f1(b*b); writeln(f1(b)) C、b:=1; D、b:=1; repeat while f1(b)>3 do b:=b+1 b:=f1(b*b)+f1(b); until f1(b)>3; 17、有下列函数说明: FUNCTION p(n, x : integer ):Integer; BEGIN IF n=0 THEN p:=1 ELSE IF n=1 THEN P:=X ELSE p:=Trunc(((2*n)*p(n-1,x)-(n-1)*p(n-2,x))/n); END; 执行语句 y:=p(3,5)后 y 的值是() A)30 B)34 C)21 D)14 18 有下列程序: Program xx (Output); Var x, y, z: integer; Procedure p(x:Integer; Var y,z:Integer); Begin z:=z+y+x end; begin x:=5; y:=6; z:=7; p(x+y+z,x,y); Writeln(x:4,y:4,z:4) End.. 的运行结果是() A)5 29 7 B)5 6 7 C)18 5 6 D)18 6 7 19 有下列函数说明 Function f(a,b,c:Integer) :Integer; Var t: Integer; Begin a:=3*a; t:=b Div c; f:=a+4*t End; 表达式 f(f(1,f(1,2,3),3),2,3)的值是() A) 21 B)3 C)7 D)25 20 设函数说明为 Function check(n,k:) Integer): Integer; Begin

Repeat m:=n mod 10; n:=n div 10; k:=k-1; Until k=0; check:=m end; 若在主程序中有调用语句 y:=check(3725,3) ,则 程序运行后 y 的值是() A)7 B)5 C)2 D)0 二、填空题 1、已知程序有以下说明 FUNCTION f (a, b, c : integer ):Integer; Begin F:=3*a+4*b div c End; 则执行语句 k:=f(1,2,3)后,k 的值是 执行语句 k:=f(1,2,1)- f(0,1,1)后,k 的值是 执行语句 k:=f(1f(1,2,3),-1)后,k 的值是 2、 函数 fn 使用递归方法求 1+2+3+…+n 的值。其值 返回为: 当 n<1,则返回 0; 当 n>=1,则返回 1+2+3+…+n 的值。 请填空完成它。 FUNCTION f n(n : integer ):Integer; Begin If n<1 then fn:=0 Else if n=1 then fn:= Else fn:=fn( )+n End; 3、设有以下程序 Program t4(Input,Output); Var i , j , k : integer; Procedure p(…); Begin I:=i-k; j:=j+k; End; Begin I:=2;j:=4;k:=6; p(k,i,j); Writeln(i:3,j:3,k:3);{输出 1} p(k+1,i,j); Writeln(i:3,j:3,k:3);{输出 2} End. 若过程首部的形式参数部分(…)分别为一下两种 形式,则该程序执行后的结果是 A、 (k,i:integer;var j:integer)输出 1 的结果是: 输出 2 的结果是: B、 (k:integer;var i, j:integer)输出 1 的结果是: 输出 2 的结果是:

4、Fibonacci(裴波那契)数列的规律是:前 2 个 数均为 1, 从第 3 个数开始每个数等于它前面两个数之 和,即:1,1,2,3,5,8,13,21,34,55,89, 144,233,377,...。已知任意一个大于 0 的整数可以 表示为若干个互不相同的 fibonacci 之数和。 例如:121=89+21+8+3 下面的程序是由键盘输入一个正整数 n,输出组成 n 的互不相同的 fibonacci 数。 例如:若输入 121 则输入 121=+89+21+8+3 本程序的算法如下: (n=121·为例) 1) 寻找小于或等于 n 的最大的 fibonacci 数 ( a 例如 89) , 并以 a 作为组成 n 的一个数输出。 2)若 n≠a 则以 n-a 作为新的任意正整数(例如 32) , 重复步骤 1.若 n=a,则结束。程序中的函数 find 返回 小于或等于 n 的最大的 fibonacci 数。 program text3(input,output); var n:integer; find(n:integer):integer; var a,b,c:integer; begin a:=1; b:=1; repeat c:=___(9)___; a:=b;b:=c; until b>=n; if b=n then find:=___(10)___ else find:=___(11)___ end; procedure p(n:integer); var a:integer; begin a:=find(n); write('+',a:4); if a<n then p ___(12)___ end; begin readln(n); write(n:5,'='); p(n); writeln end. 5、program exam(output); Var a,b :integer; Procedure p( var x b:integer; b :integer); Var m,n :integer; Begin M:=x*x; x:=x+5;y:=y+5; n:=n*y; Writeln(‘x=’,x:3,’y’,y:3,’m’,m:4,’n=’,n:4) End; Begin

A:=3;b:=3; P(a,b); P(a,b); P(a,b) End. 上述程序中的 是全局变量, 是局部变 量, 是数值参数, 是变量参数,程序执行 后变量 x,y,m,n,的值是 。 6.有以下函数说明: Function fun (n:integer ):integer; Var s,m:integer; Begin S:=0; Repeat M:=n mod 10; s:=s+m; n:=n div 10 Until n=0; Fun:=s End; 则函数调用 fun(231)的功能是 。 7.利用已定义的函数 SN 计算值: M = SIN(X) / (SIN(X—Y)SIN(X—Z)) 十 SIN(Y) / (SIN(Y—Z)SIN(Y—X))+SIN(Z) / (SIN(Z—X)SIN(Z—Y)) 函数定义为: FUNCTION SN(A,B,C:REAL):REAL; BEGIN SN:=SIN(A)/(SIN(A—B)*SIN(A—C)) END; ’ 调用程序有: READ(X,Y,Z); M:=———;WRITELN(M); 8.已知函数说明如下: FUNCTION DN(M:INTEGER):INTEGER; VAR VALUE:INTEGER; BEGIN IF M:=0 THEN VALUE:=5 ELSE IF M<0 THEN VALUE:=DN(M+1)+2 ELSE VALUE:=DN(M-1)-2; DN:=VALUE; END; 则 DN(3)的值为——(1)—— DN(DN(2))的值为——(2)——。 9.有下列函数说明 Function myf (a,b,c:integer):integer; Var t:integer; Begin a:=3*a; t:=b div c; myf:=a+4*t End; 则表达式 myf(1,myf(1,2,3),3)的值是 。


推荐相关:

VB习题 过程和函数

VB习题 过程和函数_初二数学_数学_初中教育_教育专区。关于过程和函数习题 第五章 过程和函数 对于复杂的程序,结构化程序设计就是对一个复杂的问题采用“分而...


第5章函数习题与答案

第5 章函数 习题及解答 一.选择题。 1.若已定义的函数有返回值,则以下关于...因此在函数调用 过程中,形参的值发生改变,而实参中的值不会变化。 2.有以下...


函数过程练习

比如:编写一个求两个数的最小公倍数的函数过程。在事件过程中输入两个数 求两个数的最小公倍数的函数过程 比如:编写一个求两个数的最小公倍数的函数过程。...


随机过程习题

习题四 1. 已知随机过程 X(t)的自相关函数为 RX( ? )= ? 性。 2 exp{- ? ? } ,试判断其连续性和可微 2. 随机初相信号 X(t)=Acos( 2 ? t+...


VB第+7课函数过程练习答案

VB第+7课函数过程练习答案_理学_高等教育_教育专区。第 6 章 过程与函数 一、填空题 1.数组名作为过程或函数实参,相应的形 参传递方式为___ ___。 2.一维...


函数及图像练习题

函数及图像练习题_数学_高中教育_教育专区。变量与函数习题精选一、选择题 1....重庆)今年“五一”节,小明外出爬山,他从山脚爬到山顶的过程中,中途休息了一段...


VB 过程习题

VB 过程习题_计算机软件及应用_IT/计算机_专业资料。第六章一、选择题 1. 下列...)函数来测试可选参数是否 6. 在带可选参数的过程中,使用(isming 被选。 三...


函数解析式的方法和习题

函数解析式的方法和习题_高一数学_数学_高中教育_教育专区。求函数解析式常用的方法 求函数解析式常用的方法有:待定系数法、换元法、配凑法、消元法、特 殊值...


函数练习题

函数练习题_数学_高中教育_教育专区。第二章:函数练习题 一、选择题(在每小...解答题(解答应写出文字说明,证明过程或演算步骤) 42.求下列函数的定义域和值域...


求函数值域练习附答案

函数值域练习附答案_高一数学_数学_高中教育_教育专区。师生互动,善教乐学 班级...一定要掌握其解的格式和步骤. 24.设函数 . (1)当 a=2 时,求函数 f(x...

网站首页 | 网站地图
All rights reserved Powered by 简单学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com