资源描述:
《pascal语法基础-答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Pascal语法基础习题第一题:下列哪些常量是对的,哪些是错误的,错在哪?Consta=30;b=a;b=a+1;c=trueandfalsed=2,3f,g=a;解:1.常量定义不可以出现字母的赋值,如:B=a;B=a+1;2.定义的数值只可以唯一。如D=2,3则为非法。3.常量只可以一个一个定义。如F,g=3为非法,更不用说F,g=a. 第二题:下面的表达式,哪些是正确的,哪些是错误的;正确的请求出表达式的值,错误的指出其错误。(其中L为整型变量,R为实型变量)(1)round(L)andround(L+1)(2)round(L)〈round(L+1)(3)o
2、dd(L)orodd(L+1)(4)round(L/r)mod5解:1.大家知道round()是取四舍五入的标准函数.odd()是判断奇偶数的函数。2.andornot只能连接布尔型常量true或false.并且得到布尔型常量。而比较符如>,<,<>或odd()函数等也可以得到布尔型常量.所以:1。错误2。true3。true4。小于5大于等于0的整数第三题:将下列写成pascal语言的表达式。(1)Ma+b(2)tg2(x/2)/(a-x)a+3(3)-------------4/(b+1)+c+d解:这一题很简单,只要知道括号的运用一般就可以迎刃而解,并且要知
3、道pascal中没有直接的次方函数。正切的函数为tan(),其它三角函数可以通过正切来转化。如sin,cos,ctg等。1。S:=1;fori:=1to(a+b)doS:=S*M;M:=S;2。tan(x/2)*tan(x/2)/(a-x)3。(a+3)/((4/b+1)+c+d)第四题:完善下列程序:问题:给出半径R=100,高H=30,求圆周长、圆面积、圆柱全面积。源程序:programlx1(input,output);var(1):real;beginlen:=2*pi*r;s:=(2);qs:=len*h+2*s;writeln('len=',len,'
4、s=',sm,'qs=',qs);end.解:我们可以看到变量pi,r,s,qs,len,h均未定义。则(1)为pi,r,s,qs,len,h由圆面积公式可以很容易得到(2):pi*r*r注:这一题题目有错,pi,r,h变量未定义。同学们可以自行加上,但不可以不加。如在begin下加pi:=3.1415926;r:=100;h:=30; 第五题:编写一程序,当程序执行时,输入以秒为单位的时间,输出形式为:“小时:分:秒”解:这一题用到两个标准函数:mod和div,mod指取余,div指取整商。用puts表输入,用hours表小时,用minutes表分钟,用seco
5、nds表秒。程序如下:programname;varputs,hours,minutes,seconds:integer;beginread(puts);hours:=putsmod3600;puts:=putsdiv3600;minutes:=putsmod60;seconds:=putsdiv60;writeln(hours,':',minutes,':',seconds)end.同学们可以看到puts是输入变量,也是临时变量,变了两次值,仔细想想是如何变化的。第六题:编写一程序,输入一个三位数的正整数,输出时反向输出。如:输入456,输出654。解:这一题如
6、果学了数组很简单,没有的话就要用mod和div函数,请同学们在理解上一题的基础上看下面的程序。programname;varthree:integer;beginread(three);fori:=1to3dobeginwrite(threemod10);three:=threediv10;end;end.本程序用到一个for循环,指循环执行三次。同学们想一想最后three的值是什么?对了!是0!第七题:编写一个程序,输入两个实数a,b,求a,b的乘积。(尤其当a,b两数比较大时,看一下输出结果。)解:这一题主要是范围问题。programname;vara,b:r
7、eal;beginread(a,b);write(a*b);end.虽然实数范围很大可达到10-38--10+38之间,但更大则会:Floatingpointoverflow. 第八题:下面程序或程序段的执行结果是什么?(1)programsumofpower(input,output);constn=4;varX,power,I,sum:integer;beginforX:=1tondobeginpower:=1;forI:=1toxdoPower:=power*x;sum:=sum+power;end;writeln(sum);end.(2)sum:=0.0f
8、orcou