C语言课件王曙燕chp3算法和基本程序设计.ppt
《C语言课件王曙燕chp3算法和基本程序设计.ppt》由会员分享,可在线阅读,更多相关《C语言课件王曙燕chp3算法和基本程序设计.ppt(39页珍藏版)》请在三一办公上搜索。
1、,第三章 算法和基本程序设计,C语言程序设计 第三章 算法和基本程序设计,3.1 算法,概念:算法是解决问题的策略、规则和方法。,数据结构+算法=程序,C语言程序设计 第三章 算法和基本程序设计,特性有穷性:一个算法必须在执行有限个操作步骤后终止;确定性:算法中每一步的含义必须是确切的,不可出现任何二义性;可行性:算法中的每一步操作都应该能有效执行。例如,一个数被0除的操作就是无效的,应当避免这种操作。有输入:输入是指在算法开始之前所需要的初始数据。这些输入的多少取决于特定的问题。输出:在一个完整的算法中至少会有一个输出。,评价标准正确性:合法输入有正确输出可读性:易懂健壮性:容错高效率和低存
2、储量需求,程序的灵魂算法,程序及算法,用程序设计语言来描述问题的求解过程,以及对其中参与运算的数据进行合理地组织和安排,就叫做程序设计。,分析问题确定算法编写程序运行调试总结过程,基本步骤,程序设计一般步骤,(1)分析问题,建立数学模型 A.确定问题是什么,解决问题的步骤是什么;B.针对问题,找出已知的数据和条件,确定所 需的输入、处理及输出对象;C.归纳解题过程为一系列的数学表达式,建立各种量之间的关系.(即建立起解决问题的数学模型),程序及算法,程序设计一般步骤,(2)确定数据结构和算法 A.根据建立的数学模型,对指定的输入数据 和预期的输出结果,确定存放数据的数据 结构;B.针对所建立的
3、数学模型和确定的数据结构,选择合适的算法加以实现;,这里所说的“算法”指解决某一问题 的方法和步骤,而不仅仅是指计算。,程序及算法,程序设计一般步骤,(3)编制程序 根据确定的数据结构和算法,用程序语言严格地描述解决方案。(即编写程序代码),(4)调试程序 在计算机上用实际的输入数据对程序进行调试,分析所得到的运行结果,进行程序的测试和调整,直至获得预期的结果。,程序及算法,程序及算法,算法的一般定义,指解决问题的方法和有限的步骤。,计算机 算法,数值运算(对问题求数值解,例如对微分 方程求解、对函数的定积分求 解、对高次方程求解等),非数值运算(如资料检索、事务管理、数据 处理等),是针对提
4、出的可行方案确定解决问题、完成任务的每一个细节步骤。,程序及算法,问题:有黑和蓝两个墨水瓶,但却错把黑 墨水装在了蓝墨水瓶子里,而蓝墨水 错装在黑墨水瓶子里,要求将其互换。,例1-1,算法分析:这是一个非数值运算 问题。因为两个瓶子的墨水不 能直接交换,所以,解决这一 问题的关键是需要引入第三个 墨水瓶。,程序及算法,设第三个墨水瓶为白色,其交换步骤如下:将黑瓶中的蓝墨水装入白瓶中;将蓝瓶中的黑墨水装入黑瓶中;将白瓶中的蓝墨水装入蓝瓶中;交换结束。,一般步骤,例1-2,问题:给定两个正整数m和n(mn),求它们的最大公约数。,算法分析:一个数值运算问题,它有成熟的算法,在我国古代的算书九章一书
5、中曾记载了这个 算法。求最大公约数一般用辗转相除法(也称欧几里德算法)求解。,程序及算法,辗转相除法,设m=35,n=15,r表示余数。求法如下:(1)35/15(m/n)商2 余5(r=5);(2)以n(=15)作m,以r(=5)作n,继续相除;15/5(m/n)商3 余数为0(r=0).(3)当余数(r)为0时,此时,n即为两数 的最大公约数。35和15的最大公约数为5。,程序及算法,两个正整数分别存放到 m 和 n 中;求余数:计算 m 除以 n,将所得余数存 到变量 r 中;判断 r 是否为0:若 r 为0,则执行第步,否则执行第步;更新被除数和余数:将 n 值存放到 m 中,将 r
6、的值存放到 n 中,并转第步继续 循环执行;输出 n 的当前值,算法结束。,算法描述,程序及算法,C语言程序设计 第三章 算法和基本程序设计,算法的表示可用自然语言、数学方法、某种计算机语言描述规范的方法:流程图、结构图、伪代码、PAD图,流程图,C语言程序设计 第三章 算法和基本程序设计,例1:求三个整数的和,C语言程序设计 第三章 算法和基本程序设计,例2:求三个数中最小的那个数,main()float a,b,c,min;scanf(“%f,%f,%fn”,C语言程序设计 第三章 算法和基本程序设计,N-S结构流程图:完全去掉流程线,由一些基本框组成一个大的框 基本元素框,C语言程序设计
7、 第三章 算法和基本程序设计,例1:求三个整数的和,流程图,N-S结构流程图,C语言程序设计 第三章 算法和基本程序设计,例2:求三个数中最小的那个数,流程图,N-S结构流程图,背景软件危机 1968年,荷兰学者提出GOTO语句的三大危害采用结构化程序设计方法应遵循的原则自顶向下模块化 功能模块 模块的划分 模块间的接口 限制使用GOTO语句,3.2 结构化程序设计方法,C语言程序设计 第三章 算法和基本程序设计,1.从程序流程控制的角度,分为三种基本结构:顺序结构、选择结构、循环结构2.这三种基本结构可以组成所有的各种复杂程序3.结构化程序是只由三种基本结构构成的程序,3.3 程序的基本结构
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课件 王曙燕 chp3 算法 基本 程序设计
链接地址:https://www.31ppt.com/p-5426533.html