ImageVerifierCode 换一换
格式:PPTX , 页数:15 ,大小:139.62KB ,
资源ID:4373623      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4373623.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(复习Pascal——数组.pptx)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

复习Pascal——数组.pptx

1、JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal数数 组组(一一一一)1、一维数组Type 类型标识符号类型标识符号=array 下标类型下标类型 of 元素类型;元素类型;Var 数组名:类型标识符;数组名:类型标识符;orVar 数组名:数组名:array下标类型下标类型 of 元素类型;元素类型;定义:定义:例例例例6-16-1定义如下数组:定义如下数组:定义如下数组:定义如下数组:(1)表示)表示20种商品的价格;种商品的价格;(2)表示)表示30

2、件邮件件邮件 的安全邮递情况;的安全邮递情况;(3)统计)统计50个学生在一次考试(满分为个学生在一次考试(满分为100,最低分为,最低分为0分)中各分数分)中各分数 的分布情况;的分布情况;(4)统计一篇文章中各字母的出现频率(所有字母均小写)。)统计一篇文章中各字母的出现频率(所有字母均小写)。Var price:array1.20 of real;mail:array1.30 of boolean;score:array0.100 of integer;number:arraya.z of integer;共有共有共有共有2020个实型数,个实型数,个实型数,个实型数,price1-pr

3、ice20price1-price20共有共有共有共有5050个布尔型数,个布尔型数,个布尔型数,个布尔型数,mail1-mail30mail1-mail30共有共有共有共有101101个整型数,个整型数,个整型数,个整型数,score0-score100score0-score100共有共有共有共有2626个整型数,个整型数,个整型数,个整型数,numbera-numberznumbera-numberzJSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal想

4、一想:下列数组这定义对不对,如不对,为什么?Var a:array1.n of char;b:array10.1 of integer;c:arrayinteger of boolean;d:array1.0.3.0 of real;e:array1.50000 of real;说明:说明:a数组中数组中n为变量;为变量;b数组中,下标的上下界应从小到大;数组中,下标的上下界应从小到大;c、e数组元素个数太多,空间分配不够;数组元素个数太多,空间分配不够;d数组下标为实型,不是有序类型。数组下标为实型,不是有序类型。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大

5、丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal一一维维数数组组的的基基本本操操作作:1 1、数组的赋值、输入、输出、数组的赋值、输入、输出、数组的赋值、输入、输出、数组的赋值、输入、输出例例例例6-1 6-1 按顺序读入按顺序读入按顺序读入按顺序读入1010个数,再以逆序的方式输出。个数,再以逆序的方式输出。个数,再以逆序的方式输出。个数,再以逆序的方式输出。分析:可以定义一个分析:可以定义一个分析:可以定义一个分析:可以定义一个1010个元素的数组,用循环读入、输出。个元素的数组,用循环读入、输出。个元素的数组,用循环读入、输出

6、个元素的数组,用循环读入、输出。Program ex10-1(input,output);Program ex10-1(input,output);var var x:array1.10 of integer;x:array1.10 of integer;I:integer;I:integer;begin begin for I:=1 to 10 do for I:=1 to 10 do read(xI);read(xI);writeln(fanxushuchu:);writeln(fanxushuchu:);for I:=10 downto 1 do for I:=10 downto 1

7、do write(xI:3);write(xI:3);end.end.本例将数组下标作为循环变量,本例将数组下标作为循环变量,本例将数组下标作为循环变量,本例将数组下标作为循环变量,便于数组的输入、输出便于数组的输入、输出便于数组的输入、输出便于数组的输入、输出运行结果:运行结果:运行结果:运行结果:10 31 0 -27 78 90 9 1 4 8 2110 31 0 -27 78 90 9 1 4 8 2121 8 4 1 9 90 78 27 0 31 10 21 8 4 1 9 90 78 27 0 31 10 fanxushuchu:fanxushuchu:数组元素的赋值可以用赋值语

