第21学时:在数组中查找数据_20120402084734843.doc

上传人:s9****2 文档编号:560276597 上传时间:2022-11-04 格式:DOC 页数:5 大小:57.01KB
返回 下载 相关 举报
第21学时:在数组中查找数据_20120402084734843.doc_第1页
第1页 / 共5页
第21学时:在数组中查找数据_20120402084734843.doc_第2页
第2页 / 共5页
第21学时:在数组中查找数据_20120402084734843.doc_第3页
第3页 / 共5页
第21学时:在数组中查找数据_20120402084734843.doc_第4页
第4页 / 共5页
第21学时:在数组中查找数据_20120402084734843.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《第21学时:在数组中查找数据_20120402084734843.doc》由会员分享,可在线阅读,更多相关《第21学时:在数组中查找数据_20120402084734843.doc(5页珍藏版)》请在金锄头文库上搜索。

1、 四队中学教案纸 (备课人: 陈福波 学科:信息技术 )备课时间2012-4-2教学课题第21学时:3.3在数组中查找数据教时计划1教学课时21教学目标知识和技能 理解数组的概念,学会用简单的数组处理数据。过程和方法掌握顺序查找算法,学会用顺序查找编写简单的查找程序。情感态度和价值 了解二分法查找算法,学会编写二分法查找程序。教学重点顺序法和二分法查找数据教学难点顺序查找和二分法查找的基本算法思想教学过程:例:求100个学生的平均成绩及超过平均成绩的人数。用变量表示:mark1、mark2、mark3、mark100用数组表示:mark(1 to 100)一、数组的基本概念(1)数组一组相同类

2、型的变量集合,集合中的每个元素都是独立的变量,它们能够通过数组序号被引用。mark(1 to 100)表示一个包含100个数组元素的名为mark。(2)数组元素(数组中的变量,用下标表示) 表示方法:数组名(P1,P2,)P1,P2是“下标”,表示元素在数组中的排列位置。(3)数组维数:(由数组元素中下标的个数决定)一个下标表示一维数组VB中有一维数组、二维数组、,最多有60维数组(4)下标(表示顺序号)每个数组有一个唯一的顺序号;下标不能超过数组声明时的上、下界范围;下标可以是整型的常量、变量、表达式及一个数元素;取值范围:下界to 上界,缺省下界,默认为0。下界最小为-32768,上界最大

3、为32767。练习:判断下列数组的取值范围:A(10),B(3 to 5)(5)数组声明(先声明后使用)声明数组让系统在内存中分配一个连续的区域,用来存储数组元素。声明内容:数组名、类型、维数、数组大小二、静态数组一维数组形式:Dim 数组名(下标) AS类型数组声明时的下标必须为常数,不可以是表达式或变量。一维数组的大小:上界下界+1例:Dim A(12) as integer声明A是数组名、整型、一维数组、有13个元素、下标的范围是012。练习:说明“Dim A(-3 to 6) as String * 3 ”包含的内容。多维数组格式:Dim 数组名(下标1,下标2) AS 类型每一维的大

4、小=上界下界+1 数组大小=每一维大小的乘积例:Dim C(-1 to 5,3) As Long声明C是数组名、长整型、二维数组,第一维下标范围为-15,第二维下标范围为03,占据74个长整型变量的空间。练习:(1)多维数组中下标最少有 维数组,最多有 维数组。(2)求该数组Dim A(5,-3 to 3)的数组大小(3)试说明“Dim A(5,-2 to 3,4to 8) As Single”结论在VB的窗体层或标准模块层用Option Base n语句可重新设定数组的下界,如:Option Base1。如果使用该语句,必须写在模块的所有过程之前;一个模块中只能出现一次Option Base

5、,且必须位于带维数的数组声明之前。在数组声明中的下标关系到每一维的大小,是数组说明符,而在程序其他地方出现的下标为数组元素。三、动态数组利用Dim、Private、Public语句声明括号内为空的数组,然后用ReDim语句指明该数组的大小。ReDim 数组名(下标1,下标2 ) AS 类型下标可以是常量、有了确定值的变量。要改变数组的维数,可在过程中多次使用ReDim来改变数组的大小。每次使用ReDim语句都会使原来数给中的值丢失,可以在ReDim语句后加工厂Preserve参数来保留数组中的数据,但Preserve只能改变最后一维的大小,前面几维大小不能改变。四、数组的基本操作数组的输入用I

