Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Процедура






Ішкі программа мына екі жағ дайда процедура тү рінде болады:

1) Ішкі программа негізгі программағ а ешқ андай мә ліметтерді қ айтармағ ан жағ дайда процедура тү рінде болады.

2) Ішкі программа оны шақ ырғ ан программағ а бірден артық мә н қ айтарғ анда процедура ү рінде болады.

Жалпы тү рде процедураны сипаттау:

Procedure Аты (var 1 параметр: 1-тип;..., var к-параметр: к-тп);

Var

// жергілікті айнымалыны сипаттау;

begin

// процедура инструкциясы жазылады;

end;

к -параметр – формальді параметр, ол процедура ішә інде қ олданылады.

Процедураны шақ ыру.

Аты (параметрлер тізімі);

Аты – шақ ырылатын процедура аты.

Параметр тізімі – ү тірмен ажыратылатын нақ ты параметрлер.

Енді процедуралар мен функцияларғ а мысалдар келтірейік.

 

1-есеп. Ү ш бү тін санның кө бейтіндісін еептейтін процедура жазып, оны негізгі программада шақ ырып, нә тижесін экранғ а шығ ару.

Есептің шығ арылуы (1 - ә діс).

1. Формағ а нә тижені шығ ару ү шін Memo1 компонентін жә не процедура денесін жазуғ а Button1 компонентін орналастырайық. Компоненттер ү шін ө згеретін қ асиеттерді былай сипаттауғ а болады:

 

Компоненттер Мә ндер
Memo1 Button1 Button2 Lines: бос Caption: «Есептеу» Caption: «Шығ у»

 

5 «Есептеу» батырмасын екі рет басып, программа код терезесіне ө ту. Сонда OnClick оқ иғ асы процедурасының дайындамасы шығ ады.

6 Процедура дайындамасына процедура денесін жазу:

Tform.Button1.Click(Sender: TObject);

Var

m: integer;

Procedure kob(a, b, c: integer; var nat: integer);

Begin

nat: =a*b*c;

End;

Begin

kob(9, 7, 5, m);

Memo1.Lines.Add(IntToStr(m));

End;

End.

7 «Шығ у» батырмасын екі рет басып, программа код терезесіне процедура денесін жазу:

Tform.Button2.Click(Sender: TObject);

Begin

Form1.close;

End;

8 Іске қ осу командасын орындау. Ол ү шін Run пункті арқ ылы немесе F9 басу арқ ылы іске асыру.

9 «Есептеу» батырмасын басу. Нә тиже форм терезесінде кө рінеді.

10 «Шығ у» батырмасын басып, шығ ып кету.

 

2-ә діс. Функцияның кө мегімен ү ш санның кө бейтіндісін табу.

1. Функцияның процедурадан айырмашылығ ы бірінші тақ ырыптарының жазылуында; екінші айырмашылығ ы, функция денесінде функция атына функция нә тижесі меншіктеледі. Формағ а 1-ә дістегі компоненттер қ асиеттерімен орналастырылады.

2. «Есептеу» батырмасын екі рет басып, программа код терезесіне ө ту. Сонда OnClick оқ иғ асы процедурасының дайындамасы шығ ады.

3. Процедура денесі тө мендегідей болады:

Tform.Button1.Click(Sender: TObject);

Var

M: integer;

Function kob(a, b, c: integer): integer;

Begin

Kob: =a*b*c;

End;

Begin

M: =kob(9, 7, 5);

Memo1.Lines.Add(IntToStr(m));

End;

End.

4. Іске қ осу командасын орындау. Ол Run мә зірінің Run пункті арқ ылы немесе F9 пернесін басу ароқ ылы іске асырылады.

5. «Есептеу» батырмасын басу.

Мұ ндағ ы a, b, c – формальді параметрлер, 9, 7, 5 - нақ ты параметрлер. Нақ ты параметрлер тізімінің саны жә не типі формальді параметрлердің тізімімен сә йкес болу керек.

