程序设计中常用思维方法(循环).ppt
《程序设计中常用思维方法(循环).ppt》由会员分享,可在线阅读,更多相关《程序设计中常用思维方法(循环).ppt(30页珍藏版)》请在三一办公上搜索。
1、9/14/2023,扬州大学信息学院,迭代、归纳与循环 思维,9/14/2023,扬州大学信息学院,分析:解决该问题的N-S图如右:,例1:用牛顿迭代法求x的平方根。牛顿迭代公式为:,迭代变量S1,s2,9/14/2023,扬州大学信息学院,#include#include main()float x,s1=1;s2,err;scanf(“%f”,(1)err=s2-s1;,(2)s1=s2,(3)s2=0.5*(s1+x/s1),9/14/2023,扬州大学信息学院,例2:统计输入的行数、单词的个数(设单词是一个不包含任何空白字符的字符序列)以及输入的总的字符个数。,分析:(1)要表示输入的
2、行数、单词的个数和输入的总字符数,可设以下三个变量nl、nw、nc,初值均为0;(2)对于nl,每输入一个n增1,对于nc,每输入一个字符,增1,而对于nw,只有当输入的字符为非空白字符、非回车且前一个字符为空或回车时才增1;(3)设计变量inword,当其值0时,表示当前字符的前一字符为空白或回车,当其值为1时,表示当前字符的前一字符非空或回车,此当前字符仍为该单词中的内容;(4)inword的初始值为0;(5)故nw增1的条件是:当前字符非空白或回车且inword=0;,9/14/2023,扬州大学信息学院,#define YES 1;#define NO 0;#include main(
3、)int c,nl,nw,nc,inword;inword=NO;nl=nw=nc=0;while(c=getchar()!=#)+nc;if(c=n)+nl;if(c=|c=n|c=t)inword=NO;else if(inword=NO)inword=YES;+nw;printf(“nl=%d nw=%d nc=%dn”,nl,nw,nc);,9/14/2023,扬州大学信息学院,归纳法与循环,(1)归纳法,是从大量的特殊性中总结出规律性或一般性的结论。(2)归纳,在程序设计上主要表现为递归和迭代。我们常常用递归和迭代的方式把一个复杂的计算过程化为简单过程的多次重复,这种重复很容易用循环
4、来实现;(3)归纳法的另一重要用途是用于数列和级数求和;,9/14/2023,扬州大学信息学院,例3:猴子第一天摘下若干桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再想吃时,发现只剩下一个桃子了。求第一天共摘多少个桃子。,9/14/2023,扬州大学信息学院,Sn=(Sn+1+1)*2程序如下:main()int s,i;s=1;for(i=1;i=9;i+)?;printf(“s=%dn”,s);,9/14/2023,扬州大学信息学院,例4:有一张足够大的纸,厚0.09毫米,问将它对折多
5、少次后可以达到珠穆朗玛峰的高度(8848米)?,9/14/2023,扬州大学信息学院,分析:(1)采用归纳法;(2)设a为高度,初值为910-5米;(3)对折后,高度为前一次高度的2倍,每次乘2后判断乘积是否已超过8848米。若已超过,则记下乘2的次数就是对折的次数;(4)请读者自己编程;,9/14/2023,扬州大学信息学院,*枚举法:就是逐一列举出可能解的各个元素,并加以判断,直到求得所需要的解。常用在排列、组合、数据分类、信息检索、多解方程的求解上;,枚举法与循环思维,9/14/2023,扬州大学信息学院,使用枚举法,必须掌握两条原则:确定搜索的范围(这个范围必须是有限的);选择枚举的策
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 常用 思维 方法 循环
链接地址:https://www.31ppt.com/p-6011218.html