6、nputBox函数实现Dim SB(3,4) AS Single For i=0 to 3 For j=0 to 4SB(i,j)=InputBox(“输入” & I & j “的值”)Next j Next i数组的赋值赋值号两边的类型必须一致。若赋值号左边是一个动态数组,则赋值时,自动将ReDim赋给右边相同大小的数组。若赋值号左边是一个大小固定的数组,赋值有误。实践题:1DNA中的碱基有A、G、T、T共四种,如何用数组表示这四个元素?2有一组元素包括大、小写字母及空格共53个,用数组方法表示。3数据类型有_ 、_、_、_、_、_ 、 。第二节 顺序查找一、顺序查找1基本思想:进行查找时,

7、一般从数据的第一个元素开始,按照数据的顺序查找指定的关键值;如果被查数据和该关键值相匹配,则表示找到;否则,则表示被查数据中不存在该关键值,查找失败。2平均查找长度ASLsq= (n-i+1)=np1+(n-1)p2+2pn-1+pn在等概率情况下,pi=1/n(1In),故成功的平均查找长度为(n+2+1)=(n+1)/2若K值不在表中,则须进行n=1比较之后才能确定查找失败。ASLsq达到最小值的情况:qnqn-1q2q13 优点:算法简单,对表的结构无任何要求。缺点:查找效率低,当n 较大时不宜采用查找。二、字符串加解密在数字中有对应关系,可以一对多、多对一,然而在查找字符串时,只允许一

8、个字符串对应另外一个字符串,否则查找出现错误。对字符串进行加密、解密,必须构建一个存储源码字符表和密码字符表。英文字母大、小写加上空格,共53个,我们不能用变量来表示,只能用数组表示。1在VB中新建一个标准EXE工程,然后选中窗体form1,修改3个属性:名称frmencrypt Caption英文字母加解密 StartUpPosition2-屏幕中心2添加标签控件label1和3个文本框,按下列表格进行修改。 对象 属性 设置值 对象 属性 设置值 Label1 Caption 待加密字符串 Text2 名称 txtEncrypt BackStyle 0 TransParent Appear

9、ance 0-Flat AutoSize True Text 空 Text1 名称 txtText Text3 名称 txtDecrypt Appearance 0-Flat Appearance 0-Flat Text 空 Text 空 3.添加两个按钮控件“加密”按钮:cmdEncrypt “解密”按钮:cmdDecrypt 4.编写代码在窗体Form1的“通用”部分声明两个字符表。用常量CHARNUM约束两个字符表总数,aryCode(CHARNUM)、aryeEncode(CHARNUM)。在此声明的作用:使其在其他过程中访问它们。Option ExplicitConst CHARNU

10、M=52 下标从0开始Dim aryCode(CHARNUM) AS StringDim aryEncode(CHARNUM) AS String思考:以上声明说明,aryCode是_、_型、_维数组,有_个元素,下标的范围是_。在窗体Form1的Load事件过程中编写代码。在ASCII码中,英文字母AZ的编码:6590,az的编码:97122,大小写英文字母之间存在一个关系: 小写字母=大写字母+32空格的编码恰好是32,因此源码字符表中第一个字符放空格。52个英文字母用两段循环语句控制,读入源码字符表时用Chr()函数,这样就构成了密码字符表。希腊字母“A”的ASCII码-22879。字符

11、串加密处理:在cmdEncode的Click事件过程中编写代码。依次从待加密字符串中取出一个字符,找到该字符在源码字符表中的位置,这里就要用到Mid()函数和Len()函数。Len()函数负责字符串的长度。For I=1 to Len(txtText.text)在TetText文本框中读入字符串,然后利用Len()函数计算字符串的长度,i的取值范围:1所读入字符串的长度。StrChar=Mid(txtText,i,1)从txtText文本框中取出从第i个字符串起始的字符数,然后把该字符送入strChar存储。字符串解密处理从密码字符串取出字符,查找该字符在密码字符表中的位置,找到后用源码字符表

12、中相应的字符替换,否则仍使用原字符。实践题:1凯撒密码的原理是将“明文”中的每个字母用另外一个字母替换,这样就形成“密文”。已知凯撒密码的计算公式为F(a)=(a+k) mod n,k=3,n=26,如果将英文字母进行加密,其对应关系如下所示:明文:A B C DX Y Z密文:D E F GA B C2编写课本第54页的实践第2题(“明日之星”计分界面)教学反思 在学生对本节内容有所了解,但学得不系统,没有上升到理论的高度。学生对本节内容比较感兴趣,具有较强的求知欲望。 学生对本节知识有所了解的基础上,通过实际应用中的案例分析讲解,师生互动,使学生对在数组中查找数据有新的认识,把对本节知识的理解上升到一个新的理论高度。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号