Pascal字符串的过程.ppt
《Pascal字符串的过程.ppt》由会员分享,可在线阅读,更多相关《Pascal字符串的过程.ppt(18页珍藏版)》请在三一办公上搜索。
1、2023/11/8,信息学竞赛培训 提高班,1,第三-四讲 字符串处理,PASCAL基本教程,2023/11/8,信息学竞赛培训 提高班,2,回顾知识点,字符类型的概念回顾 字符是一个有序类型,字符的大小顺序按其ASC代码的大小而定。函数succ、pred、ord适用于字符类型。例如:后继函数:succ(a)=b前继函数:pred(B)=A序号函数:ord(A)=65 字符函数:chr(65)=A注意:AZ的ASCII码是连续的;az的ASCII码是连续的;,2023/11/8,信息学竞赛培训 提高班,3,例1 按字母表顺序和逆序每隔一个字母打印。即打印出:a c e g I k m o q
2、s u w yz x r v t p n l j h f d b,程序如下:program ex8_1;var letter:char;beginfor letter:=a to z doif(ord(letter)-ord(a)mod 2=0 then write(letter:3);writeln;for letter:=z downto a doif(ord(letter)-ord(z)mod 2=0 then write(letter:3);writeln;end.分析:程序中,我们利用了字符类型是顺序类型这一特性,直接将字符类型变量作为循环变量,使程序处理起来比较直观。,2023/1
3、1/8,信息学竞赛培训 提高班,4,数组类型运用回顾 输入十个正整数,把这十个数按由小到大的顺序排列。(冒泡法排序)下面对5个进行排序,这个五个数分别为829105。按选择排序方法,过程如下:初始数据:829105第一次排序:829105928105102895102895第二次排序:108295109285109285第三次排序:109825109825第四次排序:109852对于十个数,则排序要进行9次,一共要比较N2。,2023/11/8,信息学竞赛培训 提高班,5,源程序如下:program ex5_2;var a:array1.10of integer;i,j,t:integer;b
4、eginwriteln(Input 10 integers:);for i:=1 to 10 do read(ai);读入10个初始数据readln;for i:=1 to 9 do进行9次排序beginfor j:=i+1 to 10 do将第i个数与其后所有数比较if aiaj then 若有比ai大,则与之交换begint:=ai;ai:=aj;aj:=t;end;write(ai:5);end;end.,2023/11/8,信息学竞赛培训 提高班,6,一:字符串的定义,字符串是由字符组成的有穷序列。一个字符串中的字符可以通过其对应的下标灵活使用。字符串类型定义:type=stringn
5、;var字符串变量:字符串类型标识符;其中:n是定义的字符串长度,必须是0255之间的自然整数,第0号单元中存放串的实际长度,程序运行时由系统自动提供,第1n号单元中存放串的字符。若将stringn写成string,则默认n值为255。例如:typeman=string8;varname:man;字符串的输入和输出:read(name),write(name);,字符串可以直接输入、输出,2023/11/8,信息学竞赛培训 提高班,7,求输入英文句子单词的平均长度.程序如下:program ex8_2;varch:string;字符串类型 s,count,j:integer;beginwrit
6、e(The sentence is:);readln(ch);读入字符串 s:=0;count:=0;j:=0;repeatinc(j);if not(chj in:,;,!,?,.,)then inc(s);if chj in,.,!,?then inc(count);until(j=ord(ch0)or(chj in.,!,?);if chj.then writeln(It is not a sentence.)else writeln(Average length is,s/count:10:4);end.分析:程序中,变量s用于存句子中英文字母的总数,变量count用于存放句子中单词的
7、个数,chj表示ch串中的第j个位置上的字符,ord(ch0)为ch串的串长度。程序充分利用Turbo Pascal允许直接通过字符串下标得到串中的字符这一特点,使程序比较简捷。,CHJ是单词的间隔符,2023/11/8,信息学竞赛培训 提高班,8,二、字符串的操作,(一)字符串的运算和比较 由字符串的常量、变量和运算符组成的表达式称为字符串表达式。字符串运算符包括:1+:连接运算符例如:Turbo+PASCAL的结果是Turbo PASCAL。若连接的结果字符串长度超过255,则被截成255个字符。若连接后的字符串存放在定义的字符串变量中,当其长度超过定义的字符串长度时,超过部份字符串被截断
8、。例如:varstr1,str2,str3:string8;beginstr1:=Turbo;str2:=PASCAL;str3:=str1+str2;end则str3的值为:Turbo PA。,2023/11/8,信息学竞赛培训 提高班,9,2=、=、=:关系运算符两个字符串的比较规则为,从左到右按照ASC码值逐个比较,遇到ASC码不等时,规定ASC码值大的字符所在的字符串为大。例如:ABAC 结果为真;122 结果为真;PASCAL=PASCAL 结果为假;,2023/11/8,信息学竞赛培训 提高班,10,程序欣赏,对给定的10个国家名,按其字母的顺序输出。程序如下:program ex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Pascal 字符串 过程
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6513743.html