欢迎来到天天文库
浏览记录
ID:58793493
大小:472.50 KB
页数:56页
时间:2020-10-03
《循环嵌套结构的实现ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二讲循环嵌套结构的实现1主要内容模块化程序设计方法while语句do......while语句循环嵌套结构的实现复合嵌套结构的实现break和continue参考教材§4.1、§3.3.2、§3.3、§3.4、§3.5、§3.62模块化程序设计方法P84模块化设计思想是将系统进行分解成若干功能独立的,能分别设计、编程和测试的模块。实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务相对简单。在拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以进一步划分更小的模块。这个过程采用自顶向下方法来实现。3模块化设计
2、——自顶向下划分子模块的原则模块化程序设计特点:(1)~(6)P84子模块一般不超过50行。划分子模块时应注意模块的独立性,即:一个模块完成一项功能,模块间耦合性愈少愈好。通过编写独立函数实现模块化程序设计P256while语句P57while(表达式)循环体语句;真假while下一条语句表达式循环体语句循环条件循环体一条语句,分号结束7实例1使用格里高利公式求π的近似值,要求精确到最后一项的绝对值小于10–4。程序解析while语句的使用8#include#includeintmain(void){intdenominator,flag;doub
3、leitem,pi;flag=1;denominator=1;item=1.0;pi=0;while(fabs(item)>=0.0001){item=flag*1.0/denominator;pi=pi+item;flag=-flag;denominator=denominator+2;}pi=pi*4;printf("pi=%f",pi);return0;}程序解析——求π的近似值sample22_15.cpp运行结果:pi=3.141793π/4=1-1/3+1/5-1/7…P87Denominator[dɪˈnɔməˌneɪtə]fabs(item)求:浮点数item绝
4、对值小于10–4例4-3(a)定义一个函数,实现用公式求π的值。/*定义一个函数,求Pi的近似值*/#includefloatSelPi(void)//求pi{intnSign=1;floatfNumber=1.0,fTerm=1,fPi=0;while(fabs(fTerm)>1e-6){fPi=fPi+fTerm;fNumber=fNumber+2;nSign=-nSign;fTerm=nSign/fNumber;}return(4*fPi);}#includevoidmain(){floatSelPi(void);//函数声明printf("
5、pi=%.5f",SelPi());}编写main函数调用P87//绝对值小于10–610while语句和for语句都是在循环前先判断条件while语句说明把for语句改写成while语句for(表达式1;表达式2;表达式3)循环体语句表达式1;while(表达式2){for的循环体语句;表达式3;}11while和for的比较for(i=1;i<=10;i++)sum=sum+i;i=1;循环变量赋初值while(i<=10){循环条件sum=sum+i;i++;循环变量的改变}循环体12标识性循环特点:循环次数在运行前是不缺定的根据某个变量的值确定循环是否终止该变量——标识
6、性循环控制变量13标识性循环变量分析标识性循环变量三要素初值终值改变变量的值item1.0fabs(item)<0.0001(终止)item=flag*1.0/denominator;14从键盘输入一批学生的成绩,计算平均分。sample22_16.cpp分析:求累加和确定循环条件不知道输入数据的个数,无法事先确定循环次数用一个特殊的数据作为正常输入数据的结束标志,比如选用一个负数作为结束标志。实例215循环控制分析:循环控制变量grade初值:键盘输入第一个成绩终值:grade<0(终止)改变循环变量:再次键盘输入scanf(“%lf”,&grade);while(grade>=
7、0){……scanf(“%lf”,&grade);}分析:变量total:累加和变量num:计数编程实现16#includeintmain(void){intnum;doublegrade,total;num=0;total=0;printf("Entergrades:");scanf("%lf",&grade);/*输入第1个成绩*/while(grade>=0){/*输入负数,循环结束*/total=total+grade;num++;scanf
此文档下载收益归作者所有