Асосҳои програмасозии DELPHI7

Related Articles

  1. Элементҳои забон
  2. Таѓирёбанда
  3. Инструксияи бахшиш
  4. Функсияхои стандартӣ
  5. Функсияихои мубадалкунонӣ
  6. Дохилкунӣ ва хориҷкунии маълумот
  7. Истифодаи окнои хабардиҳӣ

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

Адабиёт

1. Фаронов В.В. Система программирование Delphi. – СПб.: БВХ Петербург, 2003. – 912 с.: ил. саҳ. 32-43.

2.Мирзоахмедов Ф., Ахмедов А. Асосҳои алгоритмиронӣ ва забонҳои алгоритмӣ. Васоити таълимӣ -Хуҷанд, 2003, 70 с.

3. gluk.weӣhost.ru/delphi.html.

    1. Элементҳои забон

a) Алфавити забон

Ба алфавити забони Delphi инҳо дохил мешаванд:

  • ҳарфҳо;
  • раrамҳо;
  • символҳои махсус;
  • пробелҳо ва калимаҳои эҳтиётӣ.

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

  • Харфхо – Ин харфхои алфавити лотини аз a то z ва аз A то Z мебошад, Инчунин нишонаи зерхат «_» хам дохил мешавад. Дар забон фаркияти байни харфхои калон ва хурд нест, агар факат онхо дар ифодахои символи ва сатри дохил набошанд.
  • Ракамхо – ракамхои арабии аз 0 то 9 мебошанд.
  • Символхои махсус дар Delphi инхо мебошанд.

+ – * / =, ‘.:; < > ҳ} ҳ] ^ @ $ #

Дар символхои махсус инчунин чуфтхои символхои зерин хам таълук доранд. <> <= >= := (* *) (. .) //

Дар барнома ин чуфт символхоро бо пробел чудо кардан мумкин нест, агар онхо хамчун нишонаи таносуби амалиёт ва эзох махдудкунанда истифода бурда шаванд. Символхои (. .) мо метавонем ба чои ҳ ] истифода барем.

  • Пробелҳо ва калимаҳои эҳтиётӣ – Чои мухимро дар алфавити забон пробелхо ишгол мекунанд, ки ба онхо тамоми символхои дар диапазони кодии аз 0 то 32 таълук дорад.

Дар Delphi калимахои эхтиётии зерин мавчуд аст:

and, array,as,asm,ӣegin,case,class,const,constructor, destrctor, dispinterface, div, do, downto, else, end, except,exports, file, finalization, finally, for, goto, if, implementation, in, inherited, inintialization, inline, interface, is, ladel, lidrary, mod, nil, not, oӣject, of, or, out, packed, procedure, program, property, raise, r ecord, repeat, resourcestring, set, shl, shr, string, rhen, threadvar, to, try, type, unit, until, uses, var, while, with, xor.

Калимаҳои эхтиётиоро ба сифати идентификаторҳо истифода бурдан мумкин нест.

ӣ) Идентификаторҳо

Идентификаторҳо дар забони DELPHI – Ин номи доимиҳо, таuирёбандаҳо, меткаҳо, типҳо, объектҳо, классҳо, свойстваҳо, процедураҳо, функцияҳо, модулҳо, барнома, ва майдону навиштачотҳо мебошанд. Идентификаторҳо метавонанд дарозии дилхоҳ дошта бошанд.

Идентификатор ҳамаваrт бо ҳарфҳо сар мешавад ва баъд аз ҳарфҳо метавонад раrамҳоям ояд. Хотирасон менамоем, ки символи «_» -ро ба сифати ҳарф rабул кардан мумкин аст. Бинобар ҳамин идентификатор метавонад ба символи «_» сар шавад ё ин ки фаrат иборат аз як ё якчанд символи «_» бошад. Пробелҳо ва символҳои махсуси алфавит наметавонанд ба идентификатор дохил шаванд.

c) Доимиҳо

Ба сифати доимиҳо дар забони Delphi ададҳои бутун (дар фосилаи

-263 то 263-1 rимат кабул мекунад), хаrиrӣ, доимиҳои матиrӣ (ин ё калимаи True ё False), символӣ ва uайраҳо истифода бурда мешаванд.

