1、=q AND (ord(c1)a)=n MOD a c1 :=c2 c2:=chr(a)=m-ord(0) writeln(a,p,m,n,q,q,b) n:=a-trunc(a) b:=2.99*109 a:=m/nord(c1)+ord (c2)1-7 已知变量有下面指定的值:a=7,b=-6,c=30,d=10.8600,e=1E3,f=*,g=true求下面表达式的值:a+b DIV trunc(d)+31d-0.75/(e+140.0)*70.02sqrt(abs(b-a)+succ(ord(f)3chr(10* a MOD sqr(b)4NOT (a=b) AND g)5(ord(
2、b) OR (sqr(b)e) AND (g AND NOT(abs(b)6)1-8 已知有如下说明 p,q,r,s:Boolean; k:试写出下列每一表达式的类型,如能确定,请写出它们的值。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 310/3126 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
3、 podd(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: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:Writels(bar,s:1,bar,s:4,bar,s:Writely(bar,y:9:2
4、,bar,y:1:1,bar,y:6:1,bar);Writeln(bar,x:3,bar,x:3,bar);1-11 编一程序,根据输入的半径计算圆的周长和面积。1-12 已知摄氏温度与华氏温度的换算关系式为: C=(F-32)编写一程序求华氏温度为30,70,90,100,150时的摄氏温度。1-13 已知地球半径为6371.0km,编写一程序计算地球表面积的近似值,并打印输出地球半径、的近似取值、地球表面积等项。1-14 编写一程序打印下列图案* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
5、 * * * * * * * *1-15 已知三角形三条边a,b,c, 求三角形的面积公式为: 其中,s=(a+b+c)/2。编写一程序读入a、b、c的值,计算出三角形的面积A,并打印输出三条边长及面积的值。1-16 绝对温度为T的黑体,对波长为的辐射功率为其中,c是光速2.997924108,h是普朗克常数6.625210-34,B为波尔兹曼常数5.6687-8 。编写一程序读入和T的值,计算并输出P的值。1-17 绿化某大道,大道两旁栽4排树,每隔5米一棵,大道全长2000米,编写程序求这次绿化树苗费共需多少元并输出结果。1-18 鸡兔同笼,计数共有头m个,脚n只。编写程序计算鸡兔共为多少
6、?其中m和n都由终端输入。习 题 二2-1 编写一个程序,让计算机读入两个数,将其中较大者放入变量max中,并打印出来。2-2 编写一个程序求一元二次方程 ax2+bx+c=0的根,其中a不等于0。2-3 编制程序计算2-4 一个写的不好的Pascal程序中有下列语句: IF ab THEN IF cd THEN x:=1 ELSE IF ac THEN IF b=2 ELSE x:=3d THEN IF b5 END.试用当语句重新写出该程序。2-17 写一个程序,按顺序和倒序两种形式打印英文字母。2-18 写一个程序计算正整数1到n中的奇数之和及偶数之和。2-19 某工程预计到2010年产
7、值100万元,并计划在此基础上每年增加产值10%,试编一程序,求该厂从2011年到2020年每年的产值应是多少?2-20 编一个程序,读入n个整数的平均值,找出最大值和最小值,统计出有多少正整数和多少负整数,分别计算出正整数和负整数的总和。2-21 编一个程序,把从终端上输入的一串连续的数字符转换成相应的整数值,并把这一数值用八进制形式输出。2-22 什么是自顶向下法?自顶向下的研制法有什么优点?习 题 三31 编写一个过程,将一个实数分解为整数部分和小数部分。32 编写一个过程,将以秒为单位计算的时间转换成小时、分、秒。33 指出下列程序中的全程变量、局部变量、变量参数、数值参数,写出程序运
8、行后的结果。PROGRAM pfoc(output)a,b,c: PROCEDURE p(VAR x:y:integer);BEGIN=x*y; x:=x+5; y:=y+5;writeln(x=,x:3, y=,y:3, m=,m:4, n=,n:4)END;=3;p(a,b); p(a,b);END.3-4 编写一个函数digit(n,k),它能求出数n的从右边开始的第k个数字的值。例如digit(254693,2)=9digit(7622,6)=03-5 定义试编写一个求bin(n,k)的函数。3-6 编写程序计算调和级数的部分和,要求输出结果表示成有理数,即的形式。其中分子和分母都是整
9、数。(提示:编写一个从分子和分母中消去公因子的过程)。3-7 分析程序hanoi(例4-10),计算移动n个盘子所需的次数,若按每微妙移动一次计算,需要多少时间?3-8 计算组合时,有两个常用公式前一个公式常用于m2n时,后一个公式是实际计算组合时的递归定义,试编制程序计算。3-9 已知一对兔子每一个月可以生出一对一雌一雄的小兔,每对小兔在两个月以后也逐月生一对一雌一雄的小兔,试编一程序,求n个月后的兔子对数(设最初只有一对一雌一雄的小兔)。3-10 定义Hermite多项式如下:分别写出递归和递推函数计算3-11 阅读下列程序,写出输出结果。PROGRAM paranest(output);
10、 PROCEDURE pl;PROCEDURE p1a; Writeln(PROCEDURE p1a!) END;PROCEDURE p1b; Writeln(PROCEDURE p1b! Writeln(PROCEDURE pl!); P1a;P1b PROCEDURE p2;PROCEDURE p2a; Writeln(PROCEDURE p2a!PROCEDURE p2b; Writeln(PROCEDURE p2b! Writeln(PROCEDURE p2! p2a;p2bp1;p23-12 编写程序,使用函数参数计算函数在x等于1.5,3.7和-3.7各处的值。3-13 有一字符序
11、列以句号“.”结束(例如一英文句子)。试设计一递归过程能按倒序打印出这一字符序列。3-14 编一程序用梯形公式求定积分的近似值。3-15 编一程序,用辛卜生法求积分辛卜生求积分的公式为:习 题 四41 检查以前做过的习题,看看是否有可能使用枚举类型或子界类型。42 编写一个程序,若输入数字为0到6则转换成输出相应的一星期的7天,从星期日(Sunday)到星期六(Saturday);若读入的是字符m,p,c,e,则转换输出相应的专业:数学(mathematic),物理(physic),计算机(computer),英语(English)等。43 编写一个程序,读入某一天的日期(1.31),月份(1
12、.12),年份(1900.2020),并以日期/月份/年份的形式打印出来,或者以日期:月份:年份的形式打印出来(月份要以January,February,等英文名词打印)。44 定义一函数确定15009999年中那一些年份是闰年,编写一程序(或子程序)确定在15009999年中各年12个月的天数。习 题 五5-1 给定类型TYPEnumberset = SET OF minmax;其中min和max是整型常量,试编写过程printset,它能打印类型numberset的变量的值。例如,元素为3,7,11和19的集合应打印为:3,7,11,195-2 编写一个程序将一个月的日期按星期日到星期六排
13、列在不同的集合中。5-3 试编写一个程序读入3个英文句子,打印出同时出现在第一句和第二句中,但是不在第三句中的那些字符。5-4 输入一系列字符,将数字字符、英文字母字符和其他字符分别计算,并求出各占的百分比,输出格式要求如下:Name number persentLetter - -Digit - -Other - -遇到“1”停止计算,试编写一程序实现之。5-5 假定一本书由下述说明定义:Linelen = 70; Pagesize = 55; Thickness = 330; Line = ARRAY1.linelen OF char; Page = ARRAY1.pagesize OF
14、line; Volume = ARRAY1.thickness OF page; Book:volume;指出下述每一表达式的类型和值。 Book25 Book18750 Book46710写一个合适的格式打印book内容的子程序。5-6 编一程序计算如下两个多项式的值 P1 = a100x100+a99x99+a1x+a0 P2 = b100x100+b99x99+b1x+b05-7 编一个程序。读入形式为B的字符串,其中为A进制的数字串。代表一个A进制的整数。然后将此整数转换成B进制的整数再输出。A,B为2到10之间的整数。如字符串17652表示将8进制整数1765转换成2进制整数,要求程
15、序能连续读入和处理一个文件上的多个这样的字符串,直到文件结束。 5-8 编写一个程序,计算两个矩阵的乘积。 5-9 编写一个转置n阶矩阵的过程。 5-10 编写程序,读入一些英文单词,当遇到单词stop时就停止阅读,并统计读入了几个单词。 5-11 b为一个6*6的方阵,先输入36个数据形成该方阵,然后在完成下列运算: (1)计算两条对角线元素的和、积; (2)计算方阵中所有不靠边的元素之和; (3)计算方阵中所有靠边元素之和; (4)使两条对角线上的元素均为1,其余的元素为0。 5-12 编写一个程序对市场某商品价格进行调查。连续10年,每年12个月份的价格作为输入数据。该程序能计算某一年的
16、平均价格,10年间某一个月的平均价格(例如20012010年,10年间2月份的平均价格),打印输出最高价格及年份月份(用一个二位数组来描述所读入的10年的价格)。 5-13 输入两个复数,计算并输出他们的和数及乘积。 5-14 编写一个程序,计算直角坐标系中任一点到坐标原点之间的距离。 5-15 某班进行了数学考试,每个学生的姓名、学号、考试成绩作为输入数据,编写一个程序完成以下功能: (1)计算并打印班级的平均成绩; (2)根据每个学生的成绩给出评定等级(A、B、C、D、E);90-100(A),80-89(B),70-79(C),60-69(D),0-59(E); (3)打印出每个学生的姓
17、名、学号、成绩和等级; (4)计算出每一个等级的学生人数。 5-16 有一批图书(设为100本),每本图书要登记XXX姓名、书名、出版社、出版年月、价格等信息。试编写一个程序完成下列功能: (1)读入每本书的信息存入一个记录数组中; (2)打印出价格在2.00元以上的书名; (3)打印出1985年以后出版的书名和XXX名。习 题 六6-1 编写一个程序计算统计类型为FILE OF items 的文件中有多少个元素,items是一个用定义的记录类型。6-2 编写一个过程检索一给定的文件f(FILE OF integer)查找一给定值values是否存在。设置一布尔变量标志查找是否成功。6-3 编
18、写一程序将班级同学的姓名、XXX、电话号码写到一个文件中去。6-4 编写一程序读入班级学生的姓名,四门功课的成绩,并把这些数据拷贝到一个顺序文件grades中去。另编写一过程读和打印该文件。6-5 有两个文件f1和f2。文件元素的内容包括学生的姓名和学号,f1为男学生组成的文件,f2为女学生组成的文件,且其中学号按递增顺序排列。编写一程序读入这两个文件f1和f2并将它们合并成第三个文件f3,仍按照学号的递增顺序排列。6-6 设在文件inventory中存放了一个仓库的存货清单,该清单包括货物的库存号、库存量。编写一个程序,检查仓库的库存量,要求打印出所有库存量小于10的货物的库存号,并建立一个
19、新文件,它包括所有库存量大于1000的货库的库存号和库存量。6-7 有一个已形成好的文件,每一元素是一记录,其中包括职工号、姓名、性别、出生日期、工资额等项,编写一程序将这一文件按职工号递增顺序排列形成一个新文件。假设该文件可以一次读入内存进行处理。6-8 若上题中文件较长一次不能读进内存,需分二次,请编一程序重做习题6-7中的排序工作。6-9 编写一程序(或过程)分别找出一行文文件中长度最长和长度最短的行。6-10 编写一程序用来统计一行文文件中出现的空格数和非空格字符数。6-11 设计一程序,计算一个文件中每个字母出现的次数,用变量n来表示,n说明为:ARRAYcharOF integer
20、;nc表示文件中字母c出现的次数。6-12 编写一程序可以查找并修改文件中第n个记录。6-13 某单位工作人员健康状况简表如下: 姓名 工号 年龄 性别 健康状况假设已建立了基类型为记录类型的文件。编写一程序,将文件按性别区分产生men和women两个文件,文件的记录仅包含姓名、工号、年龄、健康状况。并要求打印出年龄在40岁到50岁之间的工作人员健康记录。6-14 建立一个包括奇数1到999的文件。习 题 七7-1 建立一个工厂车间人员情况表格,表格包括车间号、总人数、技术人员数、管理人员数、工人数等项。编写程序用链表实现之,数据通过终端输入。7-2 对于上题,编一过程,打印出总人数超过500
21、且技术人员数超过100的车间号。7-3 画图说明在一个双向链环上的插入和删除操作。在一个空环上删除的结果是什么?7-4 证明在任一二叉树中,一半以上的指针是NIL。7-5 编写一个过程,从一棵二叉排序树中删除一个结点,而又不破坏它的次序。有关说明如下: link=node; node= RECORD data: left,right:link d,father:link;对过程的引用为:Destree(d,father);其中d指向被删除结点,father指向其父结点。7-6 编写一个查找二叉排序树的函数,该函数指向二叉排序树中给定数据的结点,如果二叉排序树中没有该结点,则函数值为NIL。 tree: key:调用函数时给出根结点指针tree及待查数据key.7-7 给出指向一数值为整数的链表的第一结点的指针。编写一函数计算出该链表中所有整数之和。有关类型说明为: link=int; int= next: datat:integer习 题 八8-1 什么是对象?对象与记录有何区别?8-2 什么是方法?方法与过程和函数有什么关系?8-3 静态方法和虚拟方法有什么不同?
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1