Pascal顺序结构程序设计作业(含答案).doc

上传人:wux****ua 文档编号:9490261 上传时间:2020-04-05 格式:DOC 页数:5 大小:45.50KB
返回 下载 相关 举报
Pascal顺序结构程序设计作业(含答案).doc_第1页
第1页 / 共5页
Pascal顺序结构程序设计作业(含答案).doc_第2页
第2页 / 共5页
Pascal顺序结构程序设计作业(含答案).doc_第3页
第3页 / 共5页
点击查看更多>>
资源描述
第1题:完善下列程序:问题:给出半径R=100,高H=30,求圆周长、圆面积、圆柱全面积。源程序: program lx1(input,output); var (1):real; begin len:=2*pi*r; s:=(2); qs:=len*h+2*s; writeln(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;第2题:编写一程序,当程序执行时,输入以秒为单位的时间,输出形式为:“小时:分:秒”解:这一题用到两个标准函数:mod和div,mod指取余,div指取整商。用puts表输入,用hours表小时,用minutes表分钟,用seconds表秒。程序如下: program name; var puts,hours,minutes,seconds:integer; begin read(puts); hours:=puts mod 3600; puts:=puts div 3600; minutes:=puts mod 60; seconds:=puts div 60; writeln(hours,:,minutes,:,seconds) end. 同学们可以看到puts是输入变量,也是临时变量,变了两次值,仔细想想是如何变化的。第3题:编写一程序,输入一个三位数的正整数,输出时反向输出。如:输入456,输出654。解:这一题如果学了数组很简单,没有的话就要用mod和div函数,请同学们在理解上一题的基础上看下面的程序。 program name; var three:integer; begin read(three); for i:=1 to 3 do begin write(three mod 10); three:=three div 10; end; end.本程序用到一个for循环,指循环执行三次。同学们想一想最后three的值是什么?对了!是0!第4题:编写一个程序,输入两个实数a,b,求a,b的乘积。(尤其当a,b两数比较大时,看一下输出结果。)解:这一题主要是范围问题。 program name; var a,b:real; begin read(a,b); write(a*b); end.虽然实数范围很大可达到10-38-10+38之间,但更大则会:Floating point overflow.例5已知上底、下底和高,求梯形的面积。问题分析()明确问题。求梯形的面积,已知上底、下底和高,由公式得:梯形面积(上底下底)高/()分析问题。如果梯形的上底用a表示,下底用b表示,高用h表示,梯形面积用s表示,用梯形面积公式为:s=(a+b)*h/2根据题意,算法可以这样设计:.输入梯形的上底a、下底b和高h;2.求出梯形面积s=(a+b)*h/2;3.输出结果s.()设定变量的类型。这里使用的变量a、b、h、s都应设定为实型数。()程序编制如下:program p4-9(input,output);vara,b,h,s:real;beginwriteln(input a, b,h:);readln(a,b,h);s:=(a+b)*h/2;writeln(s=,s:12:6);readlnend.运行结果:input a,b,h:3 5 4s=16.000000例6键盘输入两个数,交换后输出。问题分析()明确问题。通过键盘输入两个变量a,b的值,再将a,b的值相交换,然后输出a,b的值。如输入后变量a的值为,变量b的值为,经过交换a的值为5,b的值为。()分析问题。如果输入的两个数舍为a,b,在交换前要设定一个变量c作为交换时的过度变量,以防止变量a或b的值在赋值时丢失。设计算法如下:.输入a,b;2.交换变量的值c:=a a:=b b:=c;3.输出a,b.()设定变量的类型。这里使用的变量a、b、c应设定为整型数。()程序编制如下:program p4-10(input,output);vara,b,c:integer; beginwriteln(输入两个数);read(a,b);c:=a;a:=b;b:=c;writeln(交换后的值是:,a:5,b:5)end.运行结果:请输入两个数:5 交换后的值是:请思考:如果不用过度变量,只有变量a和b,能否完成交换?例7随机产生一个三位自然数,分离出它的百位、十位与个位上的数字。问题分析()明确问题。由计算机随机产生一个三位数,例如产生的三位数是:579,分离的百位、十位与个位上的数字分别是:、。()分析问题。让计算机随机产生一个数字时,应该先明确这个数字的范围和它的类型。一个三位自然数,它在100999之间,产生100999内随机整数的方法是:trunc(random*900)+100.假设随机产生三位数是x,个位、十位、百位上的数字分别为:ge,shi,bai, 则有:ge:=x mod 10bai:=x div 100shi:=(x-bai*100) div 10设计算法如下:.随机产生一个三位数x2.输出x3.ge:=x mod 104.bai:=x div 1005.shi:=(x-bai*100) div 106.输出bai,shi ,ge()设定变量的类型。这里使用的变量x,ge,shi,bai都应设定为整型数。program p4-11(input,output);varx,ge,shi,bai:integer;beginrandomize;x:=trunc(random*900)+100;writeln(x=,x);ge:=x mod 10;bai:=x div 100;shi:=(x-bai*100) div 10;writeln(bai=,bai);writeln(shi=,shi);writeln(ge=,ge);readlnend.运行结果:x=836bai=8shi=3ge=6这个程序,在产生随机数之前,先使用了randomize语句,它的作用是使每次运行程序时,产生不同的随机数。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!