信息技术教案

八年级信息技术教案:数组(3)

时间:2013-07-20 来源:无忧教育网 编辑:丫丫 点击:

八年级信息技术教案:数组(3)

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 Search

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

bot=mid-1

ELSEIF num>num(mid) THEN

top=mid+1

END IF

LOOP UNTIL ((bot

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(最后一行);

  [论文开题报告范文]   [中国大学排名]   [财务工作计划专题]   [诗词专题]

本文地址:http://www.edu399.com/jiaoan/xxjs/64611.html
本文标题:八年级信息技术教案:数组(3)
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)