Ішкі программалардың параметрлері мә ндер, айнымалылар, тұ рақ тылар болуы мү кін. Сондық тан оларды параметр-мә н, параметр-айнымалы, параметр-тұ рақ тылар деп атайды. Параметр-мә нге мысалы a, b, c жатады. Параметр-айнымалы var қ ызметші сө зінен кейін сипатталады. Параметр-тұ рақ ты ішкі программада, егер берілетін мә н ө згермейтін болса const қ олданылады.

 

2-есеп. Екі бү тін санның қ осындысын табуғ а процедура жазып, негізгі программада процедураны шақ ырып, нә тижені экранғ а шығ ару.

Есептің шығ арылуы.

1. Формағ а нә тижені шығ ару ү шін Memo1 компонентін жә не процедура денесін жазуғ а Button1 компонентін алдың ғ ы мысалда кө рсетілгендей орналастырып, қ асиеттерінің мә ндерін қ ойып шығ у.

2. «Қ осынды» батырмасын екі рет басып, программа код терезесіне ө ту. Сонда OnClick оқ иғ асы процедурасының дайындамасы шығ ады.

3. Процедура дайындамасына процедура денесін жазу:

Tform.Button1.Click(Sender: TObject);

Var

m: integer;

Procedure min(a, b: integer; var c: integer);

Begin

If a> b then c: =b else c: =a;

End;

Begin

Min(7, 5, m);

Memo1.Lines.Add(IntToStr(m));

End; end.

4. Іске қ осу командасын орындау.

5. «Қ осынды» батырмасын басу.

 

3-есеп. Жиын элементтерінің қ осындысын есептеуге функция жазу. Негізгі программада жиын элементтерін енгізіп, нә тижені экранғ а шығ ару.

Есептің шығ арылуы.

1. Формағ а нә тижені шығ ару ү шін Memo1 компонентін жә не процедура денесін жазуғ а Button1 компонентін алдың ғ ы мысалдарда кө рсетілгндей орналастырып, қ асиеттерінің мә ндерін қ ойып шығ у.

2. «Қ осынды» батырмасын екі рет басып, программа код терезесіне ө ту. Сонда OnClick оқ иғ асы процедурасының дайындамасы шығ ады.

3. Процедура дайындамасында программа модулін жазу:

Procedure

Tform.Button1.Click(Sender: TObject);

Type

Massiv=array[1..50] of integer;

Var

Mass: massiv

s, i: integer;

function sum(m: massiv; k: integer): integer;

var

nat, I: integer;

begin

nat: =0;

for I: =1 to k do

nat: =nat+m[i];

sum: =nat;

end;

begin

for I; =1 to 7 do

mass[i]: =I+5;

s: =sum(mass, 7);

memo1.Lines.Ad(IntToStr(s));

end;

4. Іске қ осу командасын орындау. Ол Run мә зірінің Run пункті арқ ылы немесе F9 пернесін басу ароқ ылы іске асырылады.

5. «Қ осынды» батырмасын басу.

Ішкі программа ө зін-ө зі шақ ыра алады, Object Pascal-да оны басқ аша рекурсивті ішкі программа деп атайды. Рекурсивті ішкі программағ а мысал келтірейік.

 

4-есеп. Факториалды есептеу. Факториалды есептеуге функция жазу. Негізгі программада (Edit1)е нгізу ө рісінен санды алып, функцияны шақ ыру жә не алынғ ан нә тижені Memo1 ө рісіне шығ арады.

Есептің шығ арылуы.

1. Формағ а енгізу ү шін Edit1 ө рісін, нә тижені шығ ару ү шін Memo1 компонентін жә не функция денесін жазуғ а Button1 компонентін орналастырып, қ асиеттерінің мә ндерін қ ойып шығ у.

2. «Есептеу» батырмасын екі рет басып, программа код терезесіне ө ту. Сонда OnClick оқ иғ асы процедурасының дайындамасы шығ ады.

3. Программа модулін жазу:

Procedure Tform.Button1.Click(Sender: TObject);

Varn: byte;

Function fac(n: byte): extended;

Var nat: extende;

Begin

If n in [0..1] then nat: =1 else nat: =n*fac(n-1);

fac: =nat;

End;

Begin

n: =StrToInt(Edit1.text);

Memo1.lines.Add(FloatToStr(fac(n)));

End;

End.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.012 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал