教科版高中信息技术选修1 算法与程序设计:在数组中查找数据-课件1_第1页
教科版高中信息技术选修1 算法与程序设计:在数组中查找数据-课件1_第2页
教科版高中信息技术选修1 算法与程序设计:在数组中查找数据-课件1_第3页
教科版高中信息技术选修1 算法与程序设计:在数组中查找数据-课件1_第4页
教科版高中信息技术选修1 算法与程序设计:在数组中查找数据-课件1_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

在数组中查找数据在数组中查找数据1第一节什么是数组教学内容:

1.理解数组的基本概念

2.静态数组和动态数组的声明及使用

3.数组的赋值第一节什么是数组教学内容:

1.理解数组的基本概念

2数组的应用如果要在程序中表示一位同学的语文、数学、英语、物理、化学五门课程的成绩,该如何做?定义5个变量表示5门课程如果处理的不是一位同学的成绩,而是65位同学或更多人的成绩时,如采用定义单个变量的方法将非常烦琐,有没有更好的办法呢?借助数组来处理DimsngChineseasSingleDimsngMathasSingleDimsngEnglishasSingleDimsngPhysicsasSingleDimsngChemistryasSingle数组的应用如果要在程序中表示一位同学的语文、数学、英语、物理31、数组的基本概念数组:是一组相同类型的变量的集合,集合中的每个元素都是独立的变量,它们能够通过数组序号被引用。a22314W141、数组的基本概念数组:是一组相同类型的变量的集合,集合中4数组的声明格式一:Dim数组名(常量)As数据类型格式二:Dim数组名(下界to上界)As数据类型例如:用数组aryChinese来表示50名同学的语文成绩,可以定义为:

(1)DimaryChinese(49)AsSingle

(2)DimaryChinese(1to50)Assingle它们都表示一个包含50个元素的名为aryChinese的数组。数组的声明格式一:Dim数组名(常量)As数据类型5数组的声明DimaryChinese(49)AsSingle这个数组共有50个元素,分别为aryChinese(0)、aryChinese(1)…aryChinese(49),数据类型为单精度型。DimaryChinese(1to50)Assingle这个数组共有50个元素,分别为aryChinese(1)、aryChinese(2)…aryChinese(50),数据类型为单精度型。数组的声明DimaryChinese(49)As6关于数组下标的说明对于数组aryChinese(49)和aryChinese(1to50):①数组中每个元素有一个唯一的顺序号,起始序号为0;DimaryChinese(下界to上界)

②下标不能超过数组声明时的上、下界范围;

③下标可以是整型的常量、变量、表达式及一个数元素;

④取值范围:下界to上界,缺省下界,默认为0。下界最小为-32768,上界最大为32767。练习:判断下列数组的取值范围:A(10),B(-3to5)

119关于数组下标的说明对于数组aryChinese(49)和ar7数组的维数数组维数:(由数组元素中下标的个数决定)一个下标表示一维数组

VB中有一维数组、二维数组、……,最多有60维数组。例如:数组ary(3);

数组ary(64,5);

…行数列数一维数组二维数组数组的维数数组维数:(由数组元素中下标的个数决定)一个下标表82.静态数组和动态数组静态数组是在定义时把数组大小已确定了。数组声明时的下标必须为常数,不可以是表达式或变量。例:DimA(12)asinteger

A是数组名、整型、一维数组、有13个元素、下标的范围是0~12。动态数组可在任何时刻改变大小,动态分配存贮空间例:DimB()asSingle定义一个单精度浮点动态数组

2.静态数组和动态数组静态数组是在定义时把数组大小已确定了。9二、静态数组声明

⑴一维数组

形式:Dim数组名(下标)[AS类型]

①数组声明时的下标必须为常数,不可以是表达式或变量。

②一维数组的大小:上界-下界+1

例:DimA(12)asinteger

声明A是数组名、整型、一维数组、有13个元素、下标的范围是0~12。

