c语言program,C语言课件program_2.ppt

本文详细介绍了自顶向下逐步细化的程序设计方法,强调其结构清晰、易于理解和修改的特点。通过实例展示了如何使用C语言实现算法,包括简单的乘法计算、成绩筛选和判断闰年等。同时,阐述了算法的特性,如有穷性、确定性等,并指出算法在程序设计中的核心地位。此外,讨论了数据结构和语言工具在程序设计中的作用,鼓励采用模块化设计思路解决复杂问题。
摘要由CSDN通过智能技术生成

C语言课件program_2

自顶向下,逐步细化方法的优点: 考虑周全,结构清晰,层次分明,作者容易写,读者容易看 如果发现某一部分中有一段内容不妥,需要修改,只需找出该部分修改有关段落即可,与其它部分无关 提倡用这种方法设计程序。这就是用工程的方法设计程序 模块设计的方法 模块化设计的思想实际上是一种“分而治之”的思想,把一个大任务分为若干个子任务,每一个子任务就相对简单了 在拿到一个程序模块以后,根据程序模块的功能将它划分为若干个子模块,如果这些子模块的规模还嫌大,还再可以划分为更小的模块。这个过程采用自顶向下方法来实现 子模块一般不超过50行 划分子模块时应注意模块的独立性,即:使一个模块完成一项功能,耦合性愈少愈好 练习2-1(该作业交纸质) P36 练习2.1 注:只找一个例子,描述方法自选 P36 练习2.4.5,要求 画传统流程图 画N-S流程图 用伪代码描述算法 第2章 算法--程序的灵魂 主要内容 2.0 程序 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 程序化设计方法 练习c-2 2.0 程序 问题分析 利用计算机处理问题的过程 程序设计的难点在哪里? ● 算法——程序设计的“灵魂” 程序的内容 (沃思 Nikiklaus Wirth): 数据结构 + 算法 = 程序 (data structure) (algorithm) 程序=算法+数据结构+程序设计方法+语言工具和环境 数据结构:对数据的描述,即在程序中要指定数据的类型和数据的组织形式 算法:对操作的描述,即操作步骤 对同一个问题,可以有不同的解题方法和步骤 为了有效地进行解题,需要保证算法正确,并选择合适的算法 特性:有穷性、确定性、有0个或多个输入、有1个或多个输出、有效性 上述四个方面中: 算法是灵魂 数据结构是加工对象 语言是工具 编程需要采取合适的方法 算法解决"做什么"和"怎么做"的问题 程序中的按一定顺序列出的操作语句,就是算法的体现 通过本门课,大家学会使用c语言的语法编写不太复杂的c程序 2.1 算法的概念 广义的说,为解决一个问题而采取的方法和步骤,就称为算法 计算机算法 用计算机解决问题的步骤 分类 数值运算算法 非数值运算算法 2.2 简单算法举例 例2.1 求1×2×3×4×5 改进算法: 设t为被乘数,i为乘数,用循环法求解 S1: 使 t=1 S2: 使 i=2 S3: 使 t×i,乘积仍然放在变量 t中,可表示为t×i→t S4: 使i的值+1,即i+1→i S5: 如果i≤5, 返回重新执行 步骤S3以及其后的S4和S5; 否则,算法结束。最后得到 t的值就是5!的值 原始方法: 步骤1:先求1×2,得到结果2。 步骤2:将步骤1得到的乘 积2乘以3,得到结果6。 步骤3:将6再乘以4,得24。 步骤4:将24再乘以5,得120。 若求 1×2×…×1000, 怎么做? 思考: 若求 1×3×5…×1001, 怎么做? 例2.2 有50个学生,要求将他们之中成绩在80分以上者打印出来 设ni:第i个学生学号 gi:第i个学生成绩 算法如下: S1: 1→i S2: 如果 gi≥80,则输出 ni和 gi,否则不输出 S3: i+1→i S4: 若i≤50, 返回S2,否则,算法结束 例2.3 判定2000 — 2500年中的每一年是否闰年,将结果输出。 闰年的条件: 能被4整除: 但不能被100整除的年份; 能被100整除,又能被400整除的年份; 算法如下: 设y为被检测的年份。 S1: 2000→y S2: 若y不能被4整除,则输出y“不是闰年”, 然 后转到S6 S3: 若y能被4整除,不能被100整除,则输 出y“是闰年”,然后转到S6 S4: 若y能被100整除,又能被400整除,输 出y“是闰年” 否则输出y“不是闰年”, 然后转到S6 S5: 输出y“不是闰年” S6: y+1→y S7: 当y≤2500时, 返回S2继续执行,否则,算法结束 2.3 算法的特性 有穷性:一个算法应包含有限的操作步骤而不能是无限的 确定性:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的不应产生歧义性 输入:有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值