17-18版 算法与程序设计 算法的程序实现(1)

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

算法与程序设计

算法的程序实现

[浙江考试标准]

一、枚举算法

1.枚举算法的基本思想

根据问题的本身性质,①________出该问题②________可能的情况,并根据题目的条件逐一分析、判断是否满足条件,若满足,则它是问题的一个解,从而挑选出符合条件的③________。

2.枚举算法解题的基本思路

(1)确定枚举对象、枚举范围和判断条件。

(2)一一列举可能的解,验证是否是问题的解。

3.枚举算法程序实现的三要素。

(1)枚举解时,既不能遗漏任何一个真正解,又不能有重复,用循环语句实现。

(2)条件判断时,利用问题提供的约束条件筛选、判断解的正确性,用分支语句实现。

(3)求解形式一般以输出解的内容或进行与解有关的其他计算。

二、解析算法

1.解析算法的基本思想

用解析的方法找出表示问题的前提条件与所求结果之间关系的④________,并通过表达式的计算来实现问题的求解。

2.解析算法解题的基本思路

(1)建立正确的数学模型,即得出正确的数学表达式。

(2)保证计算过程描述的正确性。

用正确合理的VB变量、表达式来表示已经得出的数学表达式。

3.解析算法程序实现的步骤

(1)运用解析算法分析问题,寻找问题中各要素之间的关系,用⑤________表示它们的关系。

(2)写出解决问题的解析步骤,编写程序实现,通过运行程序求得问题的正确解。

三、冒泡排序

1.冒泡排序

基本思想是在待排序的数据中,先找到最小(大)的数据将它放到最前面,再从第二个数据开始,找到第二小(大)的数据将它放到第二个位置,以此类推,直到只剩下最后一个数据为止。

2.冒泡排序的实现要素

(1)将数据存放在数组中,确定数组的名称、元素个数。

(2)比较与交换⑥________进行,在冒泡排序中,第i遍排序比较n-i次,最多交换n-i次。

(3)强调⑦__________元素的比较和交换。 3.冒泡排序的程序实现 (1)从后向前实现冒泡排序

从后向前实现冒泡排序的程序结构:

⎩⎪⎨⎪⎧

让i 从1到n -1循环

⎩⎨⎧

让j 从n 到i +1循环 步长为-1 如果d (j )与d (j -1)逆序,则两者互换(冒泡一次)循环尾循环尾

(2)从前向后实现冒泡排序

从前向后实现冒泡排序的程序结构:

⎩⎪⎨⎪⎧

让i 从1到n -1循环

⎩⎨⎧

让j 从1到n -i 循环如果d (j )与d (j +1)逆序,则两者互换(冒泡一次)循环尾循环尾

【自我校对】 ①一一列举 ②所有 ③所有解 ④数学表达式 ⑤数学表

达式 ⑥同时 ⑦相邻

四、选择排序 1.选择排序

基本思想是在所有的记录中选出最小(大)的数据,把它与第一个数据交换,然后在其余的记录中再选出最小(大)的数据与第二个数据交换,依次类推,直至所有数据排序完成。

2.选择排序的实现要素

(1)将数据存放在数组中,确定数组的名称、元素个数。

(2)强调⑧________。在第i 遍排序中,比较n -i 次,最多交换1次。 (3)变量k 仅用于记录需要寻找的最值(最大值或最小值)位置,比较的是d(j)与d(k),交换的是⑨________。

3.选择排序的程序实现 (1)从前向后实现选择排序

从前向后实现选择排序的程序结构(升序排序):

⎩⎪⎪⎨⎪⎪⎧

让i 从1到n -1循环

k =i

⎩⎨⎧

让j 从i +1到n 循环

如果d (j )<d (k ),则把j 保存到k 中循环尾

如果k <>i ,则交换d (k )和d (i )的值循环尾

(2)从后向前实现选择排序

从后向前实现选择排序的程序结构(升序排序):

⎩⎪⎪⎨⎪⎪⎧

让i 从n 到2循环 步长为-1

k =i

⎩⎨⎧

让j 从i -1到1循环

如果d (j )>d (k ),则把j 保存到k 中循环尾

如果k <>i ,则交换d (k )和d (i )的值循环尾

【答案】 ⑧先比较,再交换 ⑨d(k)和d(i)

五.查找算法

⑩________的基本思想是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到所查数据的位置;反之,查找不成功。

⑪________的基本思想是在有序的数据列中,首先将要查找的数据与有序数组内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则根据数组元素的有序性,就可确定该数据应该在数组的前半部分还是后半部分继续进行查找;在新确定的范围内,继续按上述方法进行查找,直到找到要查找的数据,使查找成功,或直到子表不存在,查找不成功。

【答案】 ⑩顺序查找 ⑪对分查找 六、递归算法

函数或过程调用它本身,称为⑫________。

⑬________的基本思想是把规模较大的、较难解决的问题变成规模较小的、容易解决的同一问题,规模较小的问题又变成规模更小的问题,当问题小到一定程度时,可以直接得出它的解,从而得到原来问题的解。即采用“大事化小,小事化了”的基本思想。

递归算法必须具备的条件:

①每一步骤解决问题的方法要一致。

②有边界条件。

【答案】⑫递归⑬递归算法

七、VB访问数据库

1.通过ADO连接数据库

ADO是微软公司提供的一种应用程序访问数据库的编程接口。该接口包含了多个对象,其中Connection对象用于与数据库建立连接,在建立连接后,可通过Recordset对象获取数据表中的数据。

在用Connection建立与数据库的连接时,需要设置ConnectionString属性的值(即连接字符串),以指定连接数据库所用的驱动程序、数据源名称、用户名和密码等。

Connection对象具有Open、Close等方法,其中⑭________方法用于打开到数据源的连接,⑮________方法用于关闭连接。

2.通过Recordset对象获取数据库中的数据,步骤如下:(右边是对应的代码):

说明:①myrecord是定义的Recordset对象的名字。

②mytable是数据库中某张表的名称。

相关文档
最新文档