Дар забони Delphi ду намуди доими мавчудаст:

1.одди;

2.номдор.

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

Ба доимии одди адади бутун ё касри, сатри рамзхо ё ин ки рамзи алохида, ифодаи мантики дохил мешаванд.

Доимихои адади

Дар матни программахо доимихои адади ба намуди одди навишта мешаванд, ё ин ки хамчу адад, мисол, барои хали масъалахои математики. Дар навишти адади касри барои чудо кардани кисми бутун ва каср аломати «нукта» истифодабурда мешавад. Агар доими манфи бошад, онгох бевосита пеш аз адад ё ин ки раками аввала аломати «минус» гузошта мешавад.

Дар поён мисолхо оиди доимихои адади оварда шудааст:

123 0.0

-524.03 0

Доимихои сатри ва рамзи

Доимихои сатри ва рамзи дар нохунак гирифта мешаванд. Дар поен мисол оиди доимии сатри оварда шудааст:

‘Гурухи Б – и Информатикаи амли’

‘2.4 (дубутуну аз дах чор)’

‘Тохир’

Домихои мантики

Ифодаи мантики метавонад «дуруст – true» ё ин ки «нодуруст – false» шавад.

Доимии номдор

Доимии номдор – ин идентификаторе ё ин ки номе мебошад, ки дар программа ба чои худи доими истифода бурда мешавад. Доимии номдор ба монанди тагирёбанда бояд дар программа эълон карда шавад.

Да намуди умуми эълони доимихои номдор дар программа чунинанд:

доими = кимат;

Дар ин чо:

доими — номи доими;

кимат — кимати доимихо.

Доимихои номдор дар программа дар бахши эълони доимихо, ки бо калимаи const сар мешавад эълон карда мешаванд. Дар поён мисоли эълони доимихои номдор оварда шудааст.

const

Price = 10;

Title = ‘Имя’;

pi = 3.1415926;

Чи хеле, ки дар боло кайд намудем баъди эълони доимихои номдор дар программа дар чои худи доими номи онро истифода бурдан мумкин аст.

Доимихои номдор аз тагирёбанда дар вакти эълон кардан аз он фарк дорад, ки барои доимихои номдор тип ошкоро нишон дода намешавад.

Типии доимихо аз намуди онхо муайян карда мешавад:

1981 — доимиии типи бутун ;

0.0 — доимиии типи хакики;

‘ аспирант ‘ — доимии сатри;

‘ \’ — доимии рамзи.

d) Ифода

Бо доимиҳо, таuирёбандаҳо, функсияҳо, ки элементҳои асоси ба шумор мераванд, rисми иxрошавии программаҳоро ташкил кардан мумкин аст.

ҳар як аз ин элементҳо rиматҳои муайян ва типҳои ба худ хосро доранд. Бо ёрии нишонаҳои амалиёт ва rавсҳо, доимиҳо, таuирёбандаҳо, функсияхоро истифода бурда ифода тартиб додан мумкин аст, ки он ҳаrиrатан ба худ rимати навро rабул мекунад.

Ифода иборат аз операнд ва оператор аст. Операторхо дар байни операндхо чойгиранд, ки операндхо ягон амалро нишон медиханд. Ба сифати операндхо ифода тагирёбанда, доими, функция ё ин ки дигар фодахоро истифода бурдан мумкин аст. Операторхои асосии алгебрави дар чад. 3 оварда шудааст.

Чадвали 3. Операторхои алгебрави

<td/><td/>
ОператорАмал
+Чамъ
Тарх
*Зарб
/Таксим
DIVХисоб кардани натичаи адади бутун аз таксим
MODХисоб кардани бакия аз таксим

Хангоми навишти ифода байни опрерандхо ва операторхо гайр аз операторхои DIV ва MOD, пробел мондан мумкин нест.

e) Амалиётҳо

Дар Delphi амалиётҳои зерин мавчуданд.

  • унари — not,@;
  • мултипликативӣ — *,/,div,mod,and,sh1,shr;
  • адитивӣ — +,-,or,xor;
  • муrоиса — =,<>,<,>,<=,>=,in.

