Delphi基础教程图文版之复合数据类型(集合)

本文介绍了Pascal语言中的集合类型,强调了其在避免冗余判断上的优势。通过示例展示了如何定义、初始化、增加和减少集合元素,并推荐使用Include和Exclude进行操作。此外,还给出了元素遍历的实例,以及在Delphi中集合类型的使用场景。
摘要由CSDN通过智能技术生成

在这里插入图片描述

在pascal中,一个集合是由具有同一有序类型的一组数据元素所组成,这一有序类型称为该集合的基类型。

有的人觉得Delphi中的集合没啥用途,这些人里面包括我自己,实际上并不是,它也有很多应用场景,例如:以前在程序中总要先从数据库中取出好多元素,然后逐个判断,现在使用集合完全可以避免这种操作

定义和说明

基础语法: set of 基类型;

基类型可以是任意顺序类型, 而不能是实型或其它构造类型。同时,基类型的数据的序号不得超过255。因为子界类型和枚举类型都是有序的,所以他们可以联用,如下:

function IsContainCharacter(Character: Char): Boolean;
var
  Chars: set of 'A' .. 'Z';

begin
  Result := Character in Chars;
end;

begin
  try
    Writeln(IsContainCharacter('B'));
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

  Readln;

end.

注意:因为集合的元素个数不超过256个,因此 var s:set of integer; 是错误的。

元素遍历

procedure ListCharacters();
var
  Chars: set of char;
  Str: string;
begin
  Chars := ['A' .. 'J', 'a', 'm'];

  for var C in Chars do begin
    Str := Str + C;
  end;

  Writeln(Str);
end;

begin
  ListCharacters;
  Readln;
end.

其他操作

type
  TEnum = (One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten);
  TSetEnum = set of TEnum;

//初始化
procedure TForm4.Button3Click(Sender: TObject);
begin
  SetEnum  :=  [one, Two];
  SetEnum1 := [Three, Nine, Ten]
end;
//集合减少
procedure TForm4.Button5Click(Sender: TObject);
begin
  SetEnum := SetEnum - [Two];
end;
//集合增加
procedure TForm4.Button6Click(Sender: TObject);
begin
  SetEnum := SetEnum + [Three];
end;
//集合减少
procedure TForm4.Button7Click(Sender: TObject);
begin
  Exclude(SetEnum, One);
end;
//集合增加
procedure TForm4.Button4Click(Sender: TObject);
begin
  Include(SetEnum, Four);
  Include(SetEnum, Ten);
end;

虽然通过+ -符号可以实现对集合元素的操作,但是比较推荐的用法还是尽量使用Include和Exclude完成

[软件名称] CurveFit [功能] 1.进行y=a0+a1*x+a2*x^2+...+am*x^m多项式拟合; 2.进行y=Ax^B形式的指数拟合; 3.图形显示拟合曲线(值),残差曲线(值),调整图形显示属性(点的形状、大小,图形背景颜色),并可保存图形; 4.在评价标准:相关指数小于0.5的情况下,给出建议删除的点的序号。 5.计算结果保存为“数据源+--拟合形式结果.txt”的文件 [数学原理] 最小二乘法 [数据源文件格式] 文本源(*.txt) Excel源(*.xls) (打开Excel表格时,会出现暂时的延迟) [数据源格式] x y x1 y1 x2 y2 x3 y3 x4 y4 . . . . . . xn yn [例子] 见文件:正确格式TXT.txt,正确格式TXT--多项式拟合结果,正确格式TXT-指数拟合结果;正确格式EXCEL.xls,正确格式EXCEL--多项式拟合结果,正确格式EXCEL-指数拟合结果; [快速上手] 按照规定格式准备数据源; 打开程序; 选择数据源; 自动进行多项式拟合; 在图中点右键可进行多项操作; 图形显示拟合曲线(值),残差曲线(值),调整图形显示属性(点的形状、大小,图形背景颜色),并可保存图形; 自动保存计算结果 [高级使用] 按照规定格式准备数据源; 打开程序; 选择数据源; 自动进行多项式拟合; 修改拟合精度 修改多项式拟合的最高次幂(若为多项式拟合) 选择拟合形式 在图中点右键可进行多项操作; 图形显示拟合曲线(值),残差曲线(值),调整图形显示属性(点的形状、大小,图形背景颜色),并可保存图形; 自动保存计算结果 [注意] 必须按照规定格式输入数据,否则出错。 数据点个数应大于等于3,否则不无拟合意义。 最高拟合幂次方在0-10之间的正整数,即:m=[1,9],默认,m=1; 精度值:一般取小数点以后6位就可满足要求,不可盲目追究精度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值