大榕树——让我们共成长!
大榕树 myDrs.org
您的位置:大榕树 \ 编程       |  Logo语言   |  Pascal语言   |  信息学奥赛   |  高考保送    |  HTML版本
|  Pascal语言>>Pascal入门>>集合和记录         本站全文搜索: 友情提示:

集合和记录
http://www.mydrs.org  4/30/2002  大榕树


  二.集合的运算:
   1.集合的表示:
    用一组方括号括号一组元素来表示,元素之间用逗号分隔。如:
     [A,B,C,D]--有四个枚举量的集合
     ['A','B','C','D']--有四个字符的集合
     [1..20]--包含了1到20中所有整数的集合
     [0]--只有一个元素0的单元素集
     []--空集
   2.集合的运算:
    (1)赋值(:=):
      ll:=['A'..'C'];
    (2)并(+):
      [0..7]+[0..4]的值为[0..7]
    (3)交(*):
      [0..7]*[0..4]的值为[0..4]
    (4)差(-):
      [0..7]-[0..4]的值为[5..7]
    (5)相等(=):
      [0..7]=[0..4]的值为false
    (6)不等(<>):
      [0..7]<>[0..4]的值为true
    (7)包含于(<=):
      [0..7]<=[0..4]的值为false
    (8)包含(>=):
      [0..7]>=[0..4]的值为true
    (9)成员(in):
      1 in [0..4]的值为true
   3.注意:
    (1)集合运算相当快,在程序中常用集合表达式来描述复杂的测试。如
      A)条件表达式: (ch='T') or (ch='t') or (ch='Y') or (ch='y') 可用集合表达式表示为:
       ch in ['T','t','Y','y']
      B)if (ch>=20) and (ch<=50) then ...;
       可写成:
         if ch in [20..50] then ...;
    (2)集合类型是一种使用简便,节省内存面又运算速度快的数据类型。
    (3)Turbo Pascal规定集合的元素个数不超过256个(当实际问题所需的元素个数大于256时, 可采用布尔数组代替集合类型)。所以如下定义是错误的: var i: set of integer;
    (4)集合类型变量不能进行算术运算,了不允许用读/写语句直接输入/输出集合。 所以集合的建立:
      A)要通过赋值语句实现;
      B)或先初始化一个集合,然后通过并运算向集合中逐步加入各个元素.
    (5)集合元素是无序的,所以ord,pred和succ函数不能用于集合类型的变量。
   4.例1:建立两个集合,然后对它们进行多种集合运算,并且输出结果。(pset1.pas)
   5.例2:运用集合完成筛法找素数。(pset2.pas)
 三、练习:
 三、练习:
蚴牵?p168_3.pas)
   (1)数字0,1,2,3,...,9分别和字母a,b,c,...,j互换;
   (2)字母k,m,p,t,y分别与其后继互换;
   (3)其它字母和空格保持不变,输入字符串以句号结束;
  2.编程读入两个字符串,然后输出如下信息:(p168_4.pas)
   (1)出现在某一个字符串中至少一次的字母和数字;
   (2)同时出现在两个字符串中至少一次的字母和数字;
   (3)出现在一个字符串中而不出现在另一个字符串中的字母和数字;
   (4)不出现在任何字符串中的字母和数字。

★记录
 一.记录的定义:
  type 类型标识符=record
     字段名1:类型1;
     字段名2:类型2;
      ...
     字段名n:类型n;
    end;
  如:
   type
    studata=record
     num:string[6];
     name:string[8];
     sex:boolean;
     s:array[1..5] of real;
    end;
   var
    student:studata;
    students:array[1..10] of studata;
 二.记录的运用:
  1.对记录中和个域的引用,要写出记录名和域名,如:student.num
  2.开域语句:with。
    with 记录名 do 语句;
   或
    with 记录名1,记录名2,... do 语句;
   注意:
    (1) 在do后面语句中使用的记录的域时,只要简单地写出域名就可以了, 域名前的记录变量和"."均可省略。
    (2) 在关键字with后面,语句可以是一个简单语句,了可以是一个复合语句。
    (3) 虽然在with后可以有多个记录变量名,但一般在with后只使用一个记录变量名。


作 者:Miss Liu
来 源:汕头信息学
共有3893位读者阅读过此文

  • 上篇文章[专题]学习动态规划
  • 下篇文章:已经没有了

  • 发送邮件
    保存页面 打印文章 HTML版本 发表评论

    □- 近期热门文章 □- 相关文章
    1. NOIP2006竞赛大纲 [8307]
    2. 七类高中生具有保送资格 [5911]
    3. NOI2006获奖选手名单 [4956]
    4. 关于举办NOIP2006模拟赛的通告 [4107]
    5. Turbo Pascal各语句运行速... [3595]
    6. Turbo王者归来新Delphi免费... [3182]
    7. IOI2006我国4名选手全部获得金... [2946]
    8. 关于APIO2007与IOI2007... [2764]
    9. noip倒计时 by 枯叶蝴蝶 [2684]
    10. 朱泽园:思想上的金牌更重要 [2169]
    集合和记录
     

    关于本站 | 合作伙伴 | 联系方式
    大榕树 版权所有 ©1999-2006 www.myDrs.org 闽ICP备05000721号