算法特征与表达方式-程序设计基础
需积分: 35 165 浏览量
更新于2024-08-23
收藏 351KB PPT 举报
"这篇资料是谭浩强关于C语言程序设计的笔记,主要讨论了算法的特征和表达方式,以及程序设计方法中的选择结构。"
算法是计算机科学的基础,是解决问题的具体步骤序列。在本资料中,算法的五个特征被详细阐述:
1. **有穷性**:算法必须在有限的步骤内完成,不能陷入无限循环。这意味着算法执行的次数是有限制的,最终能够得出结果。
2. **确定性**:算法的每一步都有明确的定义,不存在模糊不清的操作。对于给定的输入,算法的执行结果应该是确定的,不受外部不确定因素影响。
3. **输入**:算法可以接受零个或多个输入,这些输入是从外部获取的信息,用于驱动算法进行计算。
4. **输出**:算法至少产生一个输出,这是处理输入后得到的结果,反映了算法执行的效果。
5. **有效性**:每个步骤都是可执行的,并且会产生确定的结果。有效的算法不仅需要正确,还应该考虑其时间和空间效率,即时间复杂度和空间复杂度。
资料中提到了不同类型的算法,例如数值运算和非数值运算。举例来说,找出一组数中的最大值就是一个简单的算法实例。同时,资料还讨论了算法的多种表达方式,包括:
- **自然语言**:用日常语言描述算法步骤。
- **流程图**:图形化表示算法流程,包括判断框、处理框、输入/输出框和流程线等。
- **N-S图**:一种无箭头的流程图,通过开始/结束框和处理框来表示算法。
- **伪代码**:介于自然语言和计算机语言之间的表达方式,方便理解且易于转换为实际代码。
- **计算机语言**:直接使用编程语言编写出的代码,是实现算法的最终形式。
资料还强调了结构化程序设计方法,包括自顶向下、逐步细化、模块化设计和结构化编码。这种方法鼓励程序员将大任务分解为小任务,使用基本的程序结构如:
1. **顺序结构**:按照顺序执行指令,例如`步骤1 -> 步骤2 -> 步骤3`。
2. **选择结构(分支结构)**:根据条件执行不同的语句组,例如`if-else`语句。
3. **循环结构**:重复执行某一部分代码,直到满足特定条件为止。
选择结构是程序设计中不可或缺的部分,通过`if`和`else`语句实现条件判断,确保程序在遇到不同情况时能够做出适当的响应。例如,解决一元二次方程的问题时,需要检查判别式`b^2 - 4ac`的值以避免计算平方根时出现错误。
通过深入理解和熟练掌握这些基本概念,程序员可以设计出高效、可靠的程序,从而解决各种复杂问题。
166 浏览量
2021-12-14 上传
2014-02-18 上传
2023-08-04 上传
2010-12-15 上传
2021-10-16 上传
2015-03-03 上传
2021-06-03 上传
2014-05-11 上传
西住流军神
- 粉丝: 31
- 资源: 2万+
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码