Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМКД_ПЭВМ_2ИКО_Урдабаева+++.docx
Скачиваний:
134
Добавлен:
01.03.2016
Размер:
833.23 Кб
Скачать

9.2 Динамикалық тізімдерді қолдану

Тапсырма2: Клавиатурадан оң бүтін сандарды енгізу арқылы толтырылатын стекті құратын қосымша құру. Алғашқы теріс сан енгізілген бойда стек элементтері интерфейс панеліне шығарылады, ал жады босатылады.

Құрылатын қосымша интерфейсінің бір нұсқасы 9.2-суретте көрсетілген.

Label

Memo

9.2-Сурет Edit Button Модуль тексті

Unit UnStek;

interface

uses

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

StdCtrls;

type

TForm1 = class(TForm)

Label1: TLabel;

Edit1: TEdit;

Button1: TButton;

Label2: TLabel;

Label3: TLabel;

Memo1: TMemo;

procedure Button1Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

Type

PSt=^Zap;

Zap=record

inf:integer;

adr:PSt

end;

Var

PVer,

PTek:PSt;

ElSt:integer;

procedure TForm1.Button1Click(Sender: TObject);

begin

New(PTek);

ElSt:=StrToInt(Edit1.Text);

PTek^.inf:=ElSt;

PTek^.adr:=PVer;

PVer:=PTek;

if ElSt>=0 then

begin

Edit1.Text:='';

Edit1.SetFocus;

end

else

begin

Memo1.Lines.Add('Элементы стека:');

repeat

Memo1.Lines.Add(#9+IntToStr(PTek^.inf));

PVer:=PTek^.adr;

Dispose(PTek);

PTek:=PVer

until PTek=nil;

end;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

PVer:=nil;

ElSt:=0;

end;

end.

9.3. Жеке тапсырманы орындау

  1. Бір өлшемді массивтің k элемент мәндерін клавиатурадан енгізетін, жұп элементтер арасындары ең үлкен және ең кіші элементтерді орындарымен ауыстырып шығаратын қосымша құру.

  2. Клавиатурадан m жол және n бағаннан тұратын екі өлшемді массивті енгізу, ең кіші элемент орналасқан жол және баған нөмірлерін шығару.

  3. Бір өлшемді массивтің k элемент мәндерін клавиатурадан енгізетін, тақ элементтер арасынан ең кішісінің реттік нөмірін шығаратын қосымша құру.

  4. Екі өлшемді массив элементтерін клавиатурадан енгізетін, бас диагональ бойындағы ең үлкен элементтің мәнін шығаратын қосымша құру.

Бақылау сұрақтары:

  1. Динамикалық айнымалылар түрлері?

  2. Динамикалық массивті сипаттау?

  3. Стектің толып кетуі?

Блиц-тест:

1. Диаграммамен жұмыс жасауға арналған компонент:

A) Bevel

B) Paintbox

C) Chart

D) Image

E) Shape

2. MonthCalendar бұл

A) Күнтізбені анықтайтын компонент

B) Комбинирленген тізім

C) Стандартты батырма

D) Тез қатынау батырмасы

E) Санағыш

3. Сөздерді басқа жолға автоматты түрде тасымалдауды басқаруды келесі қасиет көмегімен орындауға болады:

A) Name.

B) Transparent.

C) Alignment.

D) WordWrap .

E) AutoSize.

4. Insert бұл

A) Item параметрімен анықталатын элементтіосы әдісті шақырған ішкі меню соңына қосатын процедура

B) Екі жолдық менюді біріктіру үшін қолданылатын әдіс

C) Label компонентінің ішіндегі мәтінді туралау әдісі

D) Форманы жасыру үшін қолданылатын әдіс

E) Менюдің жаңа пунктін көрсетілген орынға қосатын процедура

5. Программаны құру және орындау барысында туындайтын қателер

A) Синтаксистік, динамикалық

B) Динамикалық, лексикалық, статикалық

C) Динамикалық, логикалық

D) Синтаксистік, логикалық, динамикалық

E) Синтаксистік, динамикалық, статикалық

Глоссарий

Ішкі программа – бұл белгілі бір ретпен анықталып, атау берілген операторлар тобы.

Модуль - құрамына процедура, функция және де сипаттау бөлімінің әртүрлі компоненттері кіретін, автономды компиляцияланатын программа бірлігі.

Әдебиеттер: [2], [5], [7], [9], [11]