八年级信息技术课教案|八年级信息技术教案第六章各就各位---数组
【jiaoan.jxxyjl.com--初中信息技术教案】
第六章 各就各位---数组一、学习目标
1. 掌握数组的声明和数组元素的引用
2. 掌握动态数组与数组重定义以及与静态数组的差别
3. 掌握利用数组进行排序、查找等操作
4. 掌握控件数组的概念以及应用
二、教学重点
声明数组、初始化数组以及引用各个数组元素
三、教学难点
数组的概念以及应用
四、教学方法
1.演示法。
2.实践法。
五、教学手段与教学媒体
多媒体网络教室。
六、课时安排
1课时。
七、教学过程
教学内容、步骤与方法
第一节 整装待发----认识数组
一、概念
例如要求一个班50名学生的平均成绩:
下标变量si 用数组表示为:s(i)
1、有关说明:
(1).数组与普通变量一样,用来存放数据;
(2).数组中的数据必须是同一类型;
2、数组与循环结合
for i=1 to 50
input s(i)
next i
s=0
for i=1 to 50
s=s+s(i)
next i
print s/50
end
二、数组的建立和引用
1、数组的建立
(1).dim <数组名>(下标上界)
或dim <数组名>(上界1,上界2)
说明:
一般情况下,下标值从0开始
如:dim a(5) 即定义了a(0)、a(1)、…、a(5);
若要修改下标起始值,可用下面语句:
option base n
如:option base 1
dim a(5)
则定义了5个变量a(1)、a(2)、a(3)、a(4)、a(5);
若数组下标上界不超过10则可不必用dim定义数组。
(2)dim <数组名>(n1 to n2)
下标值的范围:-32768~32767
数组名与变量名的定义相同;
允许在同一模块中,数组名与变量名同名,它们不代表同一对象;
dim a(100)
a=3
dim语句中的上界可是常数或变量、表达式;
如: dim a(10)
dim a(n)
dim a(n+2)
但变量值一定先赋值
定义全局数组
dim shared a(50)
用dim 语句可定义变量类型
dim <变量> as <类型>
其中<类型>是:integer(整型)、long(长整型)、single(单精度型)、double(双精度型)、string(字符串型);
但<变量>不能加类型定义符,如下写法是错误的:
dim a& as long
在用dim语句定义了一个变量类型后,该变量名后面加上类型定义符或不加类型定义符都是合法的,且代表同一个对象。例如:
dim a as long
a=123456
a&=77777
print a , a&
end
运行结果如下:
77777 77777
但程序中不能再用a作其它类型的变量名。
2、数组的引用
引用数组元素(下标变量),即在括弧中指定下标;
在程序中,数组与其它变量的使用相同,即可参与运算,可以被赋值;
在引用数组时,数组名、类型、维数以及下标的范围,应与定义时一致;
同一模块中,数组和变量可同名,但数组与数组不能同名;
下列情况是不允许的:
dim a(10,10) 或 dim a(50,50)
dim a(15) dim a%(15)
3、静态数组和动态数组
静态数组——建立数组后,其维数和大小不能改变;
动态数组——在程序执行教程中,可改变大小或者被释放;
qbasic规定:在dim 语句中用常数指定下、上界的数组为静态数组,如果用变量(或表达式)指定上下界的数组为动态数组。
(1).重定义语句
redim <数组名>(上界) 123
如:dim s(20),x(20,30)
……
√redim s(50)
×redim x(30)
只改变同名数组的大小,但不能改变维数;
(2).释放数组语句
erase <数组名>
释放数组所占据的空间;
例1:释放和重定义数组:
n=10
dim a(n)
for i=1 to n
a(i)=i
print a(i);
next i
erase a
redim a(16)
for i=1 to 16
a(i)=i
print a(i);
next i
end
说明:
.如果不使用erase语句释放数组,不能用dim语句对同一个数组两次定义;
.用redim可改变数组的大小,而不必先用erase语句释放数组;
.无论用dim或redim定义一个与原来数组同名的数组,可以改变数组中各维的上下界,而不能改变数组的维数。
(3).数组上、下界函数
lbound(<数组名>,<维数>)——下界函数
ubound(<数组名>,<维数>)——上界函数
例:
input n,m
dim a(n to m)
for i=lbound(a,1) to ubound(a,1)
a(i)=i
print a(i);
next i
dim b(10,15)
for i=1 to ubound(b,1)
for j=1 to ubound(b,2)
b(i,j)=10*i+j
print b(i,j);
next j
next i
end
三、数组的应用
第二节 一字排开-----一维数组
1、一维数组
只有一个下标的数组。
(1).数据统计
例: 输入n个学生的成绩,求平均成绩。
option base 1
input "number of students is:";n
dim s(n)
for i=1 to n
input s(i)
sum=sum+s(i)
next i
aver=sum/n
print "aver=";aver
end
例: 输入n个学生的学号和成绩,要求输出平均成绩和高于平均分的学生学号及成绩。
option base 1
input "number of students is:";n
dim num(n),score(n)
for i=1 to n
input num(i),score(n)
sum=sum+score(i)
next i
aver=sum/n
print "平均分是:";aver
print "高于平均分的学生有:"
print "学号","成绩"
for i=1 to n
if score(i)>aver then print num(i),score(i)
next i
end
(2)、数据排序
例:从键盘输入10个数。要求按由小到大的顺序将它们打印出来;
• 比较交换法
a1、a2、a3、a4、a5、a6、a7、a8、a9、a10
第一次:a1与a2、a3、a4、a5、a6、a7、a8、a9、a10比较
第二次:a2与a3、a4、a5、a6、a7、a8、a9、a10比较
第三次:a3与a4、a5、a6、a7、a8、a9、a10比较
第四次:a4与a5、a6、a7、a8、a9、a10比较
第五次:a5与a6、a7、a8、a9、a10比较
第六次:a6与a7、a8、a9、a10比较
第七次:a7与a8、a9、a10比较
第八次:a8与a9、a10比较
第九次:a9与a10比较
option base 1
dim a(10)
for i=1 to 10
input a(i)
next i
for i=1 to 9
for j=i+1 to 10
if a(i)>a(j) then swap a(i),a(j)
next j
next i
for i=1 to 10
print a(i);
next i
end
6. 选择法
option base 1
dim a(10)
for i=1 to 10
input a(i)
next i
for i=1 to 9
k=i
for j=i+1 to 10
if a(k)>a(j) then k=j
next j
if k<>i then swap a(k),a(i)
next i
for i=1 to 10
print a(i);
next i
end (3).数据查找(检索) 例: 设有n个学生,每个学生的数据包括:学号、姓名、性别、年龄、平均分等;要求输入一个学号,程序输出该学生的所有数据。
• 顺序查找法
假设:num(i)为学生学号,nam$(i)为姓名,num为查找对象。 sub search123
for i=1 to n
if num=num(i) then
print "num";num(i)
print "name";nam$(i)
exit for
end if
next i
if i>n then num ;"not found"
end sub
• 折半查找法(二分查找法);
对按一定规律(由小到大或由大到小)排列好的数据进行检索;假设:num(i)为按从小到大排列的学生学号,nam$(i)为姓名,num为查找对象。
sub search
top=1
bot=n
find=0
do
mid=int((top+bot)/2)
if num=num(mid) then
print "num";num(i)
print "name";nam$(i)
find=1
elseif num<num(mid) then
bot=mid-1
elseif num>num(mid) then
top=mid+1
end if
loop until ((bot<top) or (find=1))
if find=0 then num ;"not found"
end sub
2、二维数组
矩阵的表示:
aij——双下标变量 a(i,j)→二维数组
数组定义:dim a(m,n)
a(i,j)→b(j,i)
例: 输出魔阵——每行、每列和对角线之和均相等。
排列规律:
(1)、先将“1”放在第一行当中;
(2)、从“2”开始到n*n止,各数中每一个数存放的行比前一个数的行数减1,列数加1;
(3)、如果上一个数的行数为1,则下一个数的行数为n(最后一行);
(4)、当上一个数的列数为n时,下一个数的列数为1,行数减1;
(5)、如下一个数应放的位置已被其它数占据,则下一个数放在上一个数的下面。
四、过程中的数组参数
1、作为下标变量
子程序定义:sub a(x,y)
……
end sub
调用:dim t(10)
……
call a(t(1),t(2))
2、作为数组:
定义 :
调用 call b(p(),g())
将主程序中的p、g传给子程序中的a,b 数组传递采取“地地传递”方式。即子程序中对形象参值的修改,将会改变实参值
教学后记:123
本文来源:https://jiaoan.jxxyjl.com/chuzhongxinxijishujiaoan/11384.html
-
【计算机的安全与使用道德规范ppt】计算机的安全使用与道德规范详细阅读
课题:(第四节、第五节, 1课时)教学目的与要求:了解计算机安全使用的意义; 增强对病毒的防范意识; 懂一些必要的知识产权知识,树立法制观念。教学重点与难点:安全用机、防病毒、知...
-
[八年级信息技术课教案]八年级信息技术教案第九章磨刀不误砍柴工-----算法基础知识详细阅读
第九章 磨刀不误砍柴工-----算法基础知识一、教学目标1.理解算法的概念;2.知道两种算法的描述方法—语言描述法和流程图的区别3.能初步利用算法解决简单的问题。4.培养学生的理论联系实际能力和动手操作能力。二、教学重难点1.重点:算法的描述2.难点:算法的描述四、教学方法讨论、讲解、操作相结合。五...
-
制作简易计算器c语言_制作简易计算器详细阅读
课 题第三节管理个人资料辅助练习学 科信息技术授课教师 地 点机 房年 级初二授课时间xx-03-7教学目标德育目标培养学生利用计算机编程去管理个人资料,学会利用计算机管理日常信息。加强利用信息技术去服务于社会的意识。知识目标1 巩固label,image,textbox,c...
-
[劳动实践我是家庭小管家教学设计]家庭小管家──“数值运算”》教学设计详细阅读
【教材版本】 本课为人教版初中第二册第14课《数值运算》。 【教学目标】 认知目标: ·了解常量、变量; ·掌握单元格的引用; ·学会用公式计算数据; ·能够熟练使用填充柄; ·掌握复制、修改输入的公式。 技能目标: 通过本节资源,学生以自主探究的方式完成本节课的学习,增强主...
-
网页浏览设置|网页浏览》教案设计详细阅读
教学内容:信息技术第一册《网页浏览》教学目标:1、通过对网页浏览活动,进一步认识网站、首页,为八年级学习网页制作做知识储备。2、培养学生的合作学习能力、探究问题的兴趣与能力。3、培养学生的鉴赏能力。4、激发学生为祖国信息产业的发展作贡献的爱国情感。教学重点:网站的形式、内容与主题之间的关系教学难点:...
-
信息处理技术是指应用电子计算机_强大的信息处理工具——电子计算机详细阅读
课题:强大的信息处理工具—电子计算机(第三节 , 1课时) 教学目的与要求:了解计算机的主要特点、简史与发展方向; 认识计算机对现代社会的作用、意义; 理解计算机的组成、简单工作原理及系统分类。 教学重点与难点:计算机的组成、计算机系统分类(重点);...
-
第九特区_第 6 节《借助Excel作研究报告》教学设计详细阅读
一、学习者分析虽然已经掌握excel数据加工和处理的方法,但要完成一份研究报告,初一的学生依然面临许多困难:一方面,他们不知道应该如何确定研究课题?如何选择适当可行的研究方法?如何通过数据分析来证明自己的观点?如何撰写研究报告?另一方面,研究报告往往与社会有更紧密的联系,需花费更多的时间和精力,学生...
-
通向世界的钥匙英语|通向世界的钥匙详细阅读
第二课 通向世界的钥匙(教案)教学目标1、认识ie浏览器的窗口组成。2、掌握上网的基本方法。3、对超级链接的认识。教学难点在地址栏输入正确的网络地址,对网络地址命名规则的初步认识。任务安排1、在地址栏输入网址到达指定的网站。2、点击网站首页上的超级链接进入对应的页面。使用课件教学过程教学预案一、导入...
-
【小学综合实践活动教学案例】网瘾的危害》综合实践活动教学案例详细阅读
一、研究背景 网络作为一种全新媒体和信息获得途径已经在人们的日常生活、学习和工作中占据越来越重要的位置,但是,网络所带来的负面影响也是非常明显的,青少年沉湎于网络游戏甚至患上网络成瘾症已成为日益突出的社会难题,这些现象在希望通过网络游戏来舒缓学习压力、摆脱孤独、满足成就感、缺乏自我控制力的青少...
-
【合成海报怎么做】《合成图像做海报》导学案详细阅读
【自研课导学】预习课(晚自习后20分钟):自读自悟资料准备: 1、自己围绕一个主题准备一组照片。 2、合成图片做成海报自主积累:我们做海报时需要:(1)先设计海报的布局,筛选符合海报主题的图片。(2)对图片进行简单编辑,制作海报。(3)通过使用画笔、填充工具等对海报进行美化。(4...