在数组中查找数据_第1页
在数组中查找数据_第2页
在数组中查找数据_第3页
在数组中查找数据_第4页
在数组中查找数据_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

§3算法的程序实现§3.3在数组中查找数据编程:在10个数中,找出最大数。问题用电脑编程解题的流程用电脑编程解题的流程第一步第一步:分析问题生成10个数在10个数中找出最大数用电脑编程解题的流程第二步第二步:设计算法生成10个数在10个数中找出最大数生成一个包含10个数的数列数学中的“数列”

数列是一组按顺序排列的数,记为{an},即a1,a2,a3,……。称a1为数列的“第一项”,a2是“第二项”,等等。数列中数的总数为数列的“项数”,项数有限的数列为“有限数列”,项数无限的数列为“无限数列”。

数组就是一个特殊的有限数列。数组{an},即a0,a1,a2,a3,……an。称a0为数组的“第一项”,a1是“第二项”,等等。数组的项,也叫数组元素。数组的“项数”为n+1。

编程中的“数列”------“数组”

数组就是一个特殊的有限数列。数组{an},即a0,a1,a2,a3,……an。称a0为数组的“第一项”,a1是“第二项”,等等。数组的项,也叫数组元素。数组{an}的“项数”为n+1。

编程中的“数列”------“数组”一般很少使用数组元素a0第二步:设计算法生成10个数在10个数中找出最大数生成一个包含10个数的数列生成一个包含10个数的数组数组{an},即a0,a1,a2,a3,……an。n=10

生成一个包含10个数的数组数组{an},即a0,a1,a2,a3,……an。n=10

怎样生成这10个数呢?生成一个包含10个数的数组电脑自动循环生成随机数。怎样生成这10个数呢?数组{an},即a0,a1,a2,a3,……an。n=10

第二步:设计算法生成10个数在10个数中找出最大数生成10个[0,100]以内的随机整数。第二步:设计算法生成10个数在10个数中找出最大数在10个数中使用“顺序查找”法找出最大数顺序查找a1MAX顺序查找a1a2MAXMAX1顺序查找a1a2a3MAXMAXMAX………………12顺序查找a1a2a3a9MAXMAXMAXMAXMAX………………128顺序查找a1a2a3a10a9MAXMAXMAXMAXMAXMAX………………1289顺序查找第二步:设计算法生成10个数在10个数中找出最大数“顺序查找”使用循环、比较找出最大数用电脑编程解题的流程第三步第三步:描述算法

开始结束生成10个数在10个数中找出最大数开始结束生成随机数Num(i)开始结束生成10个数在10个数中找出最大数电脑自动生成包含10个随机数的数组Num生成10个数开始结束MAX

←Num(i)MAX←Num(1)MAX

<Num(i)NoYes开始结束生成10个数在10个数中找出最大数在10个数中找出最大数“顺序查找”法用电脑编程解题的流程第四步第四步:设计界面,编写代码①

设计界面②

编写代码用电脑编程解题的流程第五步第五步:调试运行用电脑编程解题的流程第四步:设计界面,编写代码①

设计界面FormCommandButton132Form1CommandButton2CommandButton3第四步:设计界面,编写代码②编写代码开始结束生成10个数在10个数中找出最大数PrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextIEndSub1.生成10个数开始结束生成随机数Num(i)PrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextIEndSub1.生成10个数开始结束生成随机数Num(i)清除frmMain上的全部字符PrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextIEndSub1.生成10个数开始结束生成随机数Num(i)生成[0,100]以内的随机整数。PrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextIEndSub1.生成10个数开始结束生成随机数Num(i)生成[0,100]以内的随机整数。Rnd()可以得到[0,1)的随机数。Round(x,0)可以得到x四舍五入后的值,其中0代表小数位数PrivateSubcmdSeek_Click()DimintMaxAsIntegerDimiAsIntegerintMax=intNum(1)Fori=2ToMAXIfintNum(i)>intMaxThenintMax=intNum(i)EndIfNextifrmMain.PrintfrmMain.Print"结果是:"+Str(intMax)EndSub2.在10个数中找出最大数开始结束MAX

←Num(i)MAX←Num(1)MAX

<Num(i)NoYesPrivateSubcmdSeek_Click()DimintMaxAsIntegerDimiAsIntegerintMax=intNum(1)Fori=2ToMAXIfintNum(i)>intMaxThenintMax=intNum(i)EndIfNextifrmMain.PrintfrmMain.Print"结果是:"+

Str(intMax)EndSub2.在10个数中找出最大数开始结束MAX

←Num(i)MAX←Num(1)MAX

<Num(i)NoYesStr(x)可以将数值x转换成字符串x如:Str(81)的结果为“81”PrivateSubcmdSeek_Click()DimintMaxAsIntegerDimiAsIntegerintMax=intNum(1)Fori=2ToMAXIfintNum(i)>intMaxThenintMax=intNum(i)EndIfNextifrmMain.PrintfrmMain.Print"结果是:"+

Str(intMax)EndSub2.在10个数中找出最大数开始结束MAX

←Num(i)MAX←Num(1)MAX

<Num(i)NoYes在frmMain上输出一个空行。ConstMAX=10DimintNum(MAX)AsIntegerPrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextiEndSubPrivateSubcmdSeek_Click()DimintMaxAsIntegerDimiAsIntegerintMax=intNum(1)Fori=2ToMAXIfintNum(i)>intMaxThenintMax=intNum(i)EndIfNextifrmMain.PrintfrmMain.Print"结果是:"+Str(intMax)EndSub完整的程序代码ConstMAX=10DimintNum(MAX)AsIntegerPrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextiEndSubPrivateSubcmdSeek_Click()DimintMaxAsIntegerDimiAsIntegerintMax=intNum(1)Fori=2ToMAXIfintNum(i)>intMaxThenintMax=intNum(i)EndIfNextifrmMain.PrintfrmMain.Print"结果是:"+Str(intMax)EndSub1.生成10个数2.在10个数中找出最大数0.定义数组完整的程序代码ConstMAX=10DimintNum(MAX)AsIntegerPrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextiEndSubPrivateSubcmdSeek_Click()DimintMaxAsIntegerDimiAsIntegerintMax=intNum(1)Fori=2ToMAXIfintNum(i)>intMaxThenintMax=intNum(i)EndIfNextifrmMain.PrintfrmMain.Print"结果是:"+Str(intMax)EndSub0.定义数组完整的程序代码为什么在最前面定义数组呢?ConstMAX=10DimintNum(MAX)AsIntegerPrivateSubcmdMake_Click()DimiAsIntegerfrmMain.ClsFori=1ToMAXintNum(i)=Round(Rnd()*100,0)frmMain.PrintintNum(i)NextiEndSubPrivateSubcmdSeek_Click()DimintMaxAsIntegerDimiAsIntegerintMax=intNum(1)Fori=2ToMAXIfintNum(i)>intMaxThenintMax=intNum(i)EndIf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论