《C语言程序设计算法资料.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计算法资料.pptx(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教学目的:使学生了解算法的概念,掌握算法的特性,懂得怎样表示一个算法以及结构化程序设计的方法。重点:怎么表示一个算法。难点:算法的表示。课时:2学时教学方法:讲授(用多媒体教学)第二讲第二讲课题:算法第1页/共18页2.1 算法的概念 一个程序应包括两个方面的内容:数据的描述。操作步骤,即动作的描述。数据是操作的对象,操作的结果会改变数据的状况。打个比方,厨师做菜肴,需要有菜谱,菜谱上一般应包括:配料,指出应使用哪些原料:操作步骤,指出如何使用这些原料按规定的步骤加工成所需的菜肴,没有原料是无法加工成所需菜肴的。面对同一些原料可以加工出不同风味的菜肴。作为程序设计人员,必须认真考虑和设计数据结
2、构和操作步骤(即算法)。因此,著名计算机科学家沃思(Niklklaus Wirth)提出一个公式第2页/共18页 数据结构十算法=程序 实际上,一个程序除了以上两个主要要素之外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示。因此,可以这样表示:程序算法十数据结构十程序设计方法十语言工具和环境第3页/共18页2.2 简单算法举例例:求12 3 4 5。最原始的方法:STEP1:先求1*2,得到结果2。STEP2:将步骤1得到的乘积2再乘以3,得到结果6。STEP3:将6再乘以4,得24。STEP4:将24再乘以5,得120。第4页/共18页可以将算法改写如下:STEP1:
3、使P=1STEP2:使J 2STEP3:使P*J,乘积仍放在变量P中,可表示为:P*JPSTEP4:使J的值加1,即J+1JSTEP5:如果J不大于5,返回得新执行STEP3以及以后的步骤;否则,算法结束。最后得到的P的值就是5!的值。第5页/共18页2.3 算法的特性有穷性确定性有零个或多个输入有一个或多个输出有效性第6页/共18页2.4 怎样表示一个算法1.用自然语言表示例:求12345步骤1:先求12,得到2。步骤2:将步骤1得到的乘2再乘以3,得到结 果6。步骤3:将6再乘以4,得24。步骤4:将24再乘以5,得120。这是最后结果第7页/共18页2.用流程图表示流程图是用一些图框表示
4、各种操作。起止框输入输出框判断框第8页/共18页连接点流程线注释框处理框第9页/共18页例:求5!开始 1 t2 i2 i2 ii5 结束 YN第10页/共18页3.3.三种基本结构(1)顺序结构AB第11页/共18页(2)选择结构AAP成立不成立第12页/共18页(3 3)循环结构成立不成立不成立成立P1AAP2第13页/共18页4.用N-S流程图表示算法AB成立不成立PAB第14页/共18页当P1成立直到P1成立AA当型循环结构直到型循环结构第15页/共18页5.用伪代码表示算法是介于自然语言和计算机语言之间的文字和符号来描述算法。例:若x为正 if x为正 输出x print x 否则 else 输出-x print -x第16页/共18页2.5 结构化程序设计方法自顶向下逐步细化模块设计结构化编码第17页/共18页感谢您的欣赏!第18页/共18页