高级语言程序设计习题及答案
- 格式:doc
- 大小:606.00 KB
- 文档页数:13
第 1 页 共 13 页
答案参见我的新浪博客:/s/blog_3fb788630100muda.html 习 题 一
1-1 Pascal语言的程序结构由哪几部分组成?试述各部分的构成形式和作用。
1-2 Pascal基本字符集有哪些成分构成?Pascal的保留字是什么?
1-3 Pascal语言中标识符是怎样构成的?下列字符串哪些是正确的Pascal标识符?哪些是错误的?为什么?
A5B,5H4,PEL,1,A31,x﹡y,AB,A + B,
$500,G1(x),xyz,E-10,VAR
1-4 下列数据哪些是整数?哪些是实数?哪些是非法的(假设计算机字长为32位)?
256 2.54 25E+6 3.75E6 0.15E-6
1.2E70 1E-15 -673 E8 4,734
5.7E-6.6 0 58989 -73451 E-3
1-5 下列哪些常量定义是正确的?
CONST
hvalue=200;
lvalue=0 OR 1 OR 2;
firstchar=’a’;
t=true;
b=true OR false;
1-6 假定已作了下述说明:
CONST
gap=’’;
VAR
m,n:integer;
a,b:real;
p,q:boolean;
c1,c2:char;
指出下列每一语句是否有效,并说明理由:
⑴ m:=trunk(b)+a
⑵ p:=m+n
⑶ read(c1,c2,’’)
⑷ c1:=gap
⑸ p:=q AND (ord(c1)<>’a’)
⑹ m:=n MOD a
⑺ ‘c1’ :=’c2’
⑻ c2:=chr(‘a’)
⑼ m:=m-ord(‘0’)
⑽ writeln(a,p,m,n,q,q,b)
⑾ n:=a-trunc(a)
⑿ b:=2.99*109 第 2 页 共 13 页
答案参见我的新浪博客:/s/blog_3fb788630100muda.html ⒀ a:=m/n
⒁ b:ord(c1)+ord (c2)
1-7 已知变量有下面指定的值:
a=7,b=-6,c=30,d=10.8600,e=1E3,f=’*’,g=true
求下面表达式的值:
a+b DIV trunc(d)+3
① d-0.75/(e+140.0)*70.0
② sqrt(abs(b-a)+succ(ord(f))
③ chr(10* a MOD sqr(b))
④ NOT ((a>=b) AND g)
⑤ (ord(b) OR (sqr(b)>e)) AND (g AND NOT(abs(b)<>6))
1-8 已知有如下说明
VAR
p,q,r,s:Boolean;
k:integer;
试写出下列每一表达式的类型,如能确定,请写出它们的值。
⑴ sqr(2)
⑵ sqr(2.0)
⑶ ord(‘z’)-ord(‘a’)
⑷ trunc(-99.9)
⑸ –round(99.9)
⑹ –round(-99.9)
⑺ NOT (p AND q) = NOT (NOT p AND NOT q)
⑻ 10 DIV 3
⑼ 10/3⑾
⑽ 126 DIV 3 MOD 5
⑾ (p AND (q AND NOT q),OR NOT(r OR (s OR NOT s))
⑿ (round(-65.3)< trunc(-65.3)) AND p
⒀ odd(k) OR odd(k+1)
1-9 令x=1.0,y=2.0,z=3.0。下面输出语句的输出字样是什么?
Writeln(x,y,z);
Writeln(y:10);
Writeln(z:10:3);
Writeln(x,y:3);
1-10 设有变量和它们的值如下:
bar=’/’,n=-999,s=’abcd’,x=4.55,y=1.234567E2
试问以下语句的输出形式是什么?
Writeln(bar,n:1,bar,n:4,bar,n:8,bar);
Writelx(bar,x:1,bar,x:4,bar,x:8,bar);
Writels(bar,s:1,bar,s:4,bar,s:8,bar);
Writely(bar,y:9:2,bar,y:1:1,bar,y:6:1,bar);
Writeln(bar,x:1:3,bar,x:9:3,bar); 第 3 页 共 13 页
答案参见我的新浪博客:/s/blog_3fb788630100muda.html 1-11 编一程序,根据输入的半径计算圆的周长和面积。
1-12 已知摄氏温度与华氏温度的换算关系式为:
C=59(F-32)
编写一程序求华氏温度为30,70,90,100,150时的摄氏温度。
1-13 已知地球半径为6371.0km,编写一程序计算地球表面积的近似值,并打印输出地球半径、的近似取值、地球表面积等项。
1-14 编写一程序打印下列图案
* * *
* * * *
* * * * *
* * * * * * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
1-15 已知三角形三条边a,b,c, 求三角形的面积公式为:
()()()ssasbsc
其中,s=(a+b+c)/2。编写一程序读入a、b、c的值,计算出三角形的面积A,并打印输出三条边长及面积的值。
1-16 绝对温度为T的黑体,对波长为λ的辐射功率为
5/21chBcPc
其中,c是光速2.997924×108,h是普朗克常数6.6252×10-34,B为波尔兹曼常数5.6687-8 。编写一程序读入λ和T的值,计算并输出P的值。
1-17 绿化某大道,大道两旁栽4排树,每隔5米一棵,大道全长2000米,编写程序求这次绿化树苗费共需多少元并输出结果。
1-18 鸡兔同笼,计数共有头m个,脚n只。编写程序计算鸡兔共为多少?其中m和n都由终端输入。
习 题 二
2-1 编写一个程序,让计算机读入两个数,将其中较大者放入变量max中,并打印出来。
2-2 编写一个程序求一元二次方程
ax2+bx+c=0
的根,其中a不等于0。
2-3 编制程序计算 第 4 页 共 13 页
答案参见我的新浪博客:/s/blog_3fb788630100muda.html
2-4 一个写的不好的Pascal程序中有下列语句:
IF a
ELSE IF a
ELSE x:=3
ELSE IF a
ELSE x:=5
ELSE x:=6
ELSE x:=7
① 试用较好的语句格式重写该语句。
② 该语句中有没有多余或矛盾的条件?
③ 写一个效果相同但比该语句简单的语句。
2-5 编写程序计算
2-6 使用分情形语句重写例3-2
2-7 编写一程序输出2的方幂表。
2-8 编写程序计算
m=11+22+33+44+„+nn
直到m≧1030,m为实数。
2-9 编写程序计算
11111123sn…+
直到最后一项小于10-5。
2-10 用牛顿迭代法求方程
2x3-4x2+3x-6=0
在x=2.5附近的实根,直到满足条件
5110kkxx
2-11 用迭代法求x=a,计算公式是11()2nnnaxxx
要求满足条件 x2+1 当x≤2.5
y=
x2 -1 当 x>2.5
-п/2 当x<0
y= 0 当x=0
-п/2 当x>0
cos (x+3.0) 当x<0
y= cos 2(x+7.5) 当x=0
cos 4(x+4.0) 当x>0 第 5 页 共 13 页
答案参见我的新浪博客:/s/blog_3fb788630100muda.html 5110nnxx
2-12 100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮一担货。试编程序计算大、中、小马的数目。
2-13 试说明
① 任何REPEAT语句可以用WHILE来改写。
② 任何WHILE语句可以用IF和REPEAT来改写。
2-14 编写列出从1到100的所有整数的平方、立方和阶乘表的程序。
2-15 编写一个译码程序将一英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,„,26代替字母Z,如遇空格则打印一个星号“*”。英文句子以“.”结束。
2-16 下面是一个用直到语句写的程序。
PROGRAM testrepeat(output)
VAR
i:integer;
BEGIN
i:=1;
REPEAT;
writeln(i);
i:=i+1
UNTIL i>5
END.
试用当语句重新写出该程序。
2-17 写一个程序,按顺序和倒序两种形式打印英文字母。
2-18 写一个程序计算正整数1到n中的奇数之和及偶数之和。
2-19 某工程预计到2010年产值100万元,并计划在此基础上每年增加产值10%,试编一程序,求该厂从2011年到2020年每年的产值应是多少?
2-20 编一个程序,读入n个整数的平均值,找出最大值和最小值,统计出有多少正整数和多少负整数,分别计算出正整数和负整数的总和。
2-21 编一个程序,把从终端上输入的一串连续的数字符转换成相应的整数值,并把这一数值用八进制形式输出。
2-22 什么是自顶向下法?自顶向下的研制法有什么优点?
习 题 三
3-1 编写一个过程,将一个实数分解为整数部分和小数部分。
3-2 编写一个过程,将以秒为单位计算的时间转换成小时、分、秒。