Практикалық жұмыс

Тақырыбы:    Массивтермен жұмыс

Мақсаты:  Массивтермен жұмыс істеу негізін меңгерту

Жұмыстың барысы: төмендегі берілген мысалдарды Delphi ортасында орындау керек.

 

 

 


Мысалы:

  Екі санның қосындысын есептейтін ішкі бағдарламалар  

 

 

// қосынды процедурасы

Procedure Summa(a, b : Integer);

var

  p: Integer;

begin

  // екі санның қосындысы

  p := a + b;

  // нәтижесін экранға шығару

  ShowMessageFmt('%d + %d = %d',[a,b,p]);

end;

 

// қосынды функциясы

 Function GetSum(x, y : Integer) : Integer;

begin

  // екі санды қосу және нәтижесін қайтару(Result)

  Result := x + x;

end;

 

// «procedure» батырмасы

procedure TForm1.Button1Click(Sender: TObject);

begin

 Summa(1,2); // процедураны шақыру

   Summa(245,62);

end;

// «Function» батырмасы

procedure TForm1.Button2Click(Sender: TObject);

var

  t : Integer;

begin

 t:= GetSum(1,2); // функцияны шағыру

  ShowMessageFmt('%d + %d = %d',[1,2,t]); // экранға шығару

  t:= GetSum(62,444);

  ShowMessageFmt('%d + %d = %d',[62,444,t]);

end;

// «Келесі» батырмасы

procedure TForm1.Label1Click(Sender: TObject);

begin

form2.showmodal;

end;

 

//  Келесі формағы көрініс: процедураның көмегімен үйшіктер салу

 

 

var

   i,j: integer;

 

// «үйшіктер» салатын ішкі бағдарлама

procedure Domik(x,y: Integer);

  const dx=60;   dy=40;

           dx2=dx DIV 2;  dy2=dy DIV 2;

           wx=16;     wy=22;

           wx2=wx DIV 2;   wy2=wy DIV 2;

Begin

form2.PaintBox1.Canvas.Rectangle(x,y,x+dx,y-dy);

form2.PaintBox1.Canvas.MoveTo(x,y-dy);

form2.PaintBox1.Canvas.LineTo(x+30,y-50);

form2.PaintBox1.Canvas.LineTo(x+dx,y-dy);

form2.PaintBox1.Canvas.Rectangle (x+dx2-wx2,y-dy2-wy2,x+dx2+wx2,y-dy2+wy2);

End;

// «Domik» батырмасы

procedure TForm2.Button1Click(Sender: TObject);

begin

  For i:=1 to 6  do

   For j:=1 to 5  do

    Domik(i*80,j*80); // процедураны шақыру

end;

 

//  у=х*х функциясының көмегімен салынған сурет

 

 

var

  x1,y1: integer;

// ішкі бағдарлама

procedure zont (xx,xn,a,b,d,c:real);

var x,y:real;

begin

x:=xx;

repeat

y:=a*sqr(x+b)/d+c; //  у=х*х функциясы

x1:=trunc(x*10)+320;

y1:=trunc(-y*10)+240;

form3.PaintBox1.Canvas.Pixels[x1,y1]:=4; // нүкте салу

x:=x+0.01;

until x>xn;

end;

// «зонтик» батырмасы

procedure TForm3.Button1Click(Sender: TObject);

begin

zont(-12,12,-1,0,18,12); // процедураны шақыру

zont(-4,4,-1,0,6,6);

zont(-12,-4,-1,8,8,6);

zont(4,12,-1,-8,8,6);

zont(-4,-0.3,2,3,1,-9);

zont(-4,0.2,1.5,3,1,-10);

end;