《选择型程序设计》PPT课件.ppt_第1页
《选择型程序设计》PPT课件.ppt_第2页
《选择型程序设计》PPT课件.ppt_第3页
《选择型程序设计》PPT课件.ppt_第4页
《选择型程序设计》PPT课件.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、第四章选择性编程、2、4.1算法和算法的表达、解决问题的方法和有限步骤“一个算法是规定解决某些特定类型问题的运算序列的穷规则的集合。 ”对于同一个问题,不同的解题方法和步骤算法可以决定程序的质量。 例如:求3,算法要素,两个要素:基本功能操作控制结构,算术运算:逻辑运算:和或非,数据比较:不等,数据传输:输入输出代入算法处理问题过程的描述算法的基本特征是贫穷性确定性有效性,有0个或多个输入一个或多个输出数据结构有关于此过程的数据描述,如:有黑色和蓝色两个墨水瓶,但是错误地放入黑色墨水瓶,放入黑色墨水瓶,要求更换。 算法分析:非数值运算问题是引入第三个墨水瓶,因为两瓶墨水不能直接交换。 将第

2、三个墨水瓶设为红色,其更换步骤:算法示例、6、将黑瓶的蓝墨水放入红瓶,将黑瓶的蓝墨水放入蓝瓶,完成更换,7、显示算法,可以用不同的方法显示算法的函数M(x ) 其中m表示要校正的函数的值;有两个不同的等式; 基于计算机所具有的逻辑判断的基本功能,用计算机求解的算法如下:用自然语言记述的算法,9、a、b、c和x的值是否决定要输入计算机的xa? 当条件成立时,执行步骤,当条件不成立时,执行步骤。将利用公式bx a2计算出的结果保存到m中,将利用执行步骤的公式a(c-x) c2计算出的结果保存到m中,然后执行步骤。 完成输出m的值算法。 10、流程图中表示算法,美国国家标准化协会(ansi )规定了

3、常用的流程图符号11、流程图中表示算法a、b、a-c、 要全面提高程序质量,提高编程效率,使程序具有可读性、可靠性、可维护性和良好结构,编制好程序。 13、程序的三个基本结构、序列结构、特征:一个入口、一个出口序列执行、S1、S2、a、b、14、程序的三个基本结构、选择结构、功能:的算法用三个基本结构表示,如果需要打印最后的结果,则用菱形的博17、三个基本结构的共同特征: (1)只有一个入口;(2)只有一个出口;(3)有机会执行结构中的每个部分;18、结构化编程方法、结构化编程方法是公认的面向进程的编程必须遵循的基本方法和原则。 结构化程序的设定修正方法主要是通过3个基本的程序控制结构的组合制

4、作程序,使程序具有良好的结构和程序自上而下。结构化程序流程图表示算法。、19、4.2c语言句子,句子是构成c源程序的基本单位)、20、形式2 :格式: if (expression )句子群1; else语句组2; 执行过程:if语句的三种形式1 :形式: if (expression )语句组1执行过程:例如: if (xy) printf(“%d”,x ); 例如: if (xy) max=x; 最大值=y; (1)if语句的“表达式”必须用“(”和“)”括起来。 (2)else子句是if语句的一部分,必须与if配对使用,不能单独使用。 (3)在if和else下面的句子组仅由一个句子构成的

5、情况下,也可以不使用复合句的形式(即删除大括号)。 例如: if (xy) printf (“最大值”); 打印机(“% dn”,x ); else printf (“最大值”); 打印机(“% dn”,y );4.3 if文件、21、#包含主() int x、y; 打印机(enter an integer : ); 扫描(% d,计算示例4-7的绝对值,运行: enteran integer :-12 integer :-12-absolute value :12打印机(enter integer a : ); 输入scanf(%d,示例222个整数以确定两个数字是否相等。 运行: ente

6、rintegera :12 enterintegerb :12 a=b,运行: enterintegera:12=b,23,(1)if语句允许嵌套: if语句的嵌套是指“语句组1”或“语句组2” (2)嵌套if语句时,else子句和if的匹配策略:在此基础上,与最接近、尚未匹配的if进行匹配。 书写时要注意形成层次(3)明确匹配关系,为了避免匹配错误,强烈推荐始终用大括号括住嵌入的if句子。 形式3 :形式: if (expr1)句子组1; else if(expr2)文件组2; else if(expr3)文件组3; else语句组n; 执行过程:24,else始终与其上最近的非配对if配对

