八年级信息技术教案第六章 各就各位数组.docx

上传人:b****3 文档编号:4193243 上传时间:2023-05-06 格式:DOCX 页数:9 大小:17.72KB
下载 相关 举报
八年级信息技术教案第六章 各就各位数组.docx_第1页
第1页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第2页
第2页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第3页
第3页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第4页
第4页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第5页
第5页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第6页
第6页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第7页
第7页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第8页
第8页 / 共9页
八年级信息技术教案第六章 各就各位数组.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

八年级信息技术教案第六章 各就各位数组.docx

《八年级信息技术教案第六章 各就各位数组.docx》由会员分享,可在线阅读,更多相关《八年级信息技术教案第六章 各就各位数组.docx(9页珍藏版)》请在冰点文库上搜索。

八年级信息技术教案第六章 各就各位数组.docx

八年级信息技术教案第六章各就各位数组

八年级信息技术教案第六章各就各位---数组

  第六章各就各位---数组

  一、学习目标

  .

  掌握数组的声明和数组元素的引用

  2.

  掌握动态数组与数组重定义以及与静态数组的差别

  3.

  掌握利用数组进行排序、查找等操作

  4.

  掌握控件数组的概念以及应用

  二、教学重点

  声明数组、初始化数组以及引用各个数组元素

  三、教学难点

  数组的概念以及应用

  四、教学方法

  .演示法。

  2.实践法。

  五、教学手段与教学媒体

  多媒体网络教室。

  六、课时安排

  课时。

  七、教学过程

  教学内容、步骤与方法

  第一节整装待发----认识数组

  一、概念

  例如要求一个班50名学生的平均成绩:

  下标变量Si用数组表示为:

S

  、有关说明:

  .数组与普通变量一样,用来存放数据;

  .数组中的数据必须是同一类型;

  2、数组与循环结合

  fori=1to50

   inputs

  nexti

  s=0

  fori=1to50

   s=s+s

  nexti

  prints/50

  end

  二、数组的建立和引用

  、数组的建立

  .DIm<数组名>

  或DIm<数组名>

  说明:

  

  一般情况下,下标值从0开始

  如:

DImA即定义了a、a、…、a;

  若要修改下标起始值,可用下面语句:

  oPTIoNBASEN

  如:

oPTIoNBASE1

   DIma

  则定义了5个变量a、a、a、a、a;

  若数组下标上界不超过10则可不必用DIm定义数组。

  DIm<数组名>

  下标值的范围:

-32768~32767

  

  数组名与变量名的定义相同;

  

  允许在同一模块中,数组名与变量名同名,它们不代表同一对象;

  DIma

  A=3

  

  DIm语句中的上界可是常数或变量、表达式;

  如:

DIma

  DIma

  DIma

  但变量值一定先赋值

  

  定义全局数组

  DImSHAREDa

  

  用DIm语句可定义变量类型

  DIm<变量>AS<类型>

  其中<类型>是:

INTEGER、LoNG(长整型)、SINGLE(单精度型)、DoUBLE(双精度型)、STRING(字符串型);

  但<变量>不能加类型定义符,如下写法是错误的:

  DImA&ASLoNG

  在用DIm语句定义了一个变量类型后,该变量名后面加上类型定义符或不加类型定义符都是合法的,且代表同一个对象。

例如:

  DImaASLoNG

  a=123456

  a&=77777

  printa,a&

  END

  运行结果如下:

  7777777777

  但程序中不能再用a作其它类型的变量名。

  2、数组的引用

  

  引用数组元素(下标变量),即在括弧中指定下标;

  

  在程序中,数组与其它变量的使用相同,即可参与运算,可以被赋值;

  

  在引用数组时,数组名、类型、维数以及下标的范围,应与定义时一致;

  

  同一模块中,数组和变量可同名,但数组与数组不能同名;

  下列情况是不允许的:

  DIma   或 DIma

  DIma

  DIma%

  3、静态数组和动态数组

  静态数组——建立数组后,其维数和大小不能改变;

  动态数组——在程序执行教程中,可改变大小或者被释放;

  QBASIc规定:

在DIm语句中用常数指定下、上界的数组为静态数组,如果用变量(或表达式)指定上下界的数组为动态数组。

  .重定义语句

  REDIm<数组名>

  如:

DImS(20),X(20,30)

  ……

  √REDImS

  ×REDImX

  只改变同名数组的大小,但不能改变维数;

  .释放数组语句

  ERASE<数组名>

  释放数组所占据的空间;

  例1:

释放和重定义数组:

  n=10

  DIma

  FoRi=1Ton

   a=i

   PRINTa;

  NEXTi

  PRINT

  ERASEa

  REDIma

  FoRi=1To16

   a=i

   PRINTa;

  NEXTi

  PRINT

  END

  说明:

  .如果不使用ERASE语句释放数组,不能用DIm语句对同一个数组两次定义;

  .用REDIm可改变数组的大小,而不必先用ERASE语句释放数组;

  .无论用DIm或REDIm定义一个与原来数组同名的数组,可以改变数组中各维的上下界,而不能改变数组的维数。

  .数组上、下界函数

  LBoUND——下界函数

  UBoUND——上界函数

  例:

  INPUTn,m

  DIma

  FoRi=LBoUNDToUBoUND

   a=i

   PRINTa;

  NEXTi

  PRINT

  DImb

  FoRi=1ToUBoUND

   FoRj=1ToUBoUND

   b=10*i+j

   PRINTb;

   NEXTj

  NEXTi

  PRINT

  END

  三、数组的应用

  第二节一字排开-----一维数组

  、一维数组

  只有一个下标的数组。

  .数据统计

  例:

输入n个学生的成绩,求平均成绩。

  oPTIoNBASE1

  INPUT"numberofstudentsis:

";n

  DIms

  FoRi=1ton

   INPUTs

   sum=sum+s

  NEXTi

  aver=sum/n

  PRINT"aver=";aver

  END

  例:

输入n个学生的学号和成绩,要求输出平均成绩和高于平均分的学生学号及成绩。

  oPTIoNBASE1

  INPUT"numberofstudentsis:

";n

  DImnum,score

  FoRi=1ton

   INPUTnum,score

   sum=sum+score

  NEXTi

  aver=sum/n

  PRINT

  PRINT"平均分是:

";aver

  PRINT

  PRINT"高于平均分的学生有:

"

  PRINT"学号","成绩"

  FoRi=1Ton

   IFscore>averTHENPRINTnum,score

  NEXTi

  END

  、数据排序

  例:

从键盘输入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比较

  oPTIoNBASE1

  DIma

  FoRi=1To10

   INPUTa

  NEXTi

  FoRi=1To9

   FoRj=i+1To10

   ifa>aTHENSwAPa,a

   NEXTj

  NEXTi

  FoRi=1To10

   PRINTa;

  NEXTi

  END

  6.

  选择法

  oPTIoNBASE1

  DIma

  FoRi=1To10

   INPUTa

  NEXTi

  FoRi=1To9

   k=i

   FoRj=i+1To10

   ifa>aTHENk=j

   NEXTj

   ifk<>iTHENSwAPa,a

  NEXTi

  FoRi=1To10

   PRINTa;

  NEXTi

  END .数据查找(检索)例:

设有n个学生,每个学生的数据包括:

学号、姓名、性别、年龄、平均分等;要求输入一个学号,程序输出该学生的所有数据。

  •

  顺序查找法

  假设:

num为学生学号,nam$为姓名,num为查找对象。

SUBSearch

  FoRi=1Ton

   IFnum=numTHEN

   PRINT"num";num

   PRINT"name";nam$

   EXITFoR

   ENDIF

  NEXTi

  IFi>nTHENnum;"notfound"

  ENDSUB

  •

  折半查找法(二分查找法);

  对按一定规律(由小到大或由大到小)排列好的数据进行检索;假设:

num为按从小到大排列的学生学号,nam$为姓名,num为查找对象。

  SUBSearch

  top=1

  bot=n

  find=0

  Do

   mid=INT/2)

   IFnum=numTHEN

   PRINT"num";num

   PRINT"name";nam$

   find=1

   ELSEIFnum<numTHEN

   bot=mid-1

   ELSEIFnum>numTHEN

   top=mid+1

   ENDIF

  LooPUNTILoR)

  IFfind=0THENnum;"notfound"

  ENDSUB

  2、二维数组

  矩阵的表示:

  aij——双下标变量a→二维数组

  数组定义:

DImA

  a→b

  例:

输出魔阵——每行、每列和对角线之和均相等。

  排列规律:

  、先将“1”放在第一行当中;

  、从“2”开始到N*N止,各数中每一个数存放的行比前一个数的行数减1,列数加1;

  、如果上一个数的行数为1,则下一个数的行数为n;

  、当上一个数的列数为n时,下一个数的列数为1,行数减1;

  、如下一个数应放的位置已被其它数占据,则下一个数放在上一个数的下面。

  四、过程中的数组参数

  、作为下标变量

  子程序定义:

SUBA

  ……

  ENDSUB

  调用:

DImT

  ……

  callA,t)

  2、作为数组:

  定义:

  调用cALLB,g)

  将主程序中的P、G传给子程序中的a,b数组传递采取“地地传递”方式。

即子程序中对形象参值的修改,将会改变实参值

  教学后记:

  

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2