8、句。数组元素的赋值可以用赋值语句。数组元素的赋值可以用赋值语句。数组元素的赋值可以用赋值语句。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal2 2、数组元素的移动、数组元素的移动、数组元素的移动、数组元素的移动例例例例6-2 6-2 将将将将a a数组中第一个元素移动到最后数组末尾,其数组中第一个元素移动到最后数组末尾,其数组中第一个元素移动到最后数组末尾,其数组中第一个元素移动到最后数组末尾,其余数据依次往前平移一个位置。余数据依次往前平移一个位置。余

9、数据依次往前平移一个位置。余数据依次往前平移一个位置。P85P85分析:(分析:(分析:(分析:(1 1)先将第一个元素取出放在临时单元中;)先将第一个元素取出放在临时单元中;)先将第一个元素取出放在临时单元中;)先将第一个元素取出放在临时单元中;(2 2)将)将)将)将a2a2a1a1、a3a3a2ana2anan-1an-1(3 3)再将临时单元)再将临时单元)再将临时单元)再将临时单元temptempananProgram ex6-2(input,output);const n=10;var a:array1.n of integer;I:integer;temp:integer;beg

10、in for I:=1 to n do read(aI);temp:=a1;for I:=1 to n-1 do aI:=aI+1;an:=temp;for I:=1 to n do write(aI:3);End.思考:如果将最后一个元素移到第一个位置,其余数据依次向后平移思考:如果将最后一个元素移到第一个位置,其余数据依次向后平移思考:如果将最后一个元素移到第一个位置,其余数据依次向后平移思考:如果将最后一个元素移到第一个位置,其余数据依次向后平移一个位置,如何修改?如果将数组实现逆序交换,又该如何修改程序一个位置,如何修改?如果将数组实现逆序交换,又该如何修改程序一个位置,如何修改?如果

11、将数组实现逆序交换,又该如何修改程序一个位置,如何修改?如果将数组实现逆序交换,又该如何修改程序?1 2 3 4 n-1 n2 3 4 n-1 n 1JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal例例例例6-3 6-3 对于数组对于数组对于数组对于数组a a,输入一个测试数据,输入一个测试数据,输入一个测试数据,输入一个测试数据x x,如果,如果,如果,如果x x存于存于存于存于数组数组数组数组a a,则把,则把,则把,则把x x元素删除;否则将元素删除

