当前位置:首页 >> 学科竞赛 >>

奥赛信息学竞赛班进阶篇课件pascal-05-集合与记录(共8张PPT)

LOGO

PASCAL——集合、记录
汕头金山中学信息竞赛班

集合

? 集合
例如:

TYPE letter = set of ‘A’.. ‘Z’;
var ch1, ch2 : letter;
也可以直接写成:

var ch1, ch2 : set of ‘A’.. ‘Z’;

集合
?集合的表示:
[‘A’,‘ B’ ,‘ C’ ,‘ D’] 是四个字符的集合

[ 1 .. 20 ]
[ ‘0’ ]

表示1到20的所有整数的集合
是单元素集

[ ]

表示空集

集合
? 集合的运算
赋值: ch1:=[ 0..7]; ch2:=[1,4,6]; 交: 并: ch4:=ch1*ch2; ch4:=ch2+ch3; ch3:=[2,7]

差: ch4:=ch1-ch2;
比较: ch1>ch2

集合
? 检查(in)运算: 用来检查某一元素是否属于某一集合

1 in [ 0 .. 4 ]
5 in [ ]

结果为 true
结果为 false

‘A’ in [‘A’ ..‘Z’ ] 结果为 true

记录
type stu=record n: integer; name: strang[20];
学号 年龄 语文 数学 姓名 性别 英语 总分

age: 12..20;
xb: ‘X’..’Y’; yw,sx,yy,zong: real;

end;
var s: array [1..70] of stu; a : stu;

记录
for i:=1 to 70 do begin readln(s[i].n); readln(s[i].name); readln(s[i].age); readln(s[i].x); readln(s[i].yw,s[i].sx,s[i].yy); s[i].zong:=s[i].yw+s[i].sx+s[i].yy; end;

记录
? with 语句 for i:=1 to 70 do with s[i] do begin readln(n); readln(name); readln(age); readln(x); readln(yw,sx,yy); zong:=yw+sx+yy; end;