Протседураҳо и функсияҳо

  1. Функсия;
  2. Проседура.

Хулоса ва мустаҳкамкунии дарс

Адабиёт

  1. Фаронов В.В. Система программирование Delphi. – СПб.: БВХ-Петербург, 2003. – 912 с.: ил. с. 170-187.
  2. http://gluk.webhost.ru/delphi.html.

Бисёр вақт пайдарпаии инструксияҳо дар ҷойҳои гуногуни программа якчанд маротиба такрор мешаванд. Бинобар ин зарурияти истифодабарии проседураҳо ва функсияҳо пайдо мешавад.

Хар яки инро дар алоҳидагb дида мебароем:

1. Функсия

Функсия — ин зерпрограмма мебошад ё ин ки пайдарпаии инструксияҳое, ки дорои ном мебошанд.

Протсеси гузариш ба инструксияҳои функсияҳоро ҷеғ задани функсияҳо ё ин ки муроҷиат ба функсияҳо меноманд.

Дар намуди умуми инструксияи муроҷиат ба функсиҳо чунин аст:

Тағирёбанда := Функсия (Параметрҳо) ;

Дар ин ҷо:

  • тағирёбанда — номи тағирёбандае, ки ба он қимати функсияи

иҷрошуда бахшида мешавад;

  • функция — номи функсияе, ки қимати он бояд ба тағирёбанда бахшида шавад;
  • параметрҳо — руйхати параметрҳои формалие, ки онҳо барои ҳисоб кардани қимати функсия истифода бурда мешавад.

Ба сифати параметрҳо одатан тағирёбандаҳо ё ин ки доимиҳо истифода бурда мешаванд.

Бояд диққат дод:

  • ҳар як функсия қиммати типи муайянро медиҳад, барои ҳамин типи тағирёбандае, ки ба он қимати функсия бахшида мешавад бояд бо типи функсия якхела бошанд;
  • тип ва миқдори параметрҳо барои ҳар як функсияи мушахас бояд муайян бошад.

Эълони функсияҳо

Эълони функсияҳо дар намуди умуми чунин аст:

Function Ном (параметр1 : тип1, …, параметрК : типК) : Тип; var

// эълони тағирёбандаи локалии begin

// инструксияи функсия

Ном := Ифода;

end;

Дар ин ҷо:

function — калимаи эҳтиётии забони Delphi, ки амалигардонии функсияро ифода мекунад;

ном — номи функсия. Барои гузариш аз программа ба инструксияи функсия истифода мешавад;

параметр — ин тағирёбандае мебошад, ки қимати он барои ҳисобнамоии функсия истифода мешавад. Фарқи параметр аз тағирёбандаи оддb аз он иборат аст, ки он дар қисми эълони тағирёбандаҳо эълон карда нашуда, балки дар сарлавҳаи функсия эълон карда мешавад;

тип — дар асоси он қиммати функсия муайян мегардад.

2. Проседура

Проседура — ин зерпрограммаҳои гуногуннамуд мебошад.

Эъдони проседура

Дар намуди умумb эълони проседура чуни наст:

procedure Ном (var параметр1: тип1; … var параметрК: типК) ;

var

// эълони тағирёбандаҳои локалb

begin

// инструксияи проседура

end;

Дар ин ҷо:

procedure — калимаи эҳтиётии забони Delphi буда, эълони проседураро ифода менамояд;

имя — номи проседурае, ки барои ҷеғ задани проседура истифода мешавад;

параметр K — параметри формалие, ки тағирёбандаи он дар инструксияи проседура истифода мешавад. Калимаи var пеш аз номи параметр ҳатмb нест. Агар var истад, онгоҳ онро ифода мекунад, ки дар параметр ҳатмb бояд тағирёбанда бошад.

Истифодаи проседураро дар ҳалли муодилаи квадратb дида мебароем:

unit Unit1;

interface

uses

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

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Label1: TLabel;

Button1: TButton;

Label2: TLabel;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

private

ҳ Private declarations }

public

ҳ Public declarations }

end;

var

Form1: TForm1;

implementation

ҳ$R *.dfm}

procedure sqroot(a,b,c:real; var xl, x2 : real; var ok : boolean);

var

d : real; // дискриминант

begin

d:=sqr(b)-4*a*c;

if d < 0 then

ok := False

else

begin

ok := True;

xl := (-b + Sqrt(d))/(2*a); x2 := (b + Sqrt(d))/(2*a) ;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

k1,k2: real;

rez: boolean;

mes:string;

begin

sqroot(strtofloat(edit1.text), strtofloat(edit2.text),strtofloat(edit3.text),k1,k2,rez);

if rez then

begin

label2.Caption:=floattostr(k1);

label3.Caption:=floattostr(k2);

end

else

mes := ‘Муодила реша надорад’;

label1.Caption := mes;

end;

end.

Хулоса ва мустаҳкамкунии дарс

Бисёр вақт пайдарпаии инструксияҳо дар ҷойҳои гуногуни программа якчанд маротиба такрор мешаванд. Бинобар ин зарурияти истифодабарии проседураҳо ва функсияҳо пайдо мешавад.

Хулас, функсия — ин зерпрограмма мебошад ё ин ки пайдарпаии инструксияҳое, ки дорои ном мебошанд. Протсеси гузариш ба инструксияҳои функсияҳоро ҷеғ задани функсияҳо ё ин ки муроҷиат ба функсияҳо меноманд.

Проседура — ин зерпрограммаҳои гуногуннамуд мебошад.

test

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *