Pascal顺序结构程序设计作业(含答案)参考_第1页
Pascal顺序结构程序设计作业(含答案)参考_第2页
Pascal顺序结构程序设计作业(含答案)参考_第3页
Pascal顺序结构程序设计作业(含答案)参考_第4页
Pascal顺序结构程序设计作业(含答案)参考_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、文档供参考,可复制、编制,期待您的好评与关注! 第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 注:

2、这一题题目有错,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 360

3、0; 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:int

4、eger; 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

5、之间,但更大则会: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、

6、s都应设定为实型数。()程序编制如下:program p4-9(input,output);    var        a,b,h,s:real;    begin        writeln('input a, b,h:');        readln(a

7、,b,h);        s:=(a+b)*h/2;        writeln('s=',s:12:6);        readln    end.运行结果:input a,b,h:3 5 4s=16.000000例6键盘输入两个数,交换后输出。问题分析()明确问题。通过键盘输入两个变量a,b的

8、值,再将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);    var    a,b,c:integer; 

9、   begin         writeln('输入两个数');         read(a,b);         c:=a;         a:=b;   

10、60;     b:=c;         writeln('交换后的值是:',a:5,b:5)end.运行结果:请输入两个数:5   交换后的值是:请思考:如果不用过度变量,只有变量a和b,能否完成交换?例7随机产生一个三位自然数,分离出它的百位、十位与个位上的数字。问题分析()明确问题。由计算机随机产生一个三位数,例如产生的三位数是:579,分离的百位、十位与个位上的数字分别是:、。()分析问题。让计算机随机产生一个

11、数字时,应该先明确这个数字的范围和它的类型。一个三位自然数,它在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都应设定为

12、整型数。program p4-11(input,output);var    x,ge,shi,bai:integer;begin    randomize;    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)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论