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)的值是 。


推荐相关:

Pascal函数和过程练习题

Pascal函数和过程练习题_学科竞赛_高中教育_教育专区。适用于想要参加NOIP的中学阶段学生,NOIP,Pascal语言,函数和过程练习 1、在程序中定义一函数 digit(n,k),它...


高一函数练习题及答案详解

函数练习题 班级 姓名 一、 求函数的定义域 1、求下列函数的定义域: ⑴ y?...解答应写出文字说明、证明过程或演算步骤。 17. (本小题满分 12 分) 设 a ...


函数的应用练习题

函数的应用练习题_小学作文_小学教育_教育专区。函数的应用 1. 求函数零点的个...的过程中得则方程的根落在区间( ) A. B. C. D.不能确定 12.函数的实数...


C++函数编程20道习题汇总含其详细程序解答

要求使用函数,函数功能是:计算 数列的每一项,x 由键盘输入。累加过程和输入输出...C语言程序设计练习题(含... 54页 2下载券 第5章函数习题(C语言程序... ...


VB过程练习题

VB 过程练习题一、选择题 1.要想在过程调用后返回两个结果,下面过程定义语句...使用 Function 语句定义一个函数过程,其返回值的类型为___。 A. 只能是符号...


函数练习题(C语言)带答案

函数练习题(C语言)带答案_IT认证_资格考试/认证_教育专区。机械安全,机械专业,...函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【 】。 A)...


函数的应用练习题

函数的应用练习题_数学_高中教育_教育专区。高中数学必修一函数应用练习题函数...?1,2? 内近似解的过程中得 f ?1? ? 0, f ?1.5? ? 0, f ?1.25? ...


异常处理_存储过程_函数练习题(参考答案)

异常处理_存储过程_函数练习题(参考答案)_IT/计算机_专业资料。java1.1. 练习题: 练习题:补充练习 1、编写一个存储过程,用于登陆用户的验证,过程的输入是一个...


函数练习题1

函数练习题1_电脑基础知识_IT/计算机_专业资料。c++ 基础函数题函数练习题 1 1、编程实现:输入一个正整数,统计该正整数的各位数字中,0 出现了几次,1 出现了 ...


函数的概念练习题

函数的概念练习题_数学_高中教育_教育专区。1.下列说法中正确的为( ) A.y=f(x) y=f(t)表示同一个函数 B.y=f(x)与 y=f(x+1)不可能是同一函数...

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