Лабораториялық жұмыс №8

Бір өлшемді массивтерді өңдеу программалары. ListBox компоненті Тапсырма.

А(10) массивінде максимумды және минимумді элементтерін, олардың орын ауыстыруын табу.

Шешімі.

1.Жаңа жобаға D:\My Project\LBOX папкасын құрамыз.

2. Баспа менюдегі File/New/Application командасын қолданып жаңа жоба ашамыз.

3. Standard бетінен Form1 формаға келесі компоненттерді еңгіземіз. Олар: Edit, Button, ListBox.

Лабораториялық жұмыс №8 - student2.ru

4. Инспектора Объектов арқылы Edit1 компонентіне Text қасиетіне бос жол қалдырамыз. Сол кнопкаға Captionқасиетіне тең етіп мән береміз: ‘Ввод’, ал оң кнопкаға - ‘Решение’.

5. Interfaceбөлімінде массив берілгенін қоямыз және ол төменде көрсетілген:

A: array [1…10] of integer;

I, min, max, Imax, imin: integer;

6. Form1 формасына екі рет басып, On Create оқиғасы формаға құрылады: I: =0

ListBox1. Clear ListBox2. Clear;

7. «Ввод»кнопкасын екі рет басу арқылы белсенділігін ояту және On Click оқиғасына келесі кодты еңгіземіз:

ListBox1. Items. Add (Edit. Text); I: =I+1;

A [I]: =StrToInt (Edit. Text); Edit1. Set Focus

8. «Решение» кнопкасын екі рет басу арқылы іс-қимылға жұмылдыру және келесі текстті орналастырамыз:

max:=a[1];

imax:=1;

min:=a[1];

imin:=1;

for k:=2 to 10 do begin

if max<a[k] then begin max:=a[k]; imax:=k

end;

if min>a[k] then begin min:=a[k]; imin:=k

end;

end;

a[imax]:=min;

a[imin]:=max; for k:=1 to 10 do

ListBox2.Items.Add(IntToStr(a[k]));

9. Edit 1жолын еңгізу үшін OnKeyDown оқиғасына қосымша құру жұмысын өңдеу құрамыз.Enter клавишасын басқанда «Ввод» кнопкасына еңгізу фокусы көшеді:

If key=13 then Button1. Set Focus

10. Басты менюдегі File/Save All командасыарқылыжобанысақтаймыз.

11. F9 клавишасы арқылы жобаны іске орындауға жібереміз. Барлық санды еңгізіп отырғанда Enter-ді немесе «Ввод» кнопкасын басып отырамыз. Еңгізілген сандар бірінші тізімде көрініп тұрады. «Решение» клавишасын басқанда екінші қатардан нәтижесін алып отырамыз.

Лабораториялық жұмыс №8 - student2.ru

Модульдің қалыптасуының толық текстін көрсетеміз. unit LBox;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm) ListBox1: TListBox; ListBox2: TListBox; Button1: TButton; Button2: TButton;

procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: Tobject); procedure Button2Click(Sender: TObject);

procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Edit1Change(Sender: TObject);

private

{ Private declarations } public

{ Public declarations } end;

var

Form1: TForm1; a:array[1..10] of integer; i,min,max,imax,imin:integer;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject); begin

ListBox1.Items.Add(Edit1 .Text); i:=i+1; a[i]:=StrToInt(Edit1.Text); Edit1.SetFocus

end;

procedure TForm1.FormCreate(Sender: TObject); begin

i:=0;

ListBox1.Clear

ListBox2.Clear;

end;

procedure TForm1.Button2Click(Sender: TObject); var k:integer;

begin max:=a[1]; imax:=1; min:=a[1]; imin:=1;

for k:=2 to 10 do begin

if max<a[k] then begin max:=a[k]; imax:=k

end;

if min>a[k] then begin min:=a[k]; imin:=k

end;

end;

a[imax]:=min;

a[imin]:=max; for k:=1 to 10 do

ListBox2.Items.Add(IntToStr(a[k]));

end;

procedure TForm1.Edit1KeyDown(Sender: Tobject:var Key: Word; Shift:TShiftstate);

begin

If key = 13 then Button1.SetFocus end;

procedure TForm1.Edit1Change(Sender: TObject); begin

if key = 13 then Button1.SetFocus end;

end.

Наши рекомендации