算法的程序实现数组、查找_计算机软件及应用_IT计文库

算法的程序实现数组、查找_计算机软件及应用_IT计文库

ID:41806352

大小:105.81 KB

页数:3页

时间:2019-09-02

算法的程序实现数组、查找_计算机软件及应用_IT计文库_第1页
算法的程序实现数组、查找_计算机软件及应用_IT计文库_第2页
算法的程序实现数组、查找_计算机软件及应用_IT计文库_第3页
资源描述:

《算法的程序实现数组、查找_计算机软件及应用_IT计文库》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、数组、查找算法的程序实现、目标导学:1、理解数组概念,注会用数组处理数据;2、掌握顺序查找和二分查找算法,会编写相应的程序;二、数组☆引入:定义某个同学五门功课的成绩,可用五个变量yw,sx,yy,wl,hxo若定义全班学生的成绩,还采用此种单个变量定义的方法,需要定义很多变量,繁琐可以利用变量的集合一一数组来处理。交流点拨:数组不是一种基本数据类型,而是一组相同类型的变量的集合,集合屮的每个元素都是独立的变量,能够通过数组的序号被引用。♦定义:Dim数组名(常量)As数据类型例:Dimyw(79)AsSingle其中包含80个变量:yw(0),yw

2、(l),yw(2),……yw(79)♦赋值及英他操作:(一般耍用到循环语句)赋值:Fori=()to79Yw(i)=0Nexti自主探究:☆实例:输入10个学生的语文成绩,求平均分:(程序如右所示)若输入78,98,100,87,89,67,88,90,96,80,得到的输出结果是:求和:Sum=()Fori=0to79sum=sum+yw(i)NextiPrivateSubCommand1_Click()Dimyw(9)AsInteger,avgAsSingle,iAsIntegerFori=0To9yw(i)=Val(InputBox(“输入语文

3、成绩:”,0))Nextiavg=0Fori=0To9avg=avg+yw(i)Nextiavg=avg/10Print”平均成绩为:”;avgEndSub三、查找PrivateSubCommand1_Click()自主探究:读右图程序,回答问题:若输入100,得到的输出结果是:若输入60,得到的输出结果是:该程序段实现的功能是:,实现这一功能的方法是:Dimyw,cjAsInteger,iAsIntegeryw=Array(7&9&100,87,89,67,88,90,96,80)cj=Val(InputBox(n输入要查找的语文成绩:"))For

4、i=0To9Ifyw(i)=cjThenPrintn第”;i+1;”个学生的成绩是”;cjExitForEndIfNextiIfi=10ThenPrint味找到成绩为“;cj;”的学生”EndIf交流点拨:上述程序用的方法可以称为顺序查找法。♦顺序查找:从数据的第一个元索开始,按照数据的顺序查找指定的关键值,如果被查找的某个数据元素和关键值匹配,查找成功;若所有数据元素均不与Z匹配,查找失败。上述程序若查找成功,则平均查找长度为思考:有没有更好的查找方法?(如果数组是有序的?)High!High2分析:可以从中间开始查找,若小了从右侧的中间查找,或大

5、了从左侧的中间开始查找。如图查找89:A0AlA2A3A4A5A6A7A8A9677880878889909698100LowlMltfflow2tM2low3high3M3这种查找查找方法称为二分查找,也叫折半查找。♦二分查找:设置上界和下界,取中间元素与关键值对比,若和符,查找成功;若不相符,判断关键值落在左半部还是右半部,重新确定上界和下界,进行第二次查找,宜到查找成功,或下界大于上界(查找失败)。思考:上一问题中,“二分查找”查找成功的平均查找长度为☆实践一:二分查找的程序如下所示,尝试在计算机中实践检验之。☆实践二:计算机猜数:界面及代码如

6、下,请实践之。PrivateSubCommandl_Click()DimywjAsIntegerDimlowAsInteger,highAsIntegerDimmAsIntegeryw=Array(67,78,80,87,88,89,90,96,98,100)cj=Val(InputBox(n输入要查找的语文成绩:”))low=0high=9DoUntillow>highm=(low+high)2Ifyw(m)=cjThenPrintM第”;m+1;“个学生的成绩是“;cjExitDoElseIfcj

7、w=m+1EndIfEndIfLoopIflow>highThenPrint”未找到成绩为”;cj;”的学生”EndIfEndSubDimkeyAsInteger,mAsIntegerDimlowAsInteger,highAsIntegerPrivateSubCommandl_Click(),开始low=Val(Textl.Text)high=Vai(Text2.Text)m=(low+high)2Label1.Caption=Str(m)EndSubPrivateSubCommand2_Click()'小了low=m+1m=(low+high)

8、2Label1.Caption=Str(m)EndSubPrivateSubCommand3_Click(

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。