Тема. Множества.
Цель:
- повторить свойства множеств, основные операции
- изучить способы представления множеств
Решите задачу в соответствии с требованиями.
Требования:
а) множества должны быть представлены в виде списков
б) программа должна реализовывать базовые операции над множествами: объединение, пересечение, разность и дизъюнктивная сумма;
в) предусмотреть возможность задания внутренних и внешних имен множеств.
г) все операции должны быть наглядно представлены.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
StringGrid2: TStringGrid;
Label1: TLabel;
Label2: TLabel;
StringGrid3: TStringGrid;
Button1: TButton;
RadioGroup1: TRadioGroup;
Button2: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
Button3: TButton;
Button4: TButton;
Timer1: TTimer;
Timer2: TTimer;
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button3Click(Sender: TObject);
var i, col_ind,j,temp,pus,kol:integer;
num:string;
begin
for i:=0 to stringgrid1.ColCount do
stringgrid1.cells[i,0]:=''; //очистили
randomize;
col_ind:=random(9)+1;
i:=1;
while i<= col_ind do
begin
temp:=0;
num:=inttostr(random(10));
for j:=0 to (stringgrid1.ColCount-1) do
if stringgrid1.cells[j,0]=num then temp:=1;
if temp=0 then
begin
stringgrid1.cells[i-1,0]:=num;
i:=i+1;
//break;
end;
//end;
end;
for i:=0 to (stringgrid1.colcount-1) do
if stringgrid1.cells[i,0]='' then
begin
kol:=i-1;
break;
end; //кол-во чисел в стринггриде
for i:=0 to kol do
for j:=0 to kol do
if stringgrid1.cells[i,0]<= col_ind2 do
begin
temp:=0;
num2:=inttostr(random(10));
for j:=0 to (stringgrid2.ColCount-1) do
if stringgrid2.cells[j,0]=num2 then temp:=1;
if temp=0 then
begin
stringgrid2.cells[i-1,0]:=num2;
i:=i+1;
end;
end;
for i:=0 to (stringgrid2.colcount-1) do
if stringgrid2.cells[i,0]='' then
begin
kol:=i-1;
break;
end; //кол-во чисел в стринггриде
for i:=0 to kol do
for j:=0 to kol do
if stringgrid2.cells[i,0]<255 then form1.AlphaBlendValue:=form1.AlphaBlendValue+10; end; procedure TForm1.Timer2Timer(Sender: TObject); begin if form1.AlphaBlendValue>5 then
form1.AlphaBlendValue:=form1.AlphaBlendValue-10;
if form1.AlphaBlendValue<=5 then form1.Close;
end;
end.
// (c) Copyright 2009 Pecherskiy Anton. All rights reserved.
Похожие записи
No user прокомментировали сообщение
Оставить комментарий