资源描述:
《++阅读程和程序填空练习.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、程序阅读和程序填空练习一般的解题步骤如下:1.从总体上通读程序,大致把握程序的目的和算法;2.猜测变量的作用,跟踪主要变量值的变化(列表),找出规律;3.将程序分段,理清每一小段的作用和目的(灵感+关键表达式和语句的领会);4.看清输入、按照输出格式,写出结果;5.带着得到的结果回到程序进行检查;Breakcontinueexithalt第一类:算术运算:div(整除):当除数和被除数异号时候,结果为负,同号时为正mod(求余):只要被除数为负数时,结果均为负值,其余情况结果都为正值div和mod的运算有先级和*(乘)/(除
2、)运算相同,比加减的优先级高sqrt(开方):注意结果是一个实数,若作为循环变量则要先转换为整数sqr(平方):不要与sqrt混淆round(四舍五入):round(4.4)=4round(4.6)=5round(-4.4)=-4round(-4.6)=-5trunc(截尾):结果是整数类型trunc(4.4)=4trunc(4.6)=4round(-4.4)=-4round(-4.6)=-4int(x):取x的整数部分,结果是实数类型int(-3.6)=-3.0abs(绝对值)odd(判断是不是奇数)odd(5)=true
3、succ(后继)succ(5)=6succ(-5)=-4pred(前导)pred(5)=4pred(-5)=-6sin(2*x)sin(32.25*pi/180)使用弧度制exp(2.5)以e为底的指数,e的2.5次方ln(x)以e为底x的对数lgx应该写成ln(x)/ln(10)xy应该写成exp(y*ln(x))xshln把x转化为二进制后,整体往左移动n位,右边补0xshlrn把x转化为二进制后,整体往右移动n位,左边补0IntToHex(x,1)把十进制的x转化为十六进制IntToStr(x)把整数x转化为字符串Fl
4、oatToStr(x)将浮点小数x转化为字符串Ldexp(k,n)求k*2^nMaxintvalue(a)求一个整数数组中的最大值Maxvalue(a)求一个实数数组中的最大值例题1: const u:array[1..4]ofinteger=(0,5,3,1); v:array[1..4]ofinteger=(0,7,6,5); var a,b,c,d,e,f,x,y,z:integer; begin ..9..程序阅读和程序填空练习read(a,b,c,d,e,f); z:=f+e+d+(c
5、+3)div4; y:=5*d+u[cmod4]; if(b>y)then begin z:=z+(b-y+8)div9; x:=((b-y+8)div9*9-(b-y))*4+11*e+v[cmod4]; end else x:=(y-b)*4+11*e+v[cmod4]; if(a>x)then z:=z+(a-x+35)div36; writeln(z) end.输入:479205647 输出例题2:v
6、aru:array[0..3]ofinteger;a,b,c,x,y,z:integer;beginread(u[0],u[1],u[2],u[3]);a:=u[0]+u[1]+u[2]+u[3]-5;b:=u[0]*(u[1]-u[2]divu[3]+8);c:=u[0]*u[1]divu[2]*u[3];x:=(a+b+2)*3-u[(c+3)mod4];y:=(c*100-13)divadiv(u[bmod3]*5);if((x+y)mod2=0)thenz:=(a+b+c+x+y)div2;z:=(a+b+c–x-y
7、)*2;writeln(x+y-z);end.输入:2574输出:例题3:vara,b,c,p,q:integer;r:array[0..2]ofinteger;beginread(a,b,c);p:=adivbdivc;q:=b-c+a+p;r[0]:=a*pdivq*q;r[1]:=r[0]*(r[0]-300);if(3*q-pmod3<=r[0])and(r[2]=r[2])then..9..程序阅读和程序填空练习r[1]:=r[r[0]divpmod2]elser[1]:=qmodp;writeln(r[0]-r[
8、1]);end.输入:10073输出:运算优先级:1.括号内的先做2.函数如:abs(n)3.not4.*/divmodand5.+-or6.>,<,>=,<=,=,<>,in一.字符(char)的相关操作例ch1:char;1.ord(ch1)返回字符ch1在ascii码表中的位置例如o