Ин амалиётхоро бо мисолхо дида мебароем.

2. Таѓирёбанда

Тагирёбанда – ин сохаи хотирае, ки дар он маълумотхо чойгир буда, программа ба он такя намудааст. Дар он сурате программа ба тагирёбанда мурочиат карда метавонад, ки агар тагирёбанда ном дошта бошад. Номи тагирёбандаро программист (барномасоз) номгузори мекунад. Ба сифати номи программа аз пайдарпаии харфхои лотини, ракам ва якчанд рамзхои махсус истифода бурдан мумкин аст. Аввали рамзи номи тагирёбанда бояд харф бошад. Пробелро (фосила холиги) дар номи тагирёбанда истифода бурдан мумкин нест. Як чизро бояд диккат дод, ки компилятори забони Delphi харфхои калон ва майдаро дар номи тагирёбанда аз якдигар фарк намекунад. Барномасоз номи тагирёбандаро дар ин ё он забони барномасози бояд тавре гузорад, ки бо номи тагирёбандахои масъала ё мисоли додашуда мантикан алокаманд бошанд.

Мисол: Намуди умумии муодилаи квадрати ах2 + ӣх + с = 0 дода шудааст.

Дар ин чо ба сифати номи тагирёбандахо номгузории а, ӣ, с, x1 и х2 мантикан мувофик аст.

Дар забони Delphi хар як тагирёбанда пеш аз истифода бурдан бояд дар программа эълон карда шавад. Бо ёри эълон кардан на танхо мавчудияти тагирёбанда маълум карда мешавад, балки типи он хам дода мешавад.

Дар намуди умуми инструкцияи эълон кардани тагирёбанда чунин аст:

Ном: тип;

Дар ин чо:

ном — номи тагирёбанда;

тип — типии маълумотхо.

Мисол:

а: Real; ӣ: Real; i: Integer;

Дар мисоли овардашуда ду тагирёбандаи типи real як тагирёбандаи типи integer эълон карда шудааст. Агар дар программа якчанд тагирёбандаи дорои як тип бошанд, онгох онхоро дар як сатр навишта аз якдигар бо «вергул» чудо намуда ва дар охирин тагирёбанда «ду нукта» гузошта, типи маълумотро навиштан мумкин аст. Мисол: а,ӣ, с: Real.

3. Инструксияи бахшиш

Инструксияи бахшиш яке аз инструксияихои асоситарини хисобарори ба шумор меравад. Агар дар программа ичрокунии хисобкуни лозим шавад, онгох зарурати истифодабарии инструксияи бахшиш пайдо мешавад.

Дар натичаи ичроиши инструксияи бахшиш киммати тагирёбанда ба киммати ба у бахшидамешуда иваз мешавад.

Намуди умумии инструксияи бахшиш чунин аст:

Ном: = Ифода;

Дар ин чо:

Ном — тагирёбандае, ки киммати вай дар натичаи ичроиши инструксияи бахшиш тагир меёбад;

: = — рамзи инструксияи бахшиш.

Ифода — кимматаш ба тагйирёбандае бахшида мешавад, ки номи он аз тарафи чаппи рамзи инструксияи бахшиш чойгир аст.

Мисол:

Price := Сеnа * Kol.

4. Функсияхои стандартӣ

Дар забони программасозии Delphi функсияхои стандартии зерин мавчуд аст:

  1. Функсияхои математики, ки дар чад.4. оварда шудааст.

Чадвали 4. Функсияхои математики

ФунксияКимат
Аӣs (n)Киммати мутлаки n
Sqrt (n)Решаи квадрати аз n
Sqr (n)Квадрати n
Sin (n)Синуси n
Cos (n)Косинуси n
Arctan (n)Арктангенси n
Ехр(n)Экспонентаи n
Ln(n)Логарифми натуралии n
Rardom(n)Ададхои бутуни эхтимоли дар диапазони аз 0 то n- 1

