- 7
- 0
- 约3.16千字
- 约 26页
- 2015-10-01 发布于河南
- 举报
C程序设计(第四版)(谭浩强编)教程-第2章_算法——程序的灵魂.ppt
C 程序设计 liuyong@ustc.edu.cn 第一讲回顾 C语言的特点 C程序的基本结构 算法的概念 4 程序设计的任务 问题分析:建模。(条件、目标、方法) 设计算法与数据结构:求解步骤,流程图 编程与调试: 编辑和编译 编译检查语法错误,运行、分析检查逻辑(算法)错误 编写程序文档:开发者注释说明和使用者说明 5 书写程序时应遵循的规则 从书写清晰,便于阅读,理解,维护的角度出发, 在书写程序时应遵循以下规则: 一个说明或一个语句占一行。 用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。 低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。 在编程时应力求遵循这些规则,以养成良好的编程风格。 程序例 (1) 求正弦值 #includemath.h #includestdio.h int main() { double x,s; printf(input number:\n); scanf(%lf,x); s=sin(x); printf(sine of %lf is %lf\n,x,s); return(0); } 求两个数之和 #include stdio.h int main() { int a,b,sum; a=123; b=456; sum=a+b; printf(“sum is %d \n”,sum); return (0); } 6 程序的灵魂—算法 一个程序应包括: 对数据的描述。在程序中要指定数据的类型和数据的组织形式,即数据结构 data structure 对操作的描述。即操作步骤,也就是算法 algorithm Nikiklaus Wirth提出的公式: 数据结构+算法=程序 算法的概念 做任何事情都有一定的步骤。为解决一个问题而采取的方法和步骤,就称为算法。 计算机算法:计算机能够执行的算法。 计算机算法可分为两大类: 数值运算算法:求解数值; 非数值运算算法:事务管理领域。 如何求 sigma(1..n)? 简单算法举例 回顾上一讲【例】求5!=1×2×3×4×5。 最原始方法: 步骤1:先求1×2,得到结果2。 步骤2:将步骤1得到的乘积2乘以3,得到结果6。 步骤3:将6再乘以4,得24。 步骤4:将24再乘以5,得120。 这样的算法虽然正确,但太繁。 改进的算法:设两个变量,使用循环 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;否则,算法结束。 如果计算100!只需将S5:若i≤5改成i≤100即可。 如果该求1×3×5×7×9×11,算法也只需做很少的改动: S1: 1→t S2: 3→i S3: t×i→t S4: i+2→t S5:若i≤11, 返回S3,否则,结束。 该算法不仅正确,而且是计算机较好的算法,因为计算机是高速运算的自动机器,实现循环轻而易举。 思考:若将 S5写成:S5:若i<11, 返回S3;否则,结束。 【例】有50个学生,要求将他们之中成绩在80分以上者打印出来。 如果,n表示学生学号,ni表示第个学生学号;g表示学生成绩,gi表示第个学生成绩则算法可表示如下: S1: 1→i S2: 如果gi≥80,则打印ni和gi,否则不打印 S3: i+1→i S4:若i≤50, 返回S2,否则,结束。 (思考:表示学生成绩需要50个变量吗?) 【例】判定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继续执行,否则,结束。 判断条件正确才能得到正确结果; 多个条件的判断顺序有时候是有逻辑关系的,即顺序错了会得到错误结果。 【例】求 算法可表示如下: S1: sign=1 //符号项 S2: sum=1 //累加和 S3: deno=2 //分母 S4: sign=(-1)×sign S5: term= sign×
您可能关注的文档
- Corporate governance and market valuation in China.pdf
- corporate social responsibility discourse narratives and communication.pdf
- COSEL电源.pdf
- Cosmetics market-China2016.docx
- COSO 2016 ICFR Executive_Summary.pdf
- COSO IC-IF ED Outreach Deck_12 29 11.pptx
- COSO 对风险偏好的理解.pdf
- coso_erm_frmwrk.ppt
- coso_framework_exe.pdf
- coso_s_internal_control.ppt
最近下载
- 芯片的EOS失效分析及焊接工艺优化.pdf VIP
- 老旧小区改造工程施工设计方案与技术措施方案.doc VIP
- 2026年贵州省贵阳市高职单招职业技能考试题库有答案解析.docx VIP
- 2026年南昌健康职业技术学院单招职业倾向性考试题库新版.docx VIP
- 北京现代途胜汽车的维修保养手册.doc VIP
- 小学生必背古诗75首---方便打印版.pdf VIP
- 2026年南昌健康职业技术学院单招职业倾向性测试题库最新.docx VIP
- 2026年江西信息应用职业技术学院单招职业倾向性考试必刷测试卷及答案1套.docx VIP
- 征信报告模板详细版带水印可编辑2025年9月新版.pdf VIP
- 五年级下册第三单元习作满分作文:学写简单的研究报告(精选五篇).pdf VIP
原创力文档

文档评论(0)