内容正文:
第三章 算法基础
知识点梳理
一、知识框架
2、 知识点归纳
(1) 体验计算机解决问题的过程
1、 人工穷举遍历解决问题,效率很低。
2、 计算机解决问题的过程:
(1) 分析问题:分析问题的需求情况、已知条件和需要解决的问题。
(2) 设计算法:问题分析清楚后,需要给出解决问题的详细方法和步骤,这个过程称为设计算法。
(3) 编写程序:选择一种计算机语言工具编写程序。
(4) 调试运行程序:通过键盘把程序输入计算机中运行,检查程序是否按照预想的效果执行,整个过程称为程序的调试运行,顺利运行后,还需要对运行的结果进行检查,直到功能符合设计要求为止。
(2) 算法及其描述
1、算法:对某个特定问题求解方法的步骤性描述。
2、算法的特征:
(1) 有穷性:步骤有限,无死循环。
(2) 确定性:每个步骤清晰无歧义。
(3) 数据输入:需要0个或多个输入。
(4) 数据输出:至少有1个输出。
(5) 可行性:每个步骤都可以得到结果。
3、算法的描述常用方法:
(1) 自然语言描述。
(2) 流程图描述。
(3) 伪代码描述。
4、流程图基本图形及其功能:
图形
名称
功能
开始/结束
表示算法的开始或结束
输入/输出
表示算法中变量的输入或输出
处理
表示算法中变量的计算与赋值
判断
表示算法中的条件判断
流程线
表示算法中的流向
。
连接点
表示算法中的转接
5、三种算法描述的优缺点比较:
算法描述的方法
优势
缺点
自然语言描述
容易理解
书写较烦,不确定性,对复杂问题难以表达准确,不能被计算机识别和执行。
流程图描述
形象直观,容易理解。
不依赖于计算机CPU
伪代码描述
简洁易懂,修改容易。
不直观,错误不容易排查。
6、三种基本控制结构:
(1) 顺序结构:表示程序中各步操作按出现的先后顺序执行。
(2) 选择结构:表示程序的处理步骤出现了分支,需要根据某一特定的条件选择其中的一个分支执行。选择结构有单选择、双选择和多选择三种。
(3) 循环结构:表示程序反复执行某个或某些操作,直到判断条件为假(或者为真)时才终止循环。
(3) 计算机程序与程序设计语言
1、计算机程序:是为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列,简言之,计算机程序就是计算机可以识别的指令集合。
2、计算机的五大基本部件:
(1)运算器。
(2)控制器。
(3)存储器。
(4)输入设备。
(5)输出设备。
3、计算机程序设计语言的发展阶段:
(1)机器语言。
(2)汇编语言。
(3)高级语言
4、计算机程序设计语言优点缺点对比表:
程序设计语言
是否编译
优点
缺点
机器语言
否
能被计算机接受和执行,运行效率最高。
程序难以理解,程序设计任务繁重,移植性差。
汇编语言
是
针对计算机特定硬件而编制的汇编语言程序,比如机器语言易于理解,效率仍十分高。
不能被计算机直接运行,移植性差。
高级语言
是
接近于数学语言或人的自然语言,易于理解,移植性好。
不能被计算机直接运行。
5、 编译程序:计算机把高级语言的每一条语句都编译成机器语言,并保存为二进制文件后才运行的程序。
附:编译程序编译过程:
源程序
编译程序
目标程序
链接程序
优化程序
可执行程序
其他目标程序
6、 解释程序:计算机在执行高级语言程序时,逐条语句解释成机器语言并立即执行的程序。
附:解释程序编译过程:
源程序
源数据
解释程序
二进制程序
7、编译程序和解释程序比对情况表:
语言种类
优势
不足
编译型语言
1、执行速度快。
2、消耗内存少。
3、调试程序时提供不少帮助。
1、比解释器难写。
2、文件大。
3、不支持代码中实现安全性。
4、松散的安全性和平台依赖性,不适合开发因特网或基于web的应用。
解释型语言
1、 提供极佳调试支持。
2、 比编译器更容易实现。
3、 平台独立性。
4、 保证高度的安全性。
1、 占用更多的内存和cpu资源。
2、 运行速度变慢。
原创精品资源学科网独家享有版权,侵权必究!6
学科网(北京)股份有限公司
$