⑵多维数组

格式:Dim数组名(下标1[,下标2……])[AS类型]

每一维的大小=上界-下界+1数组大小=每一维大小的乘积

例:DimC(-1to5,3)AsLong

声明C是数组名、长整型、二维数组,第一维下标范围为-1~5,第二维下标范围为0~3,占据7×4个长整型变量的空间。

如:二维数组定义:

dim数组名(行最大下标,列最大下标)as数据类型二、静态数组声明

⑴一维数组

形式:Di10二维数组行列意义

************第0行第1行第2行第0列第1列第2列第3列Dimsum(2,3)asintegerDimsum(1-3,1-4)asinteger二维数组行列意义

*113、数组的赋值和一般变量的赋值类似;例如:给数组内第一个元素赋值:

aryChinese(0)=80给数组内多个元素赋值:

fori=0to49aryChinese(i)=0next3、数组的赋值和一般变量的赋值类似;121.有一组元素包括大、小写字母及空格共53个,定义一个数组表示(数组名称为zifu)____2.定义一个数组dat,含7个元素,把1到7这7个数值,分别赋值给数组的各个元素。Dimdat(6)AsIntegerDimiAsIntegerFori=0To6()Nexti3.写出下列程序执行后的结果(含义)DimiAsIntegerDimzifu(25)AsStringFori=1To26zifu(i)=chr(64+i)Nexti程序执行结果__________________________________Dimzifu(52)AsString

dat(i)=i+1把大写字母A~Z赋值给数组zifu的各个元素。1.有一组元素包括大、小写字母及空格共53个,定义一个13四、数组的基本操作(赋值,输出)

⑵二维数组的输入(用双循环实现)

用InputBox函数实现

DimS(3,4)ASSingle

Fori=0to3

Forj=0to4

S(i,j)=InputBox(“输入”

&I&j“的值”)

Nextj

Nexti

(1)数组元素赋初值(利用循环语句实现)Dima(10)asintegerFori=1to5A(i)=4Nexti一维数组:赋值都为4变换代码:分别赋值1至5四、数组的基本操作(赋值,输出)

14⑶数组的赋值说明

①赋值号两边的类型必须一致。

②若赋值号左边是一个动态数组,则赋值时,自动将ReDim赋给右边相同大小的数组。

③若赋值号左边是一个大小固定的数组,赋值有误拓展练习:输出26个大写字母⑶数组的赋值说明

①赋值号两边的类型必须一致。

②若15练习:斐波那契数列1,1,2,3,5,8,13,21,34,55……Fn=fn-2+fn-1(n>2)Dimf(20)AsIntegerDimiAsIntegerf(1)=1:f(2)=1Fori=3To10f(i)=f(i-2)+f(i-1)NextiFori=1To10Printf(i);Nexti练习:斐波那契数列1,1,2,3,5,8,13,21,34,16第二节顺序查找教学内容:

1.问题描述

2.问题分析

3.编程实现第二节顺序查找教学内容:

1.问题描述

2.问题分17什么是顺序查找?顺序查找是查找算法中简单易行的算法。进行查找是,一般从数据的第一个元素开始,按照数据的顺序查找指定的关健值;如果被查数据和该关键值相匹配,则表示找到;如果所有数据与关健值都不匹配,则表示被查数据中不存在改关健值,查找失败。什么是顺序查找?顺序查找是查找算法中简单易行181、问题描述:简单替换密码就是把字符串中的每个字符对应地替换成另一个字符,重新进行编码,从而形成密文;揭秘是再按对应关系将加密字符还原。1、问题描述:简单替换密码就是把字符串中的每个字符对应地替换192、问题分析:

