Vous êtes sur la page 1sur 4

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Buttons, Grids, Mask;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

MaskEdit1: TMaskEdit;

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

vector :array [1..20]of integer;

N:integer;
implementation

{$R *.dfm}

function metodo_binaria(num, asta : integer) : integer;

var

l, b, m : integer;

begin

b := 1;

l := asta;

repeat

m := trunc((l + b) div 2);

if num > vector[m] then

b := m + 1

else

if num < vector[m] then

l := m - 1

else

l := - 1;

until l <= b;

if l = - 1 then

metodo_binaria := m

else

metodo_binaria := 0;

end;

procedure burbuja;

var i,j:integer;

Aux:integer;

Begin

for I :=1 to N - 1 Do
for J :=1 to N - I Do

If vector [J] > vector [J +1] Then

Begin

Aux :=vector[J];

vector[J] :=vector[J+1];

vector[J+1] :=Aux;

End;

End;

procedure TForm1.BitBtn1Click(Sender: TObject);

var y:Integer;

begin

n:=14;

for y:=1 to N do

Begin

StringGrid1.cells[1,y]:=inttostr(Random(99));

stringgrid1.cells[0,Y]:=inttostr(Y);

end;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

var i:integer;

begin

for i:=1 to 14 do

vector[i]:= StrToInt(StringGrid1.Cells[1,i]);

StringGrid2.cells[0,i]:=inttostr(i);

burbuja;

for i:=1 to n do

StringGrid2.cells[1,i]:=inttostr(vector[i]);

end;
procedure TForm1.BitBtn3Click(Sender: TObject);

var c:integer;

begin

c:=metodo_binaria(14,14);

if c = -1 then

MessageDlg('No se ha encontrado', mtInformation,[mbOk], 0)

else

begin

MessageDlg('Está en la posición '+inttostr(c), mtInformation,[mbOk], 0)

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

n:=14

end;

end.

Vous aimerez peut-être aussi