


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Pascal 语法基础习题 第一题:下列哪些常量是对的,哪些是错误的,错在哪? Const a=30; b=a;b=a+1;c=true and falsed=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) and round(L+1)(2) round(L) roun
2、d(L+1)(3) odd(L) or odd(L+1)(4) round(L/r) mod 5解:1. 大家知道 round() 是取四舍五入的标准函数 .odd() 是判断奇偶数的函数。2.and or not 只能连接布尔型常量 true 或 false. 并且得到布尔型常量。 而比较符如 , 或 odd() 函数等也可以得到布尔型常量 .所以: 1。错误2 。 true3 。 true4 。小于 5 大于等于 0 的整数第三题:将下列写成pascal 语言的表达式。(1) Ma+b(2)tg 2(x/2)/(a-x)a+3(3) 4/(b+1)+c+d 解:这一题很简单,只要知道括号的
3、运用一般就可以迎刃而解,并且要知道 pascal 中没有 直接的次方函数。 正切的函数为 tan(), 其它三角函数可以通过正切来转化。 如 sin,cos,ctg 等。1。 S:=1;for i:=1 to (a+b) do S:=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,求圆周长、圆面积、圆柱全面积。源程序:program lx1(input,output);var(1):real;beginlen:=2*pi*r;s:=(2);qs:=len*h+2*s;wr
4、iteln(len=,len,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 表小时,用 mi
5、nutes 表分钟,用 seconds 表秒。 程序如下:program name;var puts,hours,minutes,seconds:integer;beginread(puts);hours:=puts mod 3600; puts:=puts div 3600;minutes:=puts mod 60; seconds:=puts div 60; writeln(hours,:,minutes,:,seconds) end.同学们可以看到 puts 是输入变量,也是临时变量,变了两次值,仔细想想是如何变化的。第六题: 编写一程序, 输入一个三位数的正整数, 输出时反向输出。 如
6、: 输入 456, 输出 654。 解:这一题如果学了数组很简单,没有的话就要用 mod和div函数,请同学们在理解上一题 的基础上看下面的程序。program name;var three:integer;beginread(three);for i:=1 to 3 dobeginwrite(three mod 10); three:=three div 10; end;end.本程序用到一个 for 循环, 指循环执行三次。同学们想一想最后 three 的值是什么?对了! 是 0!第七题:编写一个程序,输入两个实数 a,b ,求 a,b 的乘积。(尤其当 a,b 两数比较大时, 看一下输出
7、结果。)解:这一题主要是范围问题。program name;var a,b:real;beginread(a,b);write(a*b);end. 虽然实数范围很大可达到 10-38-10 +38之间,但更大则会 :Floating point overflow.第八题:下面程序或程序段的执行结果是什么?(1) program sumofpower(input,output);const n=4;var X,power,I,sum:integer;begin for X:=1 to n do begin power:=1; for I :=1 to x do Power:=power*x; s
8、um:=sum+power;end; writeln(sum);end.(2) sum:=0.0for counter:=7 downto 4 do case counter of 1,4,7:sum:=sum+1; 2,3,6:; 0,5:sum:sum+2; end;writeln(sum=,sum:5:2);解:首先, pascal 语言的大小写一样。而且当一个数值变量规定以后,初始值为0,这就是为何程序中sum未赋值就用。 求出x的x次方,再累加.(2)题目没有写完,同学们自己加上.(2) 的 case 语句的形式一定要住 , 在这一点上不要眼高手低 . 注意只有 end 没有 beg
9、in, 且 要注意 : 的位置 .case 语句是指选择语句 . 即表达式的值若和冒号前相同则运行冒号后的 语句 . 注意 downto 与 to 的不同 .(1)288(2)sum=4.00第九题:编写一个程序 , 输出三个整数中最大的数 .解: 虽然此题可以用三个变量来比较并交换, 但由于只需输出一个数 , 于是只要用一个动态变量来储存最大数即可 .程序如下 :program name;var i,max,temp:integer;beginmax:=-maxint;for i:=1 to 3 dobeginread(temp);if tempmax then max:=temp;end;
10、end.注:maxint为保留字,是最小整数,同学们可以试一试它是多少第十题:编写一个程序,输入三个数,按从大到小的顺序打印出来。 解:由于题目指定三个数,所以题目就变得很简单。只要设三个变量就可以了,然后就比较 大小。这个很简单,相信同学们一定会。同学们在学习的时候注意体会write() 语句的表达方式。有时候 会很好用。程序如下:program name;var i,max,a,b,c:integer;beginread(a,b,c);for i:=1 to 3 dobeginmax:=-maxint;if a=max then max:=a;if b=max then max:=b;if
11、 c=max then max:=c;write(max, );if a=max then a:=-maxint;if b=max then b:=-maxint;if c=max then c:=-maxint;end;end.同学们可以想一想,如果没有指明是几个数,不用数组怎么做?第十一题:输入一个不多于 5 位数的下整数 , 求出它是几位数 , 并打印出每位的数字 .解:同学很容易就能想到要用mod和div函数,可见这两个函数运用率还是很高的,学到以后就知道 , 这一题非常重要 , 同学们一定要好好理解 , 并学会触类旁通 .程序如下 :program name;var readin,w
12、ei,i,j:integer;beginreadln(readin);i:=10000;wei:=5;while (readin div i)=0 dobeginwei:=wei-1;i:=round(i/10);end;writeln(wei);for j:=1 to wei dobeginwrite(readin div i);readin:=readin mod i;i:=round(i/10)end.同学注意我用了一个 round() 函数.想想如果不要会出现什么结果 ?第十二题:五分币和二分币共有M枚,总金额为N分,写一个程序计算五分币和二分币各有多少枚?将结果输出。解:这一题不要想
13、单纯用计算机语言来描述,不可能。这是一题解方程题。 x+y=M x=(N-2M)/3| = | 5x+2y=N y=M-x程序如下:program name;var N,M,wu:integer;beginread(M,N);wu:=(N-2M)/3;write(wu, ,M-wu)end.第十三题:写一个程序找出 3到 1000 之间的全部质数。解质数的方法有很多种, 在这里介绍一种最简单也是繁的。 注意这一题中判断是否为质数用 了哪几个函数。程序如下:program name;var i,j:integer;judge:boolean;beginfor i:=3 to 1000 dobeginjudge:=true;for j:=1 to tru
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探秘2025年家具设计考试的实战题目试题及答案
- 建筑施工安全事故管理与应急预案试题及答案
- 大学物理考试复习试题及答案
- 属性测试试题及答案大全
- 家具行业市场调研方法试题及答案
- 弱电工考试题及答案
- 动态学习2025年物理试题及答案
- 农村电商面对的机遇与挑战考试试题及答案
- 巢湖学院面试题及答案
- 化学元素的特征及应用试题及答案
- 2025届高考英语读后续写提分技巧+讲义
- 粮食熏蒸培训课件
- 2024秋国家开放大学《四史通讲》形考作业、期末大作业试卷ABC参考答案
- 辽宁省第二届职业技能大赛(健康照护赛项)理论参考试题及答案
- 舰艇损害管制与舰艇损害管制训练
- 围墙拆除重建施工方案
- 2024贵州中考物理二轮中考题型研究 题型八 新情景探究实验专项训练 (含答案)
- 2023年高考历史真题新高考福建卷试题含答案解析
- 四川省绵阳市东辰学校2023-2024学年七年级下学期3月月考语文卷
- DZ/T 0430-2023 固体矿产资源储量核实报告编写规范(正式版)
- 禁止编入列车的机车车辆讲解
评论
0/150
提交评论