Бузургии кунчии функсияхои тригонометрии бояд бо радиан ифода карда шавад. Барои мубадал сохтани бузургихои кунчи аз градусхо ба радианхо формулаи (а*3.141525б)/180 истифода бурда мешавад, ки дар ин чо: а— бузургии кунчи бо градус; 3.1415926 — адади pi. Дар чои доимии касрии 3.1415926 доимии номдори PI –ро истифода бурдан мумкин аст. Дар ин холат формула намуди зеринро мегирад: a*Pi/180.

5. Функсияихои мубадалкунонӣ

Функсияхои мубадалкунони дар чад.5 оварда шудааст.

Чад.5. Функсияхои мубадалкунони

<td/><td/>
ФунксияКимати функсия
Chr(n)

IntToStr (k)

Рамзе, ки коди он баробари n мебошад.

Сатре, ки адади бутуни k-ро инъикос мекунад

FloatToStr (n)Сатре, ки адади хакикии n -ро инъикос мекунад.
FloatToStrF(n, f, k,m)Сатре, ки адади хакикии n –ро бо формати f (тарзи намоишдихи); k— аники (микдори умумии ракамхо); m — микдори ракамхои касри баъди вергул инъикос мекунад.
StrToInt (s)Адади бутуни s -ро ба сатр муббадал мегардонад.
StrToFloat (s)Адади хакикии s -ро ба сатр муббадал мегардонад.
Round (n)Адади бутун n баъди такрибикунони аз руи коидаи муайян.
Trunc (n)Адади бутуне, ки баъди партофтани кисми касрии n ба даст меорем.
Frac(n)Кисми касри адади хакики n.
Int (n)Кисми бутуни адади хакики n.

Одатан функсия ба сифати опреранди ифода баромад мекунад. Параметри функсия метавонад доими, тагирёбанда ё ин ки ифодаи ба типи функсия мувофикатмекардаги бошад. Мисоли зерин оид ба истифодабарии функсияи стандарти ва функсияи мубадалкунони оварда шудааст.

var

a,ӣ,c:real;

ӣegin

a:=strtofloat(edit1.Text);

ӣ:=strtofloat(edit2.Text);

c:= int(a/ӣ);

edit3.Text:= floattostr©;

end;

6. Дохилкунӣ ва хориҷкунии маълумот

Бисёртар программа барои ба даст овардани маълумоти ибтидоиро аз окнои дохилкуни истифода мебарад. (яъне аз компоненти Edit).

Дохилнамои аз окнои дохилкуни

Окнои дохилкуни — ин окнои стандартии диалогие мебошад, ки он дар экран дар натичаи чег задании функсияи inputӢox пайдо мешавад.

Дар намуди умуми ин функсия чуни наст:

Тагирёбанда := InputӢox(Сарлавха, Фахмондадихи, Кимат);

Дар ин чо:

Тагирёбанда — тагирёбандаи типии сатрие, ки киммати вай бояд аз тарафи истифодабаранда ба даст оварда шавад;

Сарлавха — матни сарлавхаи окнои дохилкуни;

Фахмондадихи — матне, ки бояд чи амалро кард мефахмонад;

Киммат — матн ё ададе, ки он дар майдони дохилкуни чойгир аст.

Мисол,

procedure TForm1.Ӣutton2Click(Sender: TOӣject);

var

s:string;

ӣegin

s:=InputӢox(‘Вазн’, ‘Дохилнамоии вазн бо кг’,’0′);

end;

矶⟇矶

Бояд як чизро диккат дод, ки киммати функсияи inputӢox типии сатри (string) мебошад. Барои хамин агар ба воситаи ин функсия адад дохил кардани бошем аз функсияи мубадалнамои истьифода бурдан мукин аст.Мисол,

s:=InputӢox(‘Вазн’, ‘Дохилнамоии вазн бо кг’,’0′); funt := StrToFloat(s);

Истифодаи компаненти Edit

Дохил намудани маълумот аз майдони тахриркуни (дар ин чо компаненти Edit – ро дар назар дорем, агар он дар форма чойгир карда шуда бошад) ба воситаи хусусияташ (свойства) яъне Text амали гардонида мешавад.

Изображение

Рас. 2. Компоненти Edit1.

