实验4-3 循环嵌套结构程序设计
一、实验目的
掌握循环嵌套结构的概念,并把循环嵌套的多种格式灵活应用到程序设计中。
二、实验准备
复习教材中多种结构嵌套的有关概念,把握多种结构嵌套时应注意的问题,重点理解本章中相关的例题。
三、实验内容
1.编写程序,求当1!+ 3!+ 5!+ + n!的值不超过1020时的临界值及n的值。
2.编写程序,求1到300之间所有的完数。
完数定义:如果这个数除这个数本身之外的所有因子之和等于这个数,这个数就是完数。
如6=1+2+3,6是完数;8<>1+2+4,8不是完数。
3.编写程序,显示输出如图4-34
所示的图形。
4.编写程序,显示输出如图4-35所示的九九乘法表。
图4-34 输出图形
图4-35 九九乘法表
5.统计显示“职工”表中各部门的基本工资的明细及合计数。
输出格式如图4-36所示。
图4-36 显示部门工资信息
6.利用循环嵌套控制结构,实现“百钱买百鸡”的计算(取自《算经》:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,问鸡翁、母、
雏各几何?)
7.编写程序:勾股定理中3个数的关系为c2=a2+b2。
显示输出a、b、c均在10以内的所有满足上述关系的整数组合。
四、实验4-3报告
1.实验过程报告
(1)写出第1题的程序代码及程序运行结果。
*1.编写程序,求当1!+ 3!+ 5!+ + n!的值不超过1020时的临界值及n的值。
SET TALK OFF
CLEAR
S=0
N=1
DO WHILE S<1E20
T=1
FOR I=1 TO N
T=T*I
ENDFOR
S=S+T
N=N+2
ENDDO
?"N=",N-4
SET TALK ON
(2)写出第2题的程序代码。
*2.编写程序,求1到300之间所有的完数。
*完数定义:如果这个数除这个数本身之外的所有因子之和等于这个数,这个数就是完数。
如6=1+2+3,6是完数;8<>1+2+4,8不是完数。
SET TALK OFF
CLEAR
FOR M=1 TO 300
S=0
FOR I=1 TO M-1
IF M/I=INT(M/I)
S=S+I
ENDIF
ENDFOR
IF S=M
?M,"是完数"
ENDIF
ENDFOR
SET TALK ON
(3)写出第6题的程序代码及程序运行结果。
*6.利用循环嵌套控制结构,实现"百钱买百鸡"的计算
*(取自《算经》:"鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。
百钱买百鸡,问鸡翁、母、雏各几何?)
SET TALK OFF
CLEAR
FOR X=0 TO 20
FOR Y=0 TO 33
Z=100-X-Y
IF 5*X+3*Y+Z/3=100
?"X=",X,"Y=",Y,"Z=",Z
ENDIF
ENDFOR
ENDFOR
SET TALK ON
2.简答题
(1)在用DO WHILE …ENDDO结构对表从首记录到末记录的循环处理中,循环条件是什么?用什么命令来改变循环条件?
答:循环条件:一个具有逻辑值的条件表达式
用EXIT或LOOP命令
(2)多种结构的程序嵌套应该注意什么问题?
1、嵌套不能交叉,
2、语句是配对出现的,不能忘记各种结构的结束语句
(3)循环语句DO WHILE、FOR、SCAN有什么联系和区别?
DO WHILE循环至少循环一次循环体。
当WHILE后的语句为假时退出循环。
FOR循环是指定次数的循环。
SCAN循环对满足条件进行循环。
否则不循环。
都是循环语句
3.实验完成情况及存在问题。