nbhkdz.com冰点文库

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


第 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=&

#39;,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]已知上底、下底和高,求梯形的面积。 [问题分析] (1)明确问题。求梯形的面积,已知上底、下底和高,由公式得: 梯形面积=(上底+下底)*高/2 (2)分析问题。如果梯形的上底用 a 表示,下底用 b 表示,高用 h 表示,梯形面积用 s表 示,用梯形面积公式为:s=(a+b)*h/2 根据题意,算法可以这样设计: 1.输入梯形的上底 a、下底 b 和高 h; 2.求出梯形面积 s=(a+b)*h/2; 3.输出结果 s. (3)设定变量的类型。这里使用的变量 a、b、h、s 都应设定为实型数。 (4)程序编制如下: program p4-9(input,output); var a,b,h,s:real; begin

writeln('input a, b,h:'); readln(a,b,h); s:=(a+b)*h/2; writeln('s=',s:12:6); readln end. 运行结果: input a,b,h:3 5 4 s=16.000000 [例 6]键盘输入两个数,交换后输出。 [问题分析] (1)明确问题。通过键盘输入两个变量 a,b 的值,再将 a,b 的值相交换, 然后输出 a,b 的值。如输入后变量 a 的值为2,变量 b 的值为5,经过交换 a 的值为 5,b 的 值为2。 (2)分析问题。如果输入的两个数舍为 a,b,在交换前要设定一个变量 c 作为交换时 的过度变量,以防止变量 a 或 b 的值在赋值时丢失。 设计算法如下: 1.输入 a,b; 2.交换变量的值 c:=a a:=b b:=c; 3.输出 a,b. (3)设定变量的类型。这里使用的变量 a、b、c 应设定为整型数。 (4)程序编制如下: program p4-10(input,output); var a,b,c:integer; begin writeln('输入两个数'); read(a,b); c:=a; a:=b; b:=c;

writeln('交换后的值是:',a:5,b:5) end. 运行结果: 请输入两个数: 5 8 交换后的值是:8 5 请思考:如果不用过度变量,只有变量 a 和 b,能否完成交换? [例 7]随机产生一个三位自然数,分离出它的百位、十位与个位上的数字。 [问题分析] (1)明确问题。由计算机随机产生一个三位数,例如产生的三位数是:579,分离的 百位、十位与个位上的数字分别是:5、7、9。 (2)分析问题。让计算机随机产生一个数字时,应该先明确这个数字的范围和它的 类型。一个三位自然数,它在 100~999 之间,产生 100~999 内随机整数的方法是: trunc(random*900)+100. 假设随机产生三位数是 x,个位、十位、百位上的数字分别为:ge,shi,bai, 则有: ge:=x mod 10 bai:=x div 100 shi:=(x-bai*100) div 10 设计算法如下: 1.随机产生一个三位数 x 2.输出 x 3.ge:=x mod 10 4.bai:=x div 100 5.shi:=(x-bai*100) div 10 6.输出 bai,shi ,ge (3)设定变量的类型。这里使用的变量 x,ge,shi,bai 都应设定为整型数。 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); writeln('ge=',ge); readln end. 运行结果: x=836 bai=8 shi=3 ge=6 这个程序,在产生随机数之前,先使用了 randomize 语句,它的作用是使每次运行 程序时,产生不同的随机数。


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

Pascal顺序结构程序设计作业(含答案)_学科竞赛_高中教育_教育专区。适用于想要参加NOIP的中学阶段学生,NOIP,Pascal语言,顺序结构程序设计练习 ...

顺序结构程序设计

选择结构程序设计 5页 20财富值 pascal顺序结构练习题答案 4页 免费 妊娠合并梅毒患者的护理(1... 2页 免费 微生物学笔记2 7页 免费 2012中考化学方程式全集 ...

顺序结构程序设计练习题

Pascal语言程序设计教案4-... 7页 免费喜欢此文档的还喜欢 顺序结构编程练习题...循环结构程序设计习题答案 12页 免费如要投诉违规内容,请到百度文库投诉中心;如要...

第三章 顺序结构程序设计

第三章 顺序结构程序设计_IT认证_资格考试/认证_教育专区。第三章 顺序结构程序设计 3.1 赋值语句 3.2 读语句 3.3 写语句 练习与作业 3.1 赋值语句 PASCAL ...

程序设计初步1-顺序结构

程序设计初步1-顺序结构_计算机软件及应用_IT/计算机_专业资料。第一课 初步...在 Fortran 语音之后, 又出现了许多高级语言,如 Basic、Pascal、c++、Java 等等...

顺序结构练习

顺序结构练习_工学_高等教育_教育专区。程序设计作业 编程基础练习——顺序结构(1) 一、基础题 1. 用输出语句打印如下图形 (a) $ ** &&& %%%%% @@@ (...

5顺序结构程序设计练习

第7章函数习题及答案 21页 免费 高三数学分类讨论思想...顺序结构程序设计练习(2002.05.31) (赋值语句、输入...写一个 PASCAL 语句产生如下的输出: X | Y | ...

pascal顺序结构程序练习

pascal 顺序结构与基本数... 暂无评价 2页 2下载券 pascal顺序结构程序设计 3...顺序结构程序 1、 输出语句 writeln(10/3:8:2);的输出结 果为: 2、输出...

第三课 顺序结构程序设计

第3课顺序结构 9页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 第三课 顺序结构程序设计 Pascal编程程序教程Pas...