- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息学竞赛培训 提高班 谷老师授课 第三-四讲 字符串处理 PASCAL基本教程 回顾知识点 字符类型的概念回顾 字符是一个有序类型, 字符的大小顺序按其ASCⅡ代码的大小而定。函数succ、pred、ord适用于字符类型。例如:后继函数:succ(a)=b 前继函数:pred(B)=A 序号函数:ord(A)=65 字符函数:chr(65)=‘A’ 注意:‘A’~’Z’的ASCII码是连续的; ‘a’~’z’的ASCII码是连续的; 例1 按字母表顺序和逆序每隔一个字母打印。即打印出: a c e g I k m o q s u w y z x r v t p n l j h f d b 程序如下:program ex8_1; var letter:char; begin for letter:=‘a’ to ‘z’ do if (ord(letter)-ord(‘a’))mod 2=0 then write(letter:3); writeln; for letter:=‘z’ downto ‘a’ do if (ord(letter)-ord(‘z’))mod 2 =0 then write(letter:3); writeln; end. 分析:程序中,我们利用了字符类型是顺序类型这一特性,直接将字符类型变量作为循环变量,使程序处理起来比较直观。 数组类型运用回顾 输入十个正整数,把这十个数按由小到大的顺序排列。(冒泡法排序) 下面对5个进行排序,这个五个数分别为8 2 9 10 5。按选择排序方法,过程如下: 初始数据 :8 2 9 10 5 第一次排序:8 2 9 10 5 9 2 8 10 5 10 2 8 9 5 10 2 8 9 5 第二次排序:10 8 2 9 5 10 9 2 8 5 10 9 2 8 5 第三次排序:10 9 8 2 5 10 9 8 2 5 第四次排序:10 9 8 5 2 对于十个数,则排序要进行9次,一共要比较N2。 源程序如下: program ex5_2; var a:array[1..10]of integer; i,j,t:integer; begin writeln(Input 10 integers:); for i:=1 to 10 do read(a[i]);{读入10个初始数据} readln; for i:=1 to 9 do{进行9次排序} begin for j:=i+1 to 10 do{将第i个数与其后所有数比较} if a[i]a[j] then {若有比a[i]大,则与之交换} begin t:=a[i];a[i]:=a[j];a[j]:=t; end; write(a[i]:5); end; end. 一:字符串的定义 字符串是由字符组成的有穷序列。一个字符串中的字符可以通过其对应的下标灵活使用。 字符串类型定义: type 字符串类型标识符=string[n]; var 字符串变量: 字符串类型标识符; 其中:n是定义的字符串长度,必须是0~255之间的自然整数,第0号单元中存放串的实际长度,程序运行时由系统自动提供,第1~n号单元中存放串的字符。若将string[n]写成string,则默认n值为255。 例如:type man=string[8]; var name:man; 字符串的输入和输出:read(name),write(name); 求输入英文句子单词的平均长度. 程序如下: program ex8_2; var ch:string; {字符串类型} s,count,j:integer; begin write(‘The sentence is :’); readln(ch); {读入字符串} s:=0; count:=0; j:=0; repeat inc(j); if not (ch[j] in [:,,,;,,!,?,., ]) the
文档评论(0)