12、否则将元素删除;否则将元素删除;否则将x x插在相应的位置,插在相应的位置,插在相应的位置,插在相应的位置,要求数组仍然有序(假设数组递增要求数组仍然有序(假设数组递增要求数组仍然有序(假设数组递增要求数组仍然有序(假设数组递增)分析:本题是一个查找问题。查找的最常用方法是顺序查找和二分查找。分析:本题是一个查找问题。查找的最常用方法是顺序查找和二分查找。分析:本题是一个查找问题。查找的最常用方法是顺序查找和二分查找。分析:本题是一个查找问题。查找的最常用方法是顺序查找和二分查找。我们先采用顺序查找,二分查找以后再讲。我们先采用顺序查找,二分查找以后再讲。我们先采用顺序查找,二分查找以后再讲

13、我们先采用顺序查找,二分查找以后再讲。顺序查找的过程是:从头开始,根据给定的值,依次与数组中的数进行顺序查找的过程是:从头开始,根据给定的值,依次与数组中的数进行顺序查找的过程是:从头开始,根据给定的值,依次与数组中的数进行顺序查找的过程是:从头开始,根据给定的值,依次与数组中的数进行比较,相同即为找到,若查遍整个数组仍然没有,则表示该元素不存在。比较,相同即为找到,若查遍整个数组仍然没有,则表示该元素不存在。比较,相同即为找到,若查遍整个数组仍然没有,则表示该元素不存在。比较,相同即为找到,若查遍整个数组仍然没有,则表示该元素不存在。由题意知:本题查询的条件是数组的元素小于由题意知:本题查

14、询的条件是数组的元素小于由题意知:本题查询的条件是数组的元素小于由题意知:本题查询的条件是数组的元素小于x x,若发现有数据与,若发现有数据与,若发现有数据与,若发现有数据与x x相等,相等,相等,相等,则将删除该数,否则,若数组中的数大于则将删除该数,否则,若数组中的数大于则将删除该数,否则,若数组中的数大于则将删除该数,否则,若数组中的数大于x x,则此处就是插入,则此处就是插入,则此处就是插入,则此处就是插入x x的位置。的位置。的位置。的位置。注意:如果是删除,则将注意:如果是删除,则将注意:如果是删除,则将注意:如果是删除,则将x x后的数向前平移一个;如果是插入,则先将后的数向前平

15、移一个;如果是插入,则先将后的数向前平移一个;如果是插入,则先将后的数向前平移一个;如果是插入,则先将x x插入点的元素依次向后平移。插入点的元素依次向后平移。插入点的元素依次向后平移。插入点的元素依次向后平移。3 3、数组元素的查找、插入、删除、数组元素的查找、插入、删除、数组元素的查找、插入、删除、数组元素的查找、插入、删除JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalProgram ex6-3(input,output);const n=100;v

16、ar a:array1.n+1 of integer;如果如果x插入,数组插入,数组x将增加一个数据将增加一个数据 x:integer;I,j:integer;begin for I:=1 to n do read(aI);read(x);an+1:=x;将将an+1设为设为x,可以作为后面比较的结束标志,可以作为后面比较的结束标志 I:=1;while aIai,a1ai,则将则将则将则将a1a1与与与与aIaI交换。交换。交换。交换。等一轮比较下来,最小数就存放在等一轮比较下来,最小数就存放在等一轮比较下来,最小数就存放在等一轮比较下来,最小数就存放在a1a1中。中。中。中。(2 2)依(

17、依()依()依(1 1)类推,)类推,)类推,)类推,a2a2中放第二小,中放第二小,中放第二小,中放第二小,a3a3中放第三小数,中放第三小数,中放第三小数,中放第三小数,一直到一直到一直到一直到an-1an-1,这样序就形成了。,这样序就形成了。,这样序就形成了。,这样序就形成了。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal程程 序序 如如 下下:Program maopao_sort(input,output);const n=10;var a

18、array1.10 of integer;I,j,temp:integer;begin for I:=1 to n do read(aI);for I:=1 to n-1 do for j:=n-1 downto i do if aj+1ai+1 then begin temp:=ai;ai:=ai+1;ai+1:=temp;t:=false;end until t;writeln;for I:=1 to n do write(aI:4);End.随机产生随机产生随机产生随机产生1010个个个个0-1000-100的整数并输出的整数并输出的整数并输出的整数并输出冒冒冒冒泡泡泡泡排排排排序序序

19、序做标记,若没做标记,若没做标记,若没做标记,若没有交换值则有交换值则有交换值则有交换值则t t为为为为true,true,出现交换出现交换出现交换出现交换后后后后t t改为改为改为改为falsefalse将排好的序输出。将排好的序输出。将排好的序输出。将排好的序输出。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal应应 用用:例例例例6-5 6-5 将一个十进制整数转化为二进制数。将一个十进制整数转化为二进制数。将一个十进制整数转化为二进制数。将一个十进

20、制整数转化为二进制数。分析:在标准类型中,分析:在标准类型中,长整型范围是长整型范围是-2147483648-21474483647,而二进而二进制数制数 10000000000的的十进制数为十进制数为1024,因,因此如果直接来转换会此如果直接来转换会出现数据溢出。为了出现数据溢出。为了能更好存储二进制的能更好存储二进制的各个位数,可以采用各个位数,可以采用数组。假定输入的数数组。假定输入的数据是长整型,则存储据是长整型,则存储二进制数的数组长度二进制数的数组长度为为32。十十二的方法是除以二的方法是除以2反向取余法。反向取余法。Program ex6-5(input,output);var

21、 bin:array0.50 of 0.1;x:longint;k,I:integer;Begin read(x);for I:=0 to 50 do binI:=0;将数组清将数组清0 k:=0;while x0 do begin bink:=x mod 2;x:=x div 2;k:=k+1;end;write(二进制为二进制为:)for I:=k-1 downto 0 do write(binI:1);end.思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:

22、思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:小数采用乘小数采用乘小数采用乘小数采用乘2 2取整的方法。取整的方法。取整的方法。取整的方法。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal例例6-66-6 圆盘找数,如图所示:找出圆盘找数,如图所示:找出4 4个相邻的数,使其个相邻的数,使其相加之各最大和最小的是哪相加之各最大和最小的是哪4 4个数?并给出它们的起个数?并给出它们的起始位置。始位置。1252011841661015219118

23、137143179本题实际上就是先求出相邻的四个数的和,然本题实际上就是先求出相邻的四个数的和,然本题实际上就是先求出相邻的四个数的和,然本题实际上就是先求出相邻的四个数的和,然后找出最大数和最小数。如何求相邻的四个数后找出最大数和最小数。如何求相邻的四个数后找出最大数和最小数。如何求相邻的四个数后找出最大数和最小数。如何求相邻的四个数的和呢?的和呢?的和呢?的和呢?设和存放在设和存放在S S中,我们不妨先确定一个序,即确定第一个中,我们不妨先确定一个序,即确定第一个数的位置和最后一个数的位置。假设圆盘上的数的位置和最后一个数的位置。假设圆盘上的2020个数中个数中5 5为第一个数,为第一个数

24、1212为最后一个数。则可将这为最后一个数。则可将这2020个数放在个数放在a a数数组中。数组的下标取组中。数组的下标取0-190-19。0Imax then begin max:=s;smax:=I;end;if smin then begin min:=s;smin:=I;end;end;write(max:,asmax:2);for I:=1 to 3 do write(+,asmax+I mod 20:2);write(=,max);writeln(start from,smax+1);write(min:,asmin:2);for I:=1 to 3 do write(+,asm

25、in+I mod 20:2);write(=,min);writeln(start from,smin+1);end.JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal例例6-76-7投票问题:竞选时,要求选民在投票问题:竞选时,要求选民在A A、B B、C C、D D四个候四个候选人中选择(人数不限),如果选择了选人中选择(人数不限),如果选择了ABCDABCD以外的人员则以外的人员则为废票。统计时输入为废票。统计时输入“#”结束,请按候选人得票数从大结束

26、请按候选人得票数从大到小顺序输出候选人及其得票情况。到小顺序输出候选人及其得票情况。分析:设两个数组分析:设两个数组分析:设两个数组分析:设两个数组namename数组存放候选人姓名,数组存放候选人姓名,数组存放候选人姓名,数组存放候选人姓名,name1name1放得放得放得放得票最多的人名,票最多的人名,票最多的人名,票最多的人名,name4name4存放得票最少的人名。存放得票最少的人名。存放得票最少的人名。存放得票最少的人名。scorescore存放各存放各存放各存放各人的得票数。人的得票数。人的得票数。人的得票数。假设开始时,假设开始时,假设开始时,假设开始时,namename数组中

27、各元素的值依次为数组中各元素的值依次为数组中各元素的值依次为数组中各元素的值依次为A A、B B、C C、D D,则问题就转化为重组则问题就转化为重组则问题就转化为重组则问题就转化为重组namename数组,而数组,而数组,而数组,而scorescore数组只起存储作用。数组只起存储作用。数组只起存储作用。数组只起存储作用。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalProgram ex6-7(input,output);var score:array

28、A.D of integer;name:array1.4 of char;I,j:integer;select,ch:char;begin read(select);for ch:=A to D do scorech:=0;将将score数组清数组清0 for I:=1 to 4 do nameI:=chr(ord(A)+I-1);name数组初始化为数组初始化为A、B、C、D while select#do begin if select in A,B,C,D then 有效票有效票 scoreselect:=scoreselect+1;对应候选人得票数加对应候选人得票数加1 read(se

29、lect);end;for I:=1 to 3 do for j:=I+1 to 4 do if scorenameIscorenamej then根据票数确定名次根据票数确定名次 begin ch:=nameI;nameI:=namej;namej:=ch;end;writeln(rusult:);for I:=1 to 4 do writeln(nameI,:,scorenameI);end.间接寻址思想间接寻址思想间接寻址思想间接寻址思想JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal小结:小结:1、数组的定义2、数组的基本操作:(1)赋值、输入、输出(2)移动 (3)查找、插入、删除(4)排序3、数组的应用:十进制二进制 圆盘找数 投票问题

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服