Pascal字符串的运用.ppt
《Pascal字符串的运用.ppt》由会员分享,可在线阅读,更多相关《Pascal字符串的运用.ppt(14页珍藏版)》请在三一办公上搜索。
1、第一讲 字符串的应用,导入,在历年的信息学奥赛中,字符串的操作已经是考察的热点,比如近两年来提高组的分区联赛试题中的第一题都考察到了字符串的操作,应该是大家着重掌握的内容之一。几点熟练掌握的要求1:熟练掌握从文件中读入字符串并且进行处理的技巧;2:熟练掌握字符串的各种函数和过程的运用。3:能熟练运用字符和数字之间的转化;,乒乓球,【问题背景】国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同
2、影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。【问题描述】华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):,WWWWWWWWWWWWWWWWWWWWWWLW在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。如果一局比赛刚开始,则此时比分为0比0。你的程序就是要对
3、于一系列比赛信息的输入(WL形式),输出正确的结果。【输入格式】每个输入文件包含若干行字符串(每行至多20个字母),字符串有大写的W、L和E组成。其中E表示比赛信息结束,程序应该忽略E之后的所有内容。【输出格式】输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔。,算法分析,首先,对当前输入行计算11分制下每一局比赛的比分。设 a为当前局华华的得分,每输入一个W,a+1;b为当前局对方的得分,每输入一个L,b+1。若输入E或者华华的得分a或者对方得分b达到11分且双方的分数差值大
4、于1((a11)or(b11)and(abs(a-b)1)),则输出当前局的比分a:b。请注意,如果输入的字符为E,则标志比赛结束,11分制计算完毕;否则,继续读下一个字符,计算新一局的比分。然后,对当前输入行计算21分制下每一局比赛的比分。计算方法基本如上。有所不同的是,若华华得分a或者对方得分b达到21分且双方的分数差值大于1((a21)or(b21)and(abs(a-b)1)),则输出当前局的比分a:b。按照上述方法对每一输入行计算11分制和21分制的比赛结果,直至文件读完(eof(input))为止。,assign(input,inp);reset(input);输入文件读准备 as
5、sign(output,out);rewrite(output);输出文件写准备 a:=0;b:=0;当前局双方的比分初始化 while not eof(input)do若文件未读完,则循环 begin while not eoln(input)do若当前行处理完,则11分制的比赛结束 begin read(ch);读一个字符 case ch of根据字符的种类分情形处理 E:begin若比赛结束,则输出双方比分 writeln(a,:,b);break;退出11分制的计算过程 end;E W,L:begin华华或对方得一分 if ch=Wthen inc(a)else inc(b);if(a
6、=11)or(b=11)and(abs(a-b)1)then若有一方得分达到11分且双方的分数差值大于1,则输出双方比分 begin writeln(a,:,b);,a:=0;b:=0;新一局的比分初始化 end;then end;W,L end;case end;while readln;end;while a:=0;b:=0;新一局的比分初始化 writeln;reset(input);重新读输入行 while not eof(input)do若文件未读完且比赛未结束,则循环 begin while not eoln(input)do若当前行处理完,则21分制的比赛结束 begin rea
7、d(ch);读一个字符,case ch of根据字符的种类分情形处理 E:begin若比赛结束,则输出双方比分,退出21分制的计算过程 writeln(a,:,b);break;end;EW,L:begin华华或对方得一分 if ch=Wthen inc(a)else inc(b);if(a=21)or(b=21)and(abs(a-b)1)若有一方得分达到21分且双方的分数差值大于1,则输出双方比分 then begin writeln(a,:,b);a:=0;b:=0;新一局的比分初始化 end;then end;W,L end;case end;while readln;end;whil
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Pascal 字符串 运用
链接地址:https://www.31ppt.com/p-6513738.html