17-18版 算法与程序设计 算法的程序实现(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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是数据库中某张表的名称。