欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

最新复习Pascal数组1ppt课件

  • 资源ID:209013485       资源大小:1.22MB        全文页数:16页
  • 资源格式: PPT        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

最新复习Pascal数组1ppt课件

复习Pascal数组1JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal想一想:下列数组这定义对不对,如不对,为什么?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年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalJSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalJSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalJSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalJSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalJSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalJSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal冒泡法程序:冒泡法程序:冒泡法程序:冒泡法程序:Program mppx(input,output);const n=10;var a:array1.n of integer;I,temp:integer;t:boolean;begin randomize;for I:=1 to n do begin ai:=trunc(random(100);write(ai:4);end;repeat t:=true;for i:=1 to n-1 do if aiai+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的整数并输出的整数并输出的整数并输出的整数并输出冒冒冒冒泡泡泡泡排排排排序序序序做标记,若没做标记,若没做标记,若没做标记,若没有交换值则有交换值则有交换值则有交换值则t t为为为为true,true,出现交换出现交换出现交换出现交换后后后后t t改为改为改为改为falsefalse将排好的序输出。将排好的序输出。将排好的序输出。将排好的序输出。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal应应 用用:例例例例6-5 6-5 将一个十进制整数转化为二进制数。将一个十进制整数转化为二进制数。将一个十进制整数转化为二进制数。将一个十进制整数转化为二进制数。分析:在标准类型中,分析:在标准类型中,长整型范围是长整型范围是-2147483648-21474483647,而二进而二进制数制数 10000000000的的十进制数为十进制数为1024,因,因此如果直接来转换会此如果直接来转换会出现数据溢出。为了出现数据溢出。为了能更好存储二进制的能更好存储二进制的各个位数,可以采用各个位数,可以采用数组。假定输入的数数组。假定输入的数据是长整型,则存储据是长整型,则存储二进制数的数组长度二进制数的数组长度为为32。十十二的方法是除以二的方法是除以2反向取余法。反向取余法。Program ex6-5(input,output);var 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.思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:思考:如果要求将十进制的实数转化为二进制数,如何处理?提示:小数采用乘小数采用乘小数采用乘小数采用乘2 2取整的方法。取整的方法。取整的方法。取整的方法。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P Pascalascalascalascal例例6-66-6 圆盘找数,如图所示:找出圆盘找数,如图所示:找出4 4个相邻的数,使其个相邻的数,使其相加之各最大和最小的是哪相加之各最大和最小的是哪4 4个数?并给出它们的起个数?并给出它们的起始位置。始位置。1252011841661015219118137143179本题实际上就是先求出相邻的四个数的和,然本题实际上就是先求出相邻的四个数的和,然本题实际上就是先求出相邻的四个数的和,然本题实际上就是先求出相邻的四个数的和,然后找出最大数和最小数。如何求相邻的四个数后找出最大数和最小数。如何求相邻的四个数后找出最大数和最小数。如何求相邻的四个数后找出最大数和最小数。如何求相邻的四个数的和呢?的和呢?的和呢?的和呢?设和存放在设和存放在S S中,我们不妨先确定一个序,即确定第一个中,我们不妨先确定一个序,即确定第一个数的位置和最后一个数的位置。假设圆盘上的数的位置和最后一个数的位置。假设圆盘上的2020个数中个数中5 5为第一个数,为第一个数,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(+,asmin+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以外的人员则以外的人员则为废票。统计时输入为废票。统计时输入“#”“#”结束,请按候选人得票数从大结束,请按候选人得票数从大到小顺序输出候选人及其得票情况。到小顺序输出候选人及其得票情况。分析:设两个数组分析:设两个数组分析:设两个数组分析:设两个数组namename数组存放候选人姓名,数组存放候选人姓名,数组存放候选人姓名,数组存放候选人姓名,name1name1放得放得放得放得票最多的人名,票最多的人名,票最多的人名,票最多的人名,name4name4存放得票最少的人名。存放得票最少的人名。存放得票最少的人名。存放得票最少的人名。scorescore存放各存放各存放各存放各人的得票数。人的得票数。人的得票数。人的得票数。假设开始时,假设开始时,假设开始时,假设开始时,namename数组中各元素的值依次为数组中各元素的值依次为数组中各元素的值依次为数组中各元素的值依次为A A、B B、C C、D D,则问题就转化为重组则问题就转化为重组则问题就转化为重组则问题就转化为重组namename数组,而数组,而数组,而数组,而scorescore数组只起存储作用。数组只起存储作用。数组只起存储作用。数组只起存储作用。JSOI2009JSOI2009年大丰冬令营(年大丰冬令营(年大丰冬令营(年大丰冬令营(B B层)层)层)层)程序设计程序设计程序设计程序设计P PascalascalascalascalProgram ex6-7(input,output);var score:arrayA.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(select);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、数组的应用:十进制二进制 圆盘找数 投票问题结束语结束语谢谢大家聆听!谢谢大家聆听!16

注意事项

本文(最新复习Pascal数组1ppt课件)为本站会员(无***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!