7、。 例如: if (salary 1000 )索引=0.4else if (salary 800 )索引=0. 3。 else if (销售600 )索引=0. 2。 else if (销售额400 )索引=0. 1。 else索引=0;if else配对的原则,例如if (salary 1000 )索引=0. 4; else if (销售800 )指数=0. 3。 else if (销售600 )索引=0. 2。 else if (销售额400 )索引=0. 1。 else索引=0; 例如,if (a=b ) if (b=c )打印机(a=b=c )。 打印机(a )!=b ); 修正: i

8、f (a=b ) if (b=c )打印机(a=b=c )。 打印机(a )!=b ); 实现if else的正确配对方法:加法,输入a=1,b=1,c=3结果输出: a!=b,26,例如if(a=b,说明: if后面的表达式类型任意if . else符合,例如下面程序的输出结果: #include main() int x,y; 扫描(“%d,%d”,编译错误! 例如下面程序的输出结果: #include main() int x、y; 扫描(“%d,%d”,27,if文本嵌套:一般格式:28,#包括主机() char c; 打印机(企业字符3360 ); c=getchar (); if(

9、c=0,例4-8判断输入文字种类,运行: entera character:thecharacterisacontrolcharacter,运行: enteracharacter:8tter运行: entera character:dthecharacter 运行: entera character:hthecharacterisalowerletter,运行: entera character:f1thecharacterisothercharacter,29,示例4-9下面的程序输出结果: mail 国际货币基金组织国际货币基金组织v1) x=1; 激活if (v2) x=10; x=-1

10、; 打印机(“% d”,x ); 结果:-1,x=-1; 30,例4-10闰年判定算法/*功能:说明if语句的嵌套格式和使用方法。包括音频主()年度、长度; 打印机(打印年度: ); scanf(%d,31,可以通过逻辑运算描述复杂条件的特征,并优化上述程序:包括语音主() int year; 打印机(打印年度: ); 阅读scanf(%d,32,课程练习,第一步,回答问题: #include void main() int a,b,m,n; scanf(“%d,%d”,问题: (1)输入为: 1,2时,程序的执行结果是什么? (2)输入为: 1,0时,程序的执行结果是什么? 答案: (1)输

11、入为: 1,2时,m=1 n=2 (2)输入为: 1,0时,m=2n=3,33,交换机(表达式) case E2:语句组2; case En:句组n; default:语句组,执行过程:switch (表达式) case E1:语句组1; 中断; case E2:句组2; 中断; case En:句组n; 中断; default:文件组中断; 4.4 switch语句,34,说明: E1、E2和En是常量表达式,必须在值互不相同的case之后包含多个可执行语句。 您还可以共享一组可执行文件标签,而无需添加多个case。 如果没有中断,则在找到入口之后,例如casea : caseb : cas

12、ec :打印机(“score 60 n”)。 中断; case a :打印机(“score 90 n”); “good!” n ); caseb 3360 casec 3360打印机(“卷轴60 n”)。 35,例4-11交换机(score ) case 53360打印机(“very good”! ; case 43360打印机(“good! ”); case :打印机(“通过! ”); case 23360打印机(“失败! ”); default :打印机(“数据错误! ”); 运行结果: score为5时,输出: Very good! Good! 传球! 失败! 数据错误! 例4-11交换

13、机(score ) case 53360打印机(“very good”! ”“这是一个很好的例子。” ); 中断; case 43360打印机(“good! ”); 中断; case :打印机(“通过! ”); 中断; case 23360打印机(“失败! ”); 中断; default :打印机(“数据错误! ”); 运行结果: score为5时,输出: Very good! 36,示例4-12语音主() int x=1,y=0,a=0,b=0。 交换机机箱13360交换机机箱03360 a。 中断; 情况13360 b; 中断; case 2: a; b; 中断; case 3: a; b; 打印机(b=%d,b=%d,a,b ); 求出运行结果: a=2,b=1,37,情况4.4.1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论