Дар рас 2 компоненти Editl, ки барои дохил намудани маълумоти аввала истифода бурда мешавад, оварда шудааст.

Хоричкунии натичахо

Бисёртар программа барои баровардани натичаи кори худ дар намуди майдони хоричкуни аз компоненти Laӣel истифода мебарад.

7. Истифодаи окнои хабардиҳӣ

Окнои хабардихи барои чалб намудани диккати истифодабаранда истифода бурда мешавад. Бо ёрии окнои хабардихи программа метавонад ба истифодабаранда хангоми нодуруст кор кардан дар программа маълумот дихад.

Окнохои хабардихи ин проседураи ShowMessage ё ин ки функцияи MessageDlg мебошанд.

Проседураи ShowMessage дар экран окно бо матни аз тарафи программист навишташуда ва кнопкаи фармонии ОК –ро мебарорад.

Дар намуди умуми ин проседура чунин аст:

ShowMessage(Хабардихи).

Дар ин чо;

Хабардихи — матне, ки дар окно бароварда мешавад.

Дар рас 3. ичроиши ин проседура оварда шудааст:

ShowMessage(‘Информатикаи амали’);

Изображение

расми 3. Ичроиши проседураи ShowMessage

Функцияи MessageDig нисбат ба ShowMessage бисёртар универсали мебошад. Ин функсия имконият медихад, ки дар окно хабардихиро бо яке аз нишонахои стандарти ба монанди «диккат» ва микдору типи кнопкахои фармониро чойгир намояд.

Мисол,

r:=MessageDlg(‘Файл ‘+ FName + ‘ Тоза карда мешавад.’, mtWarning, ҳmӣOk,mӣCancel], 0) ;

Рис. *. Пример окна сообщения

Намуди умумии ин функсия чунин аст:

Интихоб: = MessageDlg( Хабардихи, Тип, Кнопкхо, КонтекстМаълумотномахо).

Дар ин чо:

Хабардихи — матни хабардихи;

Тип — типи хабардихи. Хабардихи метавонад информатсиони, огохикунони ё ин ки хабардихи оид ба хатоги. Хар як типии хабардихи бо нишонахои мувофик муайян карда мешаванд. Типии хабардихи бо доимихои зерин дода мешавад.(табл. 1);

Таблица 1. КДоимихои функсияи MessageDlg.

ДоимиТипи хабардихиНишона
mtWarningДиккатИзображение
mtErrorХатогиИзображение
mt InformationИнформацияИзображение
mtConfirmationТасдиккуни (Подтверждение)Изображение
mtCustomОддиБе нишона

Кнопкахо — руйхати кнопокахое, ки дар окнои хабардихи инъикос меёбад. Руйхат метавонад аз якчанд доимихо тартиб ёбад, ки онхо бо вергул чудо карда мешаванд. (табл. 2). Тамоми руйхат дар кавси квадрати гирифта мешаванд.

Таблица 2. Доимихои функцияи MessageDlg

<td/><td/>
ДоимиКнопкаДоимиКнопка
mӣYesYesmӣ AӣortAӣort
mӣNoNomӣRetryRetry
mӣOKOKmӣlgnoreIgnore
mӣCancelCancelmӣAllAll
mӣHelpHelp

Мисол, барои он ки дар окнои хабардихи кнопкахои ОК ва Cancel барояд, руйхати ин кнопкахо бояд намуди зеринро гиранд:

ҳmӣOK,mӣCancel]

Гайр аз ин доимихо метавонем дигар доимихоро истифода барем ба монанди: mӣokcancel, mӣYesNoCancel и mӣAӣortRetryIgnore.

КонтекстМаълумотномахо — параметре, ки кисми системахои маълумотиро да экран муайян мекунад, агар истифодабаранда клавиши <F1> -ро пахш кунад. Агар барориши маълумот зарур набошад, онгох киммати параметри КонтекстМаълумотномахо бояд ба нол баробар шавад.

Киммати баргардонии функцияи MessageDig (табл.3), имконияти муайян кардани кадом аз ин кнопкахои фармониро истифодабарнда пахш кардааст медихад.

Таблица 3. Значения функции MessageDlg

