信息科技基础知识梳理(算法部分)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息科技基础知识梳理

第五单元算法与程序设计

85.算法:为解决某一问题设计的确定的有限的步骤。

86.算法的主要特征:

有穷性、确定性、可行性、有0个或多个输入、有一个或多个输出。

87.算法的三种描述方法:自然语言,流程图,伪代码或程序。

88.流程图符号:

起止框输入输出框处理框判断框流程线89.常量:在程序执行过程中事先设置、其值不发生改变的量。

90.变量:在程序执行过程中,取值可以改变的量,对应计算机内部的存储单元。

(1)每个变量都有一个名字作为标记,不同程序设计语言对变量的命名规则个不相同。

(2)从变量中读取数据后,变量的值不发生改变。

(3)变量的赋值:a = 2 或 a ← 2

(4)变量赋值的特点:取之不尽,赋值即覆盖

91.运算符

92.三类运算符的优先级:算术运算符>关系运算符>逻辑运算符

93.主要函数:取整函数Int()、求算术平方根函数sqr()、求绝对值函数abs()

94.算法的三种结构:顺序结构、分支结构、循环结构。

95.循环结构中要注意:循环初始状态、循环体、循环条件。 96.计数器:在算法执行过程中,用来记录某种事件发生次数的变量。

(1)计数器的初值通常为0

(2)在循环体中的计数语句i = i + 1

97. 累加器:在算法执行过程中,用来生成并存储数据累加和的变量。

(1)累加器的初值通常为0

(2)在循环体中的累加语句s = s + a

98.累乘器:在算法执行过程中,用来生成并存储数据累乘积的变量。

(1)累乘器的初值通常为1

(2)在循环体中的累乘语句s = s * a

双分支结构

单分支结构

当型循环结构

99.解析算法:用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,

并通过表达式的计算来实现问题求解。

【解析算法实例】输入已知三角形三条边的长a、b、c,利用海伦公式求三角形面积。

100.枚举算法:列出各种可能的情况并逐一进行检验,根据检验的结果执行相应的操

作。“枚”就是一个一个;“举”就是列举。核心:不遗漏不重复。枚举算法充分利用了Array计算机“运行速度快、不知疲倦”的优势。

(1)结构特点:循环中嵌套分支结构

列举——由循环结构实现

检验——由分支结构实现

(2)设计步骤

1)确定列举的范围:不能随意扩大和缩小范围,否则会造成重复或漏解

2)明确检验的条件:根据检验的对象来设定条件,以及检验后所执行的相关操作。

3)确定循环控制的方式和列举的方式:借助循环变量的变化来列举,或通过输入。

【枚举算法实例】若一个三位数x=100*a+10*b+c (a 、b 、c 都是个位数),满足a3+b3+c3=x ,则x 称为水仙花数。找出三位数中所有的水仙花数。

101.数组:一种特殊的变量,在内存中的位置是连续的,用于存储一批类型、作用相同的数据。几个相关概念:数组名、数组元素、数组元素名、数组元素下标、数组元素值。

【数组实例】输入10个数字,依次存放到数组中,再将其逆序输出。

102.冒泡排序的算法思想

(1)从最下面一个元素起,自下而上地比较相邻两个元素中的数据,将较小的数值交换到上面一个元素。重复这一过程,直到处理完最后两个元素中的数据,称为一遍

(2)然后对余下的i-1个元素重复上述过程。

(3)由于每一遍加工都是将最小的元素像气泡一样浮至顶端,故称为冒泡排序。

例:有一组数据23、61、24、15、89,问第二轮冒泡的第一次交换后数据排序的结果如何?

冒泡过程:

答:第二轮冒泡的第一次交换后数据排序结果为15、23、24、61、89

103.选择排序的算法思想(找最值——擂台法)

(1)从第一个元素起,自上而下找出最小数,并记录下它的位置,将最小数交换到第一个元素中。完成第一遍加工。

(2)然后对余下的i-1个元素重复上述过程。

(3)在每一遍加工中,只需交换一次位置即可

上例中的这组数据23、61、24、15、89,用选择排序的过程如下:

〖冒泡排序与选择排序的比较〗选择排序实际上是一种优化了的排序方法,它和冒泡排序的区别在于减少了交换的次数,在每一遍的加工过程中,选择排序采用的方法是通过遍历,记录下最值的位置,最后再将最值所在位置的数据与待排元素所在的位置进行交换,因此每一遍加工只需交换依次位置。大大减少了算法的复杂度。

104.擂台法实例:已知数组d中已经存放了10个数,输出其中的最大值(1)先假设d[1]中的数值是最大值,令k← d[1] 。

(2)用d[2]与k比较,若d[2]大,则令k← d[2],否则继续比较,直至d[10]

105.顺序查找的算法思想:按照数组元素的先后次序,从第一个元素开始遍历,逐个检验是否和查找的数据相等。(枚举算法)

例:在包含10个数字的数组中顺序查找一个符合要求的数。

106.对分查找的算法思想:先取数组中间的元素和关键字比较,若不相等则缩小近一半的查找范围,在剩下的元素中继续查找。

由于对分查找每查找一次,查找范围就缩小一半,因此对分查找的效率要远高于顺序查找,但它的前提是:待查找的数据必须是有序的。

107.默写分支结构的语句代码

if 条件 then

语句组A

else

语句组B

end if

108.默写循环结构的两种语句代码

for 循环变量=初值 to 终值 step 步长

循环体

next 循环变量

========================

Do while 循环条件

循环体

Loop

相关文档
最新文档