一、描述问题的格式:
1. 明确问题(要做什么)
2. 理解问题(解决问题的核心、需要具备哪些知识)
3. 寻备选方案(1. 2. 3.)
4. 从备选方案中寻最佳方案
5. 列出所选方案的指令
6. 评价方案
二、问题的类型
1. 可以通过一系列的动作解决问题的方案叫做算法方案
2. 为解决一个问题而采取的方法和步骤,这些步骤叫做算法
3. 不能通过直观的步骤来解决问题的方案叫做启发式方案
4. 根据解决问题的经验和规则启发出来的解决问题的方法叫做启发式算法
三、
1. 处理启发式问题所涉及的计算机技术领域叫做人工智能
2. 算法的特征:有穷性、确定性、输入、输出、有效性
3. 有穷性:在有限的步骤内达到解决问题的目的。
4. 确定性:算法的每一步都是确切定义的,不应是模棱两可的。
5. 有零个或多个输入:执行算法时需要从外界获取信息。
6. 有一个或多个输出:算法的结果就是输出。
7. 有效性:算法中的每一个步骤都应该有效地执行,并得出确切的结果。
8. 程序:事先编制好的具有特殊功能的指令序列。
9. 模块:把一个大而复杂的问题分成多个小问题,每个小问题叫做一个模块。
10. 结构化程序设计的方法步骤:自顶向下、逐步细化、结构化设计、程序化编码。
四、
1. 问题分析图:已知数据、所需结果、所需处理(针对数据的处理、包括公式的引用)、备选方案。(目的:在于理清思路,它帮助程序员抓住问题的主要数据和信息,忽略次要的信息,是一种有用分析工具。)
2. 结构图(交互图):控制模块、编号递增的步长随层次的降低而减小、编号的大小指出执行的顺序(小优先)、编号相同同时输入。(把一个大而复杂的问题分解为若干个子问题,每个子问题为一个模块,每一个模块执行一项功能,把每个模块联系起来表示模块间的相互关系,并用一个控制模块来控制所有的模块。这就是结构图的作用)
3. IPO图:输入、所需处理、模块引用编号、输出。填写顺序:输出(所需结果,既是目标)、输入(所需数据、方法)、所需处理。例子:计算员工的总薪水。(将问题分析图描述的信息进一步细化,更详细地指出哪些数据是输入数据,对这些数据作出什么处理,哪些信息作为最终结构结果输出。)
4. 算法的表示方法:自然语言、伪代码、传统流程图、结构化流程图、NS图、计算机语言等。
5. 内部文档:阐述程序的相关信息,包括:程序员、程序的概要说明、程序的修改信息、程序的注意事项等。
6. 外部文档:由帮助手册或帮助菜单组成。包括:使用指南、命令解释、安装指南等。
五、
1. 计算机解决的问题:计算型、逻辑型、反复型。
2. 常量:在整个指令的执行的过程中固定不变的数据。
3. 变量:在指令的执行的过程中可以改变的,且必须被命名的量。
4. 数据的类型:数值型、字符型、字符串型、逻辑型
5. 操作符:用于通知计算机对数据进行什么样的操作的运算符。
6. 操作数:操作符连接、处理的数据。
7. 结果值:操作完成之后所得到的结果。
8. 操作符的类型:数学操作符、关系操作符、逻辑操作符。
9. 数学操作符:加、减、乘、除、整除、取模。
10. 关系操作符:>、<、>=、<=、<>。
11. 逻辑操作符:与、或、非。
12. 操作的优先级:除、整除、取模、乘/加、减/关系操作符/NOT、AND、OR。
13. 表达式:将同类型的数据用操作符按一定的规则连接起来的、有意义的式子。(所有的数据写在同一行上,加上省去的乘号和必要的括号)
14. 赋值:将一个表达式的结果赋给一个变量同时取代原来的值叫做赋值。
15. 表达式的分类:算术表达式、字符表达式、逻辑表达式。
16. 计算机算法的分类:数值运算算法、非数值运算算法。
17. 程序与算法的不同:程序是算法用某种 程序设计语言具体实现、程序可以不满足算法的有限性。
18. 三种基本结构:顺序结构、选择结构、循环结构。
19. 两种循环结构的区别:Until先执行循环体,再判断条件,至少执行一次循环体。Whil先判断条件,再执行循环体,可能一次也不执行循环体。
20. 三种基本结构的特点:只有一个入口、只有一个出口、结构内的每一部分都有机会被执行到、不存在死循环。
21. 结构化程序设计:按照一组可以提高程序可读性和可维护性的规则,采用自顶向下、逐步求精的思想对程序进行模块化设计。
22. 结构化程序设计的方法:自顶向下、逐步细化、模块化设计、结构化编码。
23. 结构化程序的思想:自顶向下、逐步求精。
24. 结构化程序设计方法的基本思路:把一个大而复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。
25. 模块化:将一个复杂的大问题分解成若干个功能较独立的小问题来进行设计。
六、伪代码
1. 伪代码的符号体系:开始(begin)、结束(end)、输入(read)、输出(writ)、条件分支(if 和case of)、循环(for 、repeat、whilt)、函数。
2. Read和writ(书写时最好加上括号和逗号)。
3. 条件分支(if和case of的语句形式及流程图)
4. 注意case of参数的类型。
七、循环
1. 循环的概念:
2. 循环的结构(while 、repeat、for)
3. 学会在解决问题时发现循环,在计算过程中有重复执行的动作,可能需要一个循环。
4. 使用循环的思路:循环需要哪些变量?需要给那些变量赋予什么样的初值?循环需要在什么下结束?需要使用哪些循环?
5. 循环控制变量:(控制循环的结束)。
6. 累积变量:一般为循环结束时的结果。
7. 递推变量:斐波那契数。
8. Whil、 repeat、for循环的定义的格式及流程图。
八、函数
1. 函数的概念:
数学数组的定义是什么2. 函数定义的格式:函数头、函数名、参数、循环体、返回值。
九、数组(array)
1. 数组定义的格式
2. 数组下标的使用,凡牵涉到有序的问题就有可能使用数组,用数组的下标来控制顺序。
3. 凡牵涉到需要存储数据或者有序的问题就可能使用数组。
十、递归
1. 递归的概念:
2. 递归定义的格式:
3.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论