<td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/>
Киммати функцияи MessageDigДиалог хангоми пахши кнопка махкам карда мешавад.
mrAӣortAӣort
mrYesYes
mrOkOk
mrRetryRetry
mrNoNo
mrCancelCancel
mrIgnoreIgnore
mrAllAll

1. Алгоритми суммаи ададхои ток аз пайдарпаии 1,2,3,…,n тартиб дода шавад.

  1. Дохилкунии n
  2. S=1:i=2
  3. Агар i MOD 2 <>0 онгох гузар ба кадами 4 дар акси холл гузар ба кадами 6
  4. S=S+i
  5. Агар i>=n онгох гузар ба кадами 7 дар акси хол гузар ба кадами6
  6. i=i+1 гузар ба кадами 3
  7. Хоричкунии S
  8. Хотима

2. Алгоритми суммаи ададхои чуфт аз пайдарпаии 1,2,3,…,n тартиб дода шавад.

  1. Дохилкунии n
  2. S=1:i=2
  3. Агар i MOD 2 <>0 онгох гузар ба кадами 6 дар акси холл гузар ба кадами 4
  4. S=S+i
  5. Агар i>=n онгох гузар ба кадами 7 дар акси хол гузар ба кадами6
  6. i=i+1 гузар ба кадами 3
  7. Хоричкунии S
  8. Хотима

3. Алгоритми суммаи ададхои соддааз пайдарпаии 1,2,3,…,n тартиб дода шавад.

1. Дохилкунии n

2. s=0

3. i=2

4. j=1

5.k=0

6. Агар i MOD j =0 онгох гузар ба кадами 7 дар акси холл гузар ба кадами 8

7. k=k+1

8. Агар j>=n онгох гузар ба кадами 11 дар акси хол гузар ба кадами 9

9. j=j+1

10. Гузар ба кадами 6

11. Агар k=2 онгох гузар ба к.12 дар акси холл гузар ба к.13

12. s=s+i

13. Агар i>=n онгох гузар ба к.16 дар акси хол гузар ба к.14

14. i=i+1

15. Гузар ба к.4

16. Хоричкунии s

17. Хотима.

Программа дар Delphi 7

procedure TForm1.Ӣutton3Click(Sender: TOӣject);

var

f,s,k,i,j:integer;

ӣegin

s:=0;

f:=strtoint(edit1.Text);

for i:= 1 to f do

ӣegin

k:=0;

for j := 1 to f do

if i mod j = 0 then

ӣegin

k:=k+1;

end;

if k =2 then

ӣegin

s:=s+i;

edit2.Text:=inttostr(s);

end;

end;

end;

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

Дар матни программахо доимихои адади ба намуди одди навишта мешаванд, ё ин ки хамчу адад, мисол, барои хали масъалахои математики. Дар навишти адади касри барои чудо кардани кисми бутун ва каср аломати «нукта» истифодабурда мешавад. Агар доими манфи бошад, онгох бевосита пеш аз адад ё ин ки раками аввала аломати «минус» гузошта мешавад. Бо доимиҳо, таuирёбандаҳо, функсияҳо, ки элементҳои асоси ба шумор мераванд, rисми иxрошавии программаҳоро ташкил кардан мумкин аст.

ҳар як аз ин элементҳо rиматҳои муайян ва типҳои ба худ хосро доранд. Бо ёрии нишонаҳои амалиёт ва rавсҳо, доимиҳо, таuирёбандаҳо, функсияхоро истифода бурда ифода тартиб додан мумкин аст, ки он ҳаrиrатан ба худ rимати навро rабул мекунад.

Ифода иборат аз операнд ва оператор аст. Операторхо дар байни операндхо чойгиранд, ки операндхо ягон амалро нишон медиханд. Ба сифати операндхо ифода тагирёбанда, доими, функция ё ин ки дигар фодахоро истифода бурдан мумкин аст. Тагирёбанда – ин сохаи хотирае, ки дар он маълумотхо чойгир буда, программа ба он такя намудааст. Дар он сурате программа ба тагирёбанда мурочиат карда метавонад, ки агар тагирёбанда ном дошта бошад.

361
Нет комментариев. Ваш будет первым!