高中信息技术 pascal教程07 第七课 一维数组教案 .doc

高中信息技术 pascal教程07 第七课 一维数组教案 .doc

ID:56664325

大小:51.50 KB

页数:5页

时间:2020-07-02

高中信息技术 pascal教程07 第七课 一维数组教案 .doc_第1页
高中信息技术 pascal教程07 第七课 一维数组教案 .doc_第2页
高中信息技术 pascal教程07 第七课 一维数组教案 .doc_第3页
高中信息技术 pascal教程07 第七课 一维数组教案 .doc_第4页
高中信息技术 pascal教程07 第七课 一维数组教案 .doc_第5页
资源描述:

《高中信息技术 pascal教程07 第七课 一维数组教案 .doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七课一维数组【引例】输入20个数,将它们按从大到小的次序排序后输出。讨论:如果按我们前面学的知识,我们应设20个变量来存储这20个数,如果要排序的数不是20个,而是100个,那我们就应设100个变量?没这么笨吧,我们有更好的办法解决。数组:由固定数量的相同类型的元素按一定顺序排列而成。只有一个下标类型的数组称为一维数组。§7.1数组类型定义和说明类型定义的一般形式为:TYPE<类型标识符>=ARRAY[下标类型]OF<基类型>;数组说明:VAR<数组名>:<数组类型标识符>;数组名是由用户定义的标识符,下标类型一般是子界类型,下标规定了数组元素的个数和排列次序。基类型表示

2、数组中每个元素的类型,它可以是任何数据类型,但同一数组中的元素类型必须相同。如:typeA=array[1..20]ofinteger;B=array[0..50]ofchar;Varx,y:A;a:B;其中x、y被说明为A类型数据,即均为拥有20个元素的数组,下标从1到20,元素类型为整型;a被说明为B类型数据,即拥有51个元素的数组,下标从0到50,元素类型为字符型。★数组也可以直接在说明部分说明数组的类型,如:varx,y:array[1..20]ofinteger;a:array[0..50]ofchar;01234567……50a下标数组中的每个元素都是变量,每个

3、元素在数组中有固定的位置,可以用数组名及方括号括起的下标来表示。如a数组中的第5个元素可表示为:a[4]数组元素的运算和变量相同,如:readln(a[4]);x[3]:=x[3]+y[1];§7.2数组元素的赋值和引用如为一个数组A[1..10]赋值,可用下列语句实现:fori:=1to10doread(A[i]);如果两个数组类型相同,如数组x和y,可用赋值语句:x:=y;把y的10个元素值赋给x的相应元素,它等效于:fori:=1to20dox[i]:=y[i];但要给数组元素赋同一个值,不能这样赋值:x:=0;而应该用如下语句:fori:=1to20dox[i]:=

4、0;【例1】求100以内的所有素数。筛法:主要用于求一个区间上的质数表•去掉1•从2开始,把凡是2的倍数的数去掉(2保留)•从下一个未被去掉的数k开始,把凡是k的倍数的数去掉(k保留)•依此类推,直至筛选过程:(a)234567891011121314151617181920212223……9899100(b)234567891011121314151617181920212223……9899100(c)234567891011121314151617181920212223……9899100…………算法分析:(1)设布尔类型数组A[2..100]以下标2~100代表整数2

5、~100;数组元素的布尔值代表其是否为素数;设A[i]=true则i为素数,A[i]=false则i为合数;A中元素初始均赋为true;(2)从数组中新找一个素数P;(3)从P+1开始,把凡是P的倍数的数筛去(赋为false);(4)重复步骤2、3,直到P>(5)打印数组中未被筛去的元素(元素值为true);√√√√√√√√√…√23456789……100PP删去P的倍数找新的P√√X√X√X√……X23456789……100参考程序:programprime;constn=100;vara:array[2..n]ofboolean;i,p:integer;beginfor

6、i:=2tondoa[i]:=true;{a数组初始化,全部置true}fori:=2tondiv2doifa[i]thenbegin{a[i]相当于a[i]=true}p:=i*2;whilep<=ndobegin{将a中i的倍数去掉}a[p]:=false;p:=p+i;end;{while}end;{then}fori:=2tondo{打印素数}ifa[i]=truethenwrite(i:4);end.【例2】输入n个数,将它们按从小到大排序后输出。请先思考自己的算法,再看以下内容![方法一]选择排序基本思想:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,

7、顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。排序过程:在数组元素[1..n]中找出最小数,将数组第1位上的数与最小数交换;在剩下的数中[2..n]中找出最小数,与第2位上的数交换;依次类推,直到全部的数排完。技巧:寻找最小数——借助哨兵变量x,存放的不是最小数的值,而是最小数的位置(下标),扫描一趟后,最小数即S[x]。交换数组元素S[i]和最小数——即交换S[i]和S[x]例如:初始状态[4938659776132749]第一趟排序后13[38659776492749]第二趟排序后1327[659

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。