我们分别用两个数组来存储源码字符表和密码字符表。2、问题分析:20第三节二分法查找第三节二分法查找21一份WORD文档,我想统计某个词在这篇文档中出现的次数,用什么功能比较合适?这些都是查找!那么这些功能背后的原理是什么?如果是人工操作,该如何实现呢?一份成绩单,我想在全年级的数据中快速地找到我的名字。用什么功能比较合适?一份WORD文档,我想统计某个词在这篇文档中出现的次数,用什22任务:请从下列句子中找出一个错别字“夏”所在的位置,注意,标点符号占用一个位置。句子:听说,夏雨天音乐和巧克力更配哦。方法:从第一个位置开始逐个比较,直到找到目标文字。任务:请从下列句子中找出一个错别字“夏”所在的位置,注意,标23问题模型:在一个数据序列中寻找目标元素算法:从第一个元素开始按数据的顺序逐个对比目标元素,如果被查数据和目标元素匹配,则表示找到,如果所有数据都不匹配,则表示被查数据不存在该目标元素,查找失败。模型提炼问题模型:在一个数据序列中寻找目标元素算法:从第一个元素开始24补充:数组概念变量:用于存储数据的容器变量相当于单个容器012345678……数组就是一连串的容器数组:一连串用于存储数据的容器,每个容器都有编号标记补充:数组概念变量:用于存储数据的容器变量相当于单个容器0125猜价格游戏商品价格是1000以内的整数每一次说出一个价格我会告诉你价格是高了还是低了最多猜10次如果猜中了商品归你猜价格游戏商品价格是1000以内的整数26游戏回顾所采取的策略先猜500,根据老师的反馈是高还是低决定下次是猜750还是250,如此反复,直到猜中为止。游戏回顾所采取的策略27模型提炼问题模型:在从1到n范围内寻找目标数算法描述:每次都拿区间的一半的数字来与目标数比较,如果相等,则查找成功;如果该数比目标数大,新区间就是原区间的左半部分,否则就是右半部分,然后对新区间如此反复操作,直到找到目标的数为止。这就是二分查找模型提炼问题模型:在从1到n范围内寻找目标数28顺序查找PK二分查找为什么二分查找要比顺序查找快?顺序查找最多要找多少次?二分查找最多要找多少次?二分查找最多需要log2N次,而顺序查找最多要N次,只要位置在log2N之后的目标元素,都是二分查找快。顺序查找PK二分查找为什么二分查找要比顺序查找快?29二分查找的前提既然二分查找这么快,是不是所有的查找都采用二分查找?在12,6,8,7,16中查找7所在的位置。显然不能用二分查找了,那么二分查找的适用条件是什么呢?数据有序!二分查找的前提既然二分查找这么快,是不是所有的查找都采用二分30拓展思考小明最近在做研究性学习的数据处理,他要将原始数据录入计算机中,并且需要经常查询某个数字是否出现过。比如某一份最简单的原始数据是8,2,4,9,5,你会采取什么办法能够快速地得到查询结果?拓展思考小明最近在做研究性学习的数据处理,他要将原始数据录入31小结查找类型优点不足顺序查找实现简单速度慢二分查找速度快必须有序哈希查找*速度最快耗费空间,难以获得位置根据不同的问题选择合适的查找算法小结查找类型优点不足顺序查找实现简32课后思考百度一下,你就知道,我们遇到什么不懂的问题,一般都会到百度去搜索,此搜索与我们本节课所讨论的查找有什么区别和联系?课后思考百度一下,你就知道,我们遇到什么不懂的问题,一般都会33

谢谢!谢谢!34在数组中查找数据在数组中查找数据35第一节什么是数组教学内容:

1.理解数组的基本概念

2.静态数组和动态数组的声明及使用

3.数组的赋值第一节什么是数组教学内容:

1.理解数组的基本概念

36数组的应用如果要在程序中表示一位同学的语文、数学、英语、物理、化学五门课程的成绩,该如何做?定义5个变量表示5门课程如果处理的不是一位同学的成绩,而是65位同学或更多人的成绩时,如采用定义单个变量的方法将非常烦琐,有没有更好的办法呢?借助数组来处理DimsngChineseasSingleDimsngMathasSingleDimsngEnglishasSingleDimsngPhysicsasSingleDimsngChemistryasSingle数组的应用如果要在程序中表示一位同学的语文、数学、英语、物理371、数组的基本概念数组:是一组相同类型的变量的集合,集合中的每个元素都是独立的变量,它们能够通过数组序号被引用。a22314W141、数组的基本概念数组:是一组相同类型的变量的集合,集合中38数组的声明格式一:Dim数组名(常量)As数据类型格式二:Dim数组名(下界to上界)As数据类型例如:用数组aryChinese来表示50名同学的语文成绩,可以定义为:

(1)DimaryChinese(49)AsSingle

(2)DimaryChinese(1to50)Assingle它们都表示一个包含50个元素的名为aryChinese的数组。数组的声明格式一:Dim数组名(常量)As数据类型39数组的声明DimaryChinese(49)AsSingle这个数组共有50个元素,分别为aryChinese(0)、aryChinese(1)…aryChinese(49),数据类型为单精度型。DimaryChinese(1to50)Assingle这个数组共有50个元素,分别为aryChinese(1)、aryChinese(2)…aryChinese(50),数据类型为单精度型。数组的声明DimaryChinese(49)As40关于数组下标的说明对于数组aryChinese(49)和aryChinese(1to50):①数组中每个元素有一个唯一的顺序号,起始序号为0;DimaryChinese(下界to上界)

②下标不能超过数组声明时的上、下界范围;

③下标可以是整型的常量、变量、表达式及一个数元素;

④取值范围:下界to上界,缺省下界,默认为0。下界最小为-32768,上界最大为32767。练习:判断下列数组的取值范围:A(10),B(-3to5)

119关于数组下标的说明对于数组aryChinese(49)和ar41数组的维数数组维数:(由数组元素中下标的个数决定)一个下标表示一维数组

VB中有一维数组、二维数组、……,最多有60维数组。例如:数组ary(3);

数组ary(64,5);

…行数列数一维数组二维数组数组的维数数组维数:(由数组元素中下标的个数决定)一个下标表422.静态数组和动态数组静态数组是在定义时把数组大小已确定了。数组声明时的下标必须为常数,不可以是表达式或变量。例:DimA(12)asinteger

A是数组名、整型、一维数组、有13个元素、下标的范围是0~12。动态数组可在任何时刻改变大小,动态分配存贮空间例:DimB()asSingle定义一个单精度浮点动态数组

2.静态数组和动态数组静态数组是在定义时把数组大小已确定了。43二、静态数组声明

⑴一维数组

形式:Dim数组名(下标)[AS类型]

①数组声明时的下标必须为常数,不可以是表达式或变量。

②一维数组的大小:上界-下界+1

例:DimA(12)asinteger

声明A是数组名、整型、一维数组、有13个元素、下标的范围是0~12。

⑵多维数组

格式:Dim数组名(下标1[,下标2……])[AS类型]

每一维的大小=上界-下界+1数组大小=每一维大小的乘积

例:DimC(-1to5,3)AsLong

声明C是数组名、长整型、二维数组,第一维下标范围为-1~5,第二维下标范围为0~3,占据7×4个长整型变量的空间。

如:二维数组定义:

dim数组名(行最大下标,列最大下标)as数据类型二、静态数组声明

⑴一维数组

形式:Di44二维数组行列意义

************第0行第1行第2行第0列第1列第2列第3列Dimsum(2,3)asintegerDimsum(1-3,1-4)asinteger二维数组行列意义

*453、数组的赋值和一般变量的赋值类似;例如:给数组内第一个元素赋值:

aryChinese(0)=80给数组内多个元素赋值:

fori=0to49aryChinese(i)=0next3、数组的赋值和一般变量的赋值类似;461.有一组元素包括大、小写字母及空格共53个,定义一个数组表示(数组名称为zifu)____2.定义一个数组dat,含7个元素,把1到7这7个数值,分别赋值给数组的各个元素。Dimdat(6)AsIntegerDimiAsIntegerFori=0To6()Nexti3.写出下列程序执行后的结果(含义)DimiAsIntegerDimzifu(25)AsStringFori=1To26zifu(i)=chr(64+i)Nexti程序执行结果__________________________________Dimzifu(52)AsString

dat(i)=i+1把大写字母A~Z赋值给数组zifu的各个元素。1.有一组元素包括大、小写字母及空格共53个,定义一个47四、数组的基本操作(赋值,输出)

⑵二维数组的输入(用双循环实现)

用InputBox函数实现

DimS(3,4)ASSingle

Fori=0to3

Forj=0to4

S(i,j)=InputBox(“输入”

&I&j“的值”)

Nextj

Nexti

(1)数组元素赋初值(利用循环语句实现)Dima(10)asintegerFori=1to5A(i)=4Nexti一维数组:赋值都为4变换代码:分别赋值1至5四、数组的基本操作(赋值,输出)

48⑶数组的赋值说明

①赋值号两边的类型必须一致。

②若赋值号左边是一个动态数组,则赋值时,自动将ReDim赋给右边相同大小的数组。

③若赋值号左边是一个大小固定的数组,赋值有误拓展练习:输出26个大写字母⑶数组的赋值说明

①赋值号两边的类型必须一致。

②若49练习:斐波那契数列1,1,2,3,5,8,13,21,34,55……Fn=fn-2+fn-1(n>2)Dimf(20)AsIntegerDimiAsIntegerf(1)=1:f(2)=1Fori=3To10f(i)=f(i-2)+f(i-1)NextiFori=1To10Printf(i);Nexti练习:斐波那契数列1,1,2,3,5,8,13,21,34,50第二节顺序查找教学内容:

1.问题描述

2.问题分析

3.编程实现第二节顺序查找教学内容:

1.问题描述

2.问题分51什么是顺序查找?顺序查找是查找算法中简单易行的算法。进行查找是,一般从数据的第一个元素开始,按照数据的顺序查找指定的关健值;如果被查数据和该关键值相匹配,则表示找到;如果所有数据与关健值都不匹配,则表示被查数据中不存在改关健值,查找失败。什么是顺序查找?顺序查找是查找算法中简单易行521、问题描述:简单替换密码就是把字符串中的每个字符对应地替换成另一个字符,重新进行编码,从而形成密文;揭秘是再按对应关系将加密字符还原。1、问题描述:简单替换密码就是把字符串中的每个字符对应地替换532、问题分析:

我们分别用两个数组来存储源码字符表和密码字符表。2、问题分析:54第三节二分法查找第三节二分法查找55一份WORD文档,我想统计某个词在这篇文档中出现的次数,用什么功能比较合适?这些都是查找!那么这些功能背后的原理是什么?如果是人工操作,该如何实现呢?一份成绩单,我想在全年级的数据中快速地找到我的名字。用什么功能比较合适?一份WORD文档,我想统计某个词在这篇文档中出现的次数,用什56任务:请从下列句子中找出一个错别字“夏”所在的位置,注意,标点符号占用一个位置。句子:听说,夏雨天音乐和巧克力更配哦。方法:从第一个位置开始逐个比较,直到找到目标文字。任务:请从下列句子中找出一个错别字“夏”所在的位置,注意,标57问题模型:在一个数据序列中寻找目标元素算法:从第一个元素开始按数据的顺序逐个对比目标元素,如果被查数据和目标元素匹配,则表示找到,如果所有数据都不匹配,则表示被查数据不存在该目标元素,查找失败。模型提炼问题模型:在一个数据序列中寻找目标元素算法:从第一个元素开始58补充:数组概念变量:用于存储数据的容器

温馨提示

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

评论

0/150

提交评论