循环结构程序设计的应用课件

上传人:我*** 文档编号:145966051 上传时间:2020-09-25 格式:PPT 页数:15 大小:229.50KB
返回 下载 相关 举报
循环结构程序设计的应用课件_第1页
第1页 / 共15页
循环结构程序设计的应用课件_第2页
第2页 / 共15页
循环结构程序设计的应用课件_第3页
第3页 / 共15页
循环结构程序设计的应用课件_第4页
第4页 / 共15页
循环结构程序设计的应用课件_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《循环结构程序设计的应用课件》由会员分享,可在线阅读,更多相关《循环结构程序设计的应用课件(15页珍藏版)》请在金锄头文库上搜索。

1、第九讲 循环结构程序设计的应用,习题1:输入10个数,求这10个数的平均值。,开始,s=0,输出s,结束,F,i=10,T,i=1,s=s+x,i=i+1,s=0 For i=1 to 10 input x s=s+x Next i Print s/10,要求:画出流程图,写出相应的代码,并在VB中用Fornext结构实现。 提示:循环中的输入语句必须用输入函数: Inputbox(,) 例如: x=inputbox(”请分别输入10个数”,”求10个数平均值”),x=1/i,输入x,输出s/10,x=inputbox(”请分别输入10个数”,”求10个数平均值”),拓展练习:输入一批数,以输

2、入0结束。求这些数的平均值。,开始,s=0,输出s/10,结束,F,i=10,T,i=1,s=s+x,i=i+1,s=0 For i=1 to 10 input x s=s+x Next i Print s/10,输入x,输入x,s=0 : i=0,s=s+x,i=i+1,输入x,x0,输出s/i,s=0 i=0 Input x Do while x0 s=s+x i=i+1 input x Loop Print s/i,设S为累加和; i为项数;x为项值。,习题2:设有一张纸厚为0.1毫米,面积足够大。,开始,x=0.0001,输出x,结束,F,i=20,T,i=1,i=i+1,问题一:每次

3、对折,纸张的厚度是原来的几倍? 问题二:每次对折都会产生了一个纸张的厚度,写出这 个数值序列。 问题三:原问题可以表述为怎样一个问题: 求数值序列0.0002,0.0004,0.0008,的第20项? 问题四:如何设计赋值语句,使该赋值语句在反复执行 时可以生成这个数值序列? 只要取x=0.0001,然后反复执行x=2*x,就可以得到这 个数值序列。,问对折20次后,厚度可达到多少米?(注意单位) 将它不断地对折,问对折多少次后,厚度可达到或 超过太阳到地球的距离?(1471亿米) 要求:画出流程图,写出相应的代码,并在VB中选 用恰当的循环结构实现。,x=2*x,习题2:设有一张纸厚为0.1

4、毫米,面积足够大。,开始,x=0.0001,输出x,结束,F,i=20,T,i=1,i=i+1,x=0.0001 For i=1 to 20 x=2*x Next i Print x,问对折20次后,厚度可达到多少米?(注意单位) 将它不断地对折,问对折多少次后,厚度可达到或 超过太阳到地球的距离?(1471亿米) 要求:画出流程图,写出相应的代码,并在VB中选 用恰当的循环结构实现。,x=2*x,输出i-1,x=0.0001 i=1 Do while x147100000000 x=2*x i=i+1 Loop Print i-1,x147100000000,例题和练习,分析: 根据题意,要

5、求输入n的值,输出第n项的值。如输入4,则输出7。 a1=1; a2=2; a3=4; a4=7; a5=11; a2-a1=1; a3-a2=2; a4-a3=3; a5-a4=4; a2=a1+1; a3=a2+2; a4=a3+3; a5=a4+4; 本数列各项之间的关系为: a1=1, an=an-1+n-1 n=2,3,4,例1 :求序列1,2,4,7,11, 中第n项的值。 文件名:求递增项值,例题和练习,结束,输出 x,开始,x=1,输入 n,i=i+1,T,F,i = 2,i= n,x=x+i-1,x=1,For i=2 to n,Next i,输入 n,x=x+ i -1,输

6、出 x,例题和练习,(例2)请编程求解菲波那契数列1,1,2,3,5,8,任意项的值。程序运行后通过文本框输入要求的菲波那契数列第an项的n值,然后让计算机计算输出an项的值。文件名:求菲波那契数列值,根据题意 a1=1, a2=1, a3=a1+a2=2, a4=a2+a3=3 a5=a3+a4=5 an=an-1+an-2 n=3,4,5,于是,我们得到斐波那契数列的一般表达式 a1=1, a2=1, an=an-1+an-2 n=3,4,5,例题和练习,设a为第一项,b为第二项,c为第三项,则 c a + b,当a = a1 = 1,b = a2 = 1时,则c = a + b ,即 a

7、3 = 2。,根据a1=1,a2=1, ai=ai-1+ai-2,i=3,来生成斐波那契数列的循环体,,为了求a4,必须把 a2 ,即把b当作新的第一项。 a = b,把 a3 ,即c当作新的第二项。 b = c 。,这时,由 c = a + b , a4 = 3。,由此可见,我们只要依次反复执行 c = a + b:a = b : b = c 这三个语句,就可以求得兔子数数列中任何一项的值了。,例题和练习,输入 n a=1 b=1 For i=3 to n c=a+b a=b b=c Next i 输出 c,F,i = i + 1,例题和练习,(例3)求任意输入的两个自然数的最大公约数。文件

8、名:求最大公约数(提示:可采用辗转相除法递推处理),辗转相除法: 假设对于任意两个自然数a,b,当ab时, a=q*b+r。其中,q是a除以b后得到的整数商,r 是a除以b后得到的余数。那么,当r 等于0时,b 就是a,b的最大公约数;否则,a,b的最大公约数 就等于b、r的最大公约数。故只要把b、r当作新 的a、b,再重复上述过程即可。,最大公约数也叫最大公因数,是指几个数的共有的因数之中最大的一个,例如 8 和 12 的最大公约数是 4,记作gcd(8,12)=4。 定理:若 r 是 a b 的余数, 则 gcd(a,b) = gcd(b,r),0,2,6,12,6,1,12,18,12,

9、7,18,138,18,3,138,432,例如求432和138的最大公约数。,所以432和138的最大公约数是6。,例题和练习,(例3)求任意输入的两个自然数的最大公约数。文件名:求最大公约数(提示:可采用辗转相除法递推处理),1.输入a,b 2.如果a除以b的余数不等于0,则转到3,否则,转到6 3.求出a除以b的余数r,即r=a mod b; 4.把除数b当作新的被除数a,即a=b; 5.把r当作新的除数b,即b=r。转到2。 6.b是a和b的最大公约数,输出b。完成。,例题和练习,输入 a 输入 b Do while a mod b 0 r = a mod b a=b b=r loop 输出 b,回家作业,二分微分:“一尺之棰,日取其半,万世不竭”是我国古书中最早体现微积分思想的一段记载。模拟此意的数学表达式为: 对以下问题画出流程图,写出代码。在VB中选用恰当的循环结构实现: 求前10项的和 多少项后累加和s超过0.99999 作业要求: 书面作业:画出流程图,写出代码 上机作业:编写VB程序。文件名:二分微分,谢谢,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号