saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos...

196
saqarTvelos teqnikuri universiteti g. janeliZe daprogramebis safuZvlebi damtkicebulia stu-s saswavlo-meToduri sabWos mier Tbilisi 2002

Transcript of saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos...

Page 1: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

saqarTvelos teqnikuri universiteti

g. janeliZe

daprogramebis safuZvlebi

damtkicebulia stu-s

saswavlo-meToduri

sabWos mier

Tbilisi

2002

Page 2: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

2

uak 681.3.06

wignSi ganxilulia daprogrameba Turbo Pascal-is,Object Pascal-is da farTod gavrcelebuli obieqtur-

orientirebuli daprogramebis Delphi-is garemoSi. wignigaTvaliswinebulia damwyebTaTvis, maTTvis vinc ar flobs

programirebis sxva enebs.

wigni gankuTvnilia informatikis sferos

studentebisaTvis.

recenzentebi: prof. g. surgulaZe

doc. m. kiknaZe

saqarTvelos teqnikuri universiteti, 2002

ISBN 99928-943-2-6

Page 3: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

3

programirebis ena

Turbo Pascal.

Sesavali

programirebis sistemas saxeli “paskali~ daerqva

cnobili frangi maTematikosisa da filosofosis blez

paskalis pativsacemad. igi programebis Seqmnis metad

efeqturi saSualebaa. SemdgomSi paskals ewoda ena “turbo

paskali~. mas gaaCnia sakmaod moxerxebuli servisuli

saSualebani.

Pascal-is failebi ganTavsebulia calke katalogSi,

romelsac hqvia TP (an PAS, TURBOPAS, PASCAL da a.S.).Turbo Pascal-is garemos gamosaZaxeblad aucilebelia

movZebnoT faili TURBO.EXE saxelwodebiT, es faili

Seicavs Turbo Pascal-Si programirebisaTvis gamzadebuldialogur sistemas. dialogur sistemaSi normaluri

muSaobisaTvis saWiroa ZiriTadi biblioTeka, romelic

ganTavsebulia TURBO.TPL failSi da sacnobaro samsaxuri,

(TURBO.HLP faili). es CamoTvlili failebi ganTavsebulia

C diskze, TP katalogSi.

sacnobaro samsaxuri turbo paskalis garemos ganuyreli

nawilia. turbo paskalTan muSaobisas dabrkolebis

SemTxvevaSi sakmarisia davaWiroT F1 Rilaks da ekranze

saWiro cnoba gamonaTdeba. es cnoba damokidebulia mimdinare

garemos mdgomareobaze (aseT sacnobaro samsaxurs

konteqsturad damokidebuls uwodeben). magaliTad, Tu

F1 Rilaks davaWerT im momentSi, rodesac garemom aRmoaCina

Secdoma programaSi, cnobarSi iqneba damatebiTi cnoba am

Secdomis warmomSob mizezze da mis aRmosafxvrelad.

sacnobaro samsaxurze mimarTva SesaZlebelia turbo

paskalis mTavari menius meSveobiT.

Page 4: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

4

funqcionaluri Rilakebi

funqcionaluri Rilakebi gamoiyeneba Turbo Pascal-isgaremos samarTavad.

F1 – sacnobaro sistemis gamoZaxeba;F2 – programis teqstis damaxsovreba diskze;F3 – diskze Cawerili failis gaxsna;

F4 – gamoiyeneba programis gawyobis reJimSi, programisSesruleba gaCerdeba im striqonis win, sadac kursori

dgas.

F5 – aqtiuri fanjris mTel ekranze gaSla.

F6 – momdevno fanjris gaaqtiureba;F7 – gamoiyeneba programis gawyobis reJimSi: Sesruldes

programis momdevno striqoni, Tu striqonSi aris

proceduraze an funqciaze mimarTva, Sevides am proceduraSi

(funqciaSi) da gaCerdes misi pirveli operatoris

Sesrulebis win;

F8 – gamoiyeneba programis gawyobis reJimSi: Sesruldes

programis momdevno striqoni; Tu striqonSi aris

proceduraze an funqciaze mimarTva, Sesruldes igi.

F9 – programis kompilacia;

F10 – dialoguri sistemis mTavar meniuSi Sesvla;

Ctrl - F9 - programis Sesrulebaze gaSveba ;

Alt – F5 - Sedegis gamotanis fanjaraze gadasvla ;

Alt – X - gasvla Turbo Pascal – is garemodan.

pirveli programa.

turbo paskalis enis gasacnobad SevadginoT martivi

programa, romelic raime Setyobinebis gamotanas

ganaxorcielebs paskalis enaze. davuSvaT es aris fraza

`me vaprogrameb turbo paskalze~.

Page 5: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

5

Program My_First_Program;constText=’me vaprogrameb turbo paskalze’;

beginWriteln(Text);End.

upirveles yovlisa gavaanalizoT teqstis formis

warmodgena. programaSi eqvsi striqonia. programis

striqonebi Cveulebriv, teqstis zogierT azrobriv

fragments gamoyofs da ar ukavSirdeba programaSi

konkretul moqmedebebs: programis teqstis striqonze

ganTavseba Cveni survilisamebr xdeba da ara enis sintaqsis

moTxovniT.

igive programa SeiZleba ase eweros:

Program My_First_Program, Const Text=’me vaprogramebturbo paskalze’; Begin Writeln(Text); End.

mniSvneloba ara aqvs asoebis zomas _ My Tu my.pirveli striqoni : Program My_First_Program iwyeba

Program sityviT da programis saxels Seicavs. sityva

Program darezervebulia turbo paskalSi, e.i. ar SeiZleba

gamoyenebul iqnes sxva mniSvnelobiT, garda programis

saxelis gamocxadebisa. turbo paskalSi SeiZleba

gamotovebul iqnes Program operatori, es programaze ar

imoqmedebs.

`Cemi pirveli programa~ dawerilia probelebis (adgilis

gamotovebis) gareSe. probeli warmoadgens gamyofs da

misi TviTneburad gamoyeneba ar SeiZleba. probelebis nacvlad

identifikatorebSi xazgasmis `_~ niSani gamoiyeneba.

pirveli striqoni mTavrdeba gansakuTrebuli gamyofiT

Page 6: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

6

wertil-mZimiT (;). es gamyofi turbo paskal enaSi

operatoris an aRweris dasasruls aRniSnavs.

meore striqoni

Constmoicavs erTaderT darezervebul sityvas Const, romelic

aRniSnavs, rom SemdgomSi erTi an ramodenime konstanta

iqneba aRwerili (Constants-konstantebi), enaSi konstantebadiTvleba programis iseTi obieqtebi romelTac Tavisi

mniSvnelobebis Secvla ar SeuZliaT. konstantas SeiZleba

hqondes sakuTari saxeli. konstantis aRwera turbo

paskalSi niSnavs _ mieTiTos misi saxeli da mniSvneloba.

aseT miTiTebas mesame striqoni Seicavs.

Text = ’me vaprogrameb turbo paskalze’;

sadac konstanta _ Text-s miniWebuli aqvs ’me vaprogrameb

turbo paskalze’ simboloebis striqoni.

turbo paskalSi SeiZleba gamoviyenoT sxvadasxva tipis

mudmiva: mTeli da namdvili ricxvebis, simboloebis,

simboloebis striqoni, masivebi da a.S. imis niSnad, rom

Text warmoadgens simboloebis striqonis tipis mudmivas,

igi Casmulia or apostrofSi. TviT apostrofi striqons

ar miekuTvneba, is mxolod kompilators miuTiTebs, rom

masSi moTavsebuli simboloebi unda ganixilos rogorc

erTi mTliani_teqsturi konstanta. Tu dagvWirdeba

apostrofis CarTva teqstur konstantaSi, sakmarisia igi

daiweros orjer zedized. mag.

Text=’Turbo’’Pascal’;programis pirveli sami striqoni raime konkretuli

moqmedebebiT ar aris dakavSirebuli programis muSaobasTan.

isini kompilators zogierT cnobas miawvdian TviT

Page 7: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

7

programasa da masSi gamoyenebul obieqtebze. programis am

nawils aRweris ganyofileba ewodeba.

meoTxe striqonSi darezervebuli sityva beginkompilators acnobebs, programis sxva nawilis _

operatorebis ganyofilebis dasawyiss, Cvens magaliTSi es

ganyofileba Seicavs operators:

Writeln(Text); romelsac kompiuteris ekranze Setyobineba

gamoaqvs. mTels programas daasrulebs darezervebuli

sityva End wertiliT. wertili kompilators programis

teqstis dasasruls Seatyobinebs.

End-is Semdeg ganTavsebul teqsts kompilatori ar

kiTxulobs. sanam Sesrulebaze gavuSvebdeT Cvens programas,

ganvixiloT erTaderTi Sesrulebadi operatori:

Writeln(Text); romelic monacemTa gamotanis proceduras

mimarTavs.

procedura operatorebis mimdevrobaa, romelTac SeiZleba

saxeliT mivmarToT.

Writeln procedura miekuTvneba standartul proceduras,mas winaswar aRwera ar sWirdeba, is nebismieri

programisaTvis xelmisawvdomia, sadac misadmi mimarTvaa.

Writeln procedura miekuTvneba gamotanis operators. misisruli saxelia WriteLine _ dawereT striqoni. parametrebiproceduras gadaecema siis saxiT, romelic Casmulia mrgval

frCxilebSi. Cvens magaliTSi proceduras gadaecema

erTaderTi parametri, mudmiva _ Text.oTxi gamoyenebuli sityva (Program, const, Begin, End)

darezervebulia. sityva Writeln ar miekuTvneba darezervebuls,

magram misi gamoyeneba sxva daniSnulebiT dauSvebelia.

sityvebi: My_First_Program da Text aris identifikatori.programists identifikatorad SeuZlia gamoiyenos

simboloebis nebismieri mimdevroba, romlebic Semdeg

moTxovnebs akmayofileben:

Page 8: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

8

• identifikatori SeiZleba Sedgebodes

laTinuri anbanis asoebisagan, cifrebisagan,

xazgasmis niSnisagan. danarCeni simboloebi identi-

fikatorSi dauSvebelia.

• identifikatori ar SeiZleba cifriT

iwyebodes.

• identifikatori ar unda emTxveodes arcerT darezervebul sityvas.

• identifikatoris sigrZe SeiZleba nebismieri

iyos, xolo mniSvnelovnad iTvleba pirveli 63

simbolo.

identifikatorSi yuradReba ar eqceva asoebis simaRles:

Text, text, TEXT.programis Sesrulebaze gaSvebisas vaWerT [Ctrl-F9] _s,

Tu programaSi Secdoma ar aris Sedegi ekranze daiwereba.

ekranze Sedegis naxvisaTvis vaWerT [Alt-F5] _s. nebismieriRilakis daWerisas isev vbrundebiT ZiriTad ekranze.

ganxiluli programis struqturas Semdegi saxe aqvs:

Program My_First_Program;

{aRweris ganyofileba}

Begin

{operatorebis ganyofileba}

End.sityvebi Program, Begin da End gamoyofs programis or

nawils_aRweris ganyofilebas da operatorebis

ganyofilebas, aseTi struqtura aucilebelia nebismieri

programisaTvis. es enis mkacri moTxovnaa. Sesrulebad

operatorSi gamoyenebuli nebismieri arastandartuli

identifikatori, winaswar unda iyos aRwerili aRweris

Page 9: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

9

ganyofilebaSi.

monacemTa ti pebi

tipis cneba erT-erTi fundamenturi cnebaa turbo

paskalSi.

ganvixiloT monacemTa Semdegi tipebi:

• INTEGER - mTeli tipis monacemebi, Siga

warmodgenaSi 2 baits ikavebs. SesaZlo

mniSvnelobebis diapazonia -32768 dan +32768

–mde. monacemebi zustad unda iyos warmodgenili.

• REAL - namdvili tipis monacemebi, Siga

warmodgenaSi ikavebs 6 baits. SesaZlo

mniSvnelobebis diapazonia 2,9E-39 dan 1,7E+38 –mde monacemTa warmodgenis sizuste –11 . .……12

niSna ciframdea.

• CHAR – simbolo ikavebs erT baits.

• BOOLEAN – logikuri tipi, ikavebs erT

baits da aqvs ori mniSvneloba: FALSE (mcdari)da TRUE (WeSmariti).

• STRING –simboloebis striqoni ikavebs

MAX+1 baits, sadac MAX striqonSi simboloebis

ricxvia.

mTeli tipis monacemebi

tipi mniSvnelobaTa diapazoni

Byte 0 255

Word 0 65535

Shortint -128 127

Page 10: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

10

Integer -32768 32768

Cardinal 0 2147483647

Longint -2147483648

147483647

ganvixiloT monacemTa tipebis aRweris magaliTi:

ConstC1 = 17;C2 = 3.14;C3 = ’a’;C4 = ’123.14’;C5 = False;

kompilatori am programis fragmentis gaanalizebisas

pirvel mudmivas INTEGER-is tips miakuTvnebs, meores kiREAL-is tips, mesames CHAR, meoTxes striqonul tips -STRING; mexuTes – BOOLEAN - logikur tips. ra niSnis

mixedviT ansxvaveben?: C2-Si gvaqvs aTobiTi wertilis

aRmniSvneli mniSvneloba, amitomac is REAL tipisaa, C2 daC4 konstantebi sxvadasxva tipebs miekuTvneba:

C2-REAL (konstantaSi aris aTobiTi wertili), xolo

C4-STRING (konstanta apostrofSia Casmuli), C3-CNAR(radgan erTaderTi simboloa apostrofSi, gansxvavebiT

STRING – sadac ramodenime simboloa).

cvladebis ganyofilebis aRwerisas dasawyisSi unda idges

darezervebuli sityva VAR (VARiables-cvladebi). mag:

Varsigma : real;a,b,c,d : char;flag : boolean;

(ramdenime erTi tipis cvladi SeiZleba gavaerTianoT

Page 11: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

11

da gamovyoT mZimeebiT).

cvladebis aRwerisas identifikatoris Semdeg iwereba

` : ~ da tipis saxeli.

ganvixiloT kidev erTi martivi programa. misi

daniSnulebaa Seitanos klaviaturidan ori mTeli ricxvi,

i povos pirveli ricxvis meoreze gayofis Sedegi da

gamoitanos ekranze:

Var

n1, n2 : Integer; {n1,n2-Sesatani mTelebia}

x : Real; {x-Sedegi}

Begin {dasawyisi}

Write(‘n1=’); {vatyobinebT n1-is Setanaze}

readln(n1); {Segvaqvs n1}

Write(‘n2=’);

Readln(n2);

X:=n1/n2; {vpoulobT Sedegs};

Writeln(‘n1/n2=’,X); {gamogvaqvs Sedegi};

End. {dasasruli}

komentarebi turbo paskalSi nebismieri simboloebis

Tanmimdevrobaa, romlebic figurul frCxilebSi Caismis.

komentaris Casma SeiZleba programis nebismier adgilas,

sadac azrobrivad probeli (carieli adgili) SeiZleba

iyos. komentarebis Casasmelad gamoiyeneba figuruli

frCxilebi { da } agreTve wyvili simbolo (* da *)

{ es komentaria}

(*esec komentaria*)

operatorebis wyvili:

Write(..); Readln(..);

Page 12: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

12

Semdegnairad muSaobs: dasawyiSi operator Write-sgamohyavs ekranze striqoni da kursors tovebs axlaxan

gamoyvanili teqstis striqonis bolos. SevniSnoT, rom

operatori

Writeln(Text);teqstis gamotanis Semdeg asrulebs striqonze gadasvlas

da kursors ayenebs Semdegi striqonis dasawyisSi. Writelnda Write procedurebi axal striqonze gadasvliT gansxvavdeba

erTmaneTisagan.

< := >, simboloebis wyvili akavSirebs operatoris

marcxena da marjvena nawilebs da niSnavs `mivaniWoT

mniSvneloba~. < := > ganixileba rogorc erTi specialuri

simbolo da aucileblad erTad iwereba.

@monacemTa ti pebis gardaqmna da maTze

moqmedebebi.

monacemTa tipebi saSualebas iZleva, rom ara mxolod

Sida warmodgenaSi ganisazRvros maTi sigrZe, aramed

kontrols gauwios im moqmedebas, romelic unda Sesruldes

maT mimarT. kontroli mimdinareobs kompilaciis etapze.

turbo paskalSi TiTqmis dauSvebelia monacemTa tipebis

avtomaturi gardasaxva. mag. Tu X da Y aRwerilia

Semdegnairad:

Var

X : integer;

Y : real;

maSin operatori

y := x+2;

iqneba sintaqsurad swori, xolo Canaweri

Page 13: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

13

x := 2.0;iqneba araswori, vinaidan real tipis integer tipad

gardaqmna paskalSi dauSvebelia. Tumca turbo paskalSi

aris monacemTa tipebis gardaqmnis saSualebebi. isini unda

iqnan cxadad gamoyenebuli. monacemTa gardaqmnisaTvis enaSi

arsebobs Casmuli funqciebi, romlebic parametris saxiT

miiRebs erTi tipis mniSvnelobas, xolo abrunebs sxva

ti pis mniSvnelobas. kerZod, real tipis integer tipadgardaqmnisaTvis aris ori Casmuli funqcia:

ROUND amrgvalebs REAL-s uaxloes mTel ricxvamde.

TRUNC CamoaWris REAL - s wilad nawils. mag. arasworia

Canaweri:

X := Y/X;magram sworia:

X := ROUND(Y/X);CHAR (simbolo) tipis mTel tipad gardaqmnisaTvis

aris funqcia ORD, xolo ukugardaqmnisaTvis e.i. INTEGER-is CHAR tipad gardaqmnas axorcielebs funqcia CHR.

turbo paskalSi gamoiyeneba oTxive ariTmetikuli

operacia:

+ -Sekreba;

_ -gamokleba;

* -gamravleba;

/ -gayofa;

DIV – mTelricxva gayofa.

mag. Canaweri

VARN: integer;

beginN:=1/2;

Page 14: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

14

dauSvebelia, vinaidan N aRwerilia, rogorc mTeli

tipi da is ver miiRebs REAL tipis mniSvnelobas.

xolo Canaweri:

VARX : Real;

beginX := 1 div 2;

marTebulia.

DIV mTelricxva gayofis operaciis gamoyeneba

moxerxebulia maSin, rodesac programisti Segnebulad

ugulvebelyofs wilad nawils.

Integer - is tipis monacemebisaTvis turbo paskalSi

gamoiyeneba MOD funqcia, romelic gvaZlevs ricxvis ricxvze

gayofis Sedegad miRebul naSTs.

5 mod 2 =1

31 mod 16 = 15

16 mod 3 = 1Integer, Real, Char tipis monacemebisaTvis gansazRvrulia

Semdegi damokidebulebis (Sedarebis) operaciebi.

= tolia;

< > _ ar aris toli;

< _ naklebia;

> _ metia;

<= _ naklebi an toli;

>= _ meti an toli;

damokidebulebis operaciis Sedegad miiReba BOOLEANtipis monacemi, romelsac aqvs ori mniSvneloba: TRUE -WeSmariti da FALSE - mcdari. aRvniSnoT, rom ORD funqcia

Page 15: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

15

gardaqmnis ara marto simbolos mTel tipad, aramed

logikur sididesac. amitomac

ORD(FALSE)=0

ORD(TRUE)=1

turbo paskalSi gamoiyeneba Semdegi logikuri operaciebi:

not _logikuri uaryofa (ara);

and _logikuri gamravleba (da);

xor _gamomricxveli Sekreba (an);

or _logikuri Sekreba (an);

rTul logikur gamosaxulebaSi saWiroa maTi Casma mrgval

frcxilebSi. mag. Canaweri:

a>b and c<dsintaqsurad SecdomiT aris Cawerili, xolo sworia

(a>b) and (c<d).

enis operatorebi

Sedgenili da carieli operatorebi.

erT-erTi yvelaze xSirad gamoyenebuli operatori _

miniWebis operatori ukve ganvixileT.

Sedgenili operatori _ programis nebismieri

operatorebis Tanmimdevrobaa, romelic Casmulia

begin…end operatorul frCxilebSi.

Sedgenili operatorebi _ turbo paskalis mniSvnelovani

instrumentia, romelic saSualebas iZleva daiweros

programa struqturuli programirebis Tanamedrove

Page 16: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

16

teqnologiiT (GOTO) gadasvlis operatoris gareSe).

begin…….begin

…….begin

…….…….

end;……end;

…….end;

faqtiurad, mTeli operatorebis ganyofileba, romelic

begin…end sityvebiT Semoifargleba, warmoadgens erT

Sedgenil operators. darezervebuli sityva endoperatoruli frCxilebis daxurvis maCvenebelia. is

erTdroulad miuTiTebs wina operatoris dasasruls, amitom

` ; ~ simbolos dasma end-is win ar aris aucilebeli. end-is win ̀ ; ~ - is arseboba wina magaliTSi aRniSnavda, rom

bolo operatorsa da operatorul frCxil end _s SorisTavsdeba carieli operatori. carieli operatori ar

Seicavs araviTar moqmedebebs, ubralod programaSi emateba

zedmeti wertil-mZime. ZiriTadad carieli operatori

gamoiyeneba Sedgenili operatoris bolos marTvis

gadasacemad.

Page 17: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

17

mTeli tipebis sademonstracio programa:

Program IntegerDemo;

var Pay : Integer; OverTimePay : Integer; TotalPay : Integer;

begin Pay : = 500; OverTimePay : =100; TotalPay := Pay + OverTimePay; Writeln (‘sruli daricxva=’, TotalPay);Readln; {Enter - is daWeramde, rom fanjara Ria darCes}

end.

namdvili tipebis sademonstracio programa:

Program RealDemo;

const TaxRate = 0.0075;

var Pay : Real; OverTimePay : Real; GrossPay : Real; NetPay : Real;

begin Pay : = 500.55;

Page 18: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

18

OverTimePay : =100.10; GrossPay := Pay + OverTimePay; NetPay := GrossPay - (GrossPay * TaxRate);Writeln (‘sruli daricxuli Tanxa’, Grosspay : 7 : 2);Writeln (‘ xelxe gasacemi Tanxa=’, NetPay : 7 : 2);Readln; {Enter - is daWeramde, rom fanjara Ria darCes}end.

logikuri tipis sademonstracio magaliTi:

Program BooleanDemo;

var OKtoGo : Boolean; MyFlag : Boolean;

begin OKtoGo := False; MyFlag := not OKtoGo;Writeln (‘OKtoGo-s droSaze arCeulia’, OKtoGo);Writeln (‘MyFlag-is droSaze arCeulia’, MyFlag);Writeln(‘ori droSis logikuri ̀ an~ tolia’, OKtoGo or

MyFlag); Writeln(‘ori droSis logikuri ̀ da~ tolia’, OKtoGo

and MyFlag);

Readln;end.

Page 19: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

19

simboluri tipis sademonstracio magaliTi:

Program CharDemo;

var Answer : Char; Question : Char; begin Question :=’A’; Answer :=’B’; Writeln (‘SekiTxva udris’, Questin); Writeln (‘ pasuxi udris’, Answer);

Answer := Question;Question := ‘B’;

Writeln (‘SekiTxva exla udris’, Questin);Writeln (‘ pasuxi exla udris’, Answer);

Readln;end.

aq ramodenime saintereso momentia. ori simbolos tipis

cvladis - Answer da Question, gamocxadebis Semdeg TiToeulmaTgans eniWeba mniSvneloba, Question -s simbolo ‘A’, xolo

Answer - s simbolo ‘B’. mas Semdeg roca xdeba maTimniSvnelobebis ekranze gamotana, programa Ansver cvlads

aniWebs Question cvladis mniSvnelobas da piriqiT. miniWeba

dasaSvebia, radgan orive cvladebi erTnairi tipisaa.

Page 20: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

20

striqonis tipis sademonstracio programa:

Program StringDemo;

var LastName : String; FirstName : String[4]; NewFirstName : String[30];

begin

LastName := ‘Mepho’; FirstName := ‘Tata; NewFirstName := ‘Kate’; Writeln (‘saxeli-’, FirstName); Writel (‘gvari-’, LastName);

FirstName := NewFirstName;

Writeln (‘Secvlili saxelia-’, FirstName);Readln;end.

Cvens mier aRwerili pirveli striqoni SeiZleba Seicavdes

maqsimum 255 simbolos, radgan aq ar aris miTiTebuli

simboloebis dasaSvebi raodenoba, meore da mesame

striqonebi Seicaven maqsimum oTx simbolos, rac

miTiTebulia kvadratul frCxilebSi. miniWebis operatori

dasaSvebia striqonuli tipebisaTvis.

Page 21: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

21

pirobis operatori

pirobis operatori saSualebas gvaZlevs SevamowmoT

zogierTi piroba da Semowmebis Sedegis mixedviT

SevasruloT esa Tu is moqmedeba. amgvarad, pirobis

operatori _ gamoTvliTi procesis ganStoebis saSualebaa.

pirobis operatoris struqturas aqvs Semdegi saxe:

IF < piroba> THEN <operatori1> ELSE < operatori2>

sadac IF, THEN, ELSE _ darezervebuli sityvebia (Tu,

maSin, winaaRmdeg SemTxvevaSi).

<piroba> _ logikuri tipis nebismieri gamosaxulebaa.

<operatori1>, <operatori2> _ turbo paskalis

nebismieri operatorebia.

pirobis operatori muSaobs Semdegi algoriTmis mixedviT:

pirvelad gamoiTvleba logikuri gamosaxuleba <piroba>.

Tu Sedegi aris TRUE (WeSmariti), maSin sruldeba

<operatori1>, xolo <operatori2> gamoitoveba. Tu Sedegi

aris FALSE (mcdari), piriqiT <operatori1> gamoitoveba,xolo <operatori2> Sesruldeba. mag.:

varx, y, max : integer;

begin …………..

if x > max thenx := max

else y := x;…………..am fragmentis Sesrulebisas y cvladi Rebulobs x

cvladis mniSvnelobas, mxolod Tu es mniSvneloba(x) max_sar aRemateba, winaaRmdeg SemTxvevaSi x gaxdeba max-is toli.

pirobis operatoris ELSE <operatori2> nawili

Page 22: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

22

SeiZleba gamotovebul iqnas. am SemTxvevaSi igi ar

Sesruldeba da marTva gadaecema rigiT momdevno opera-

tors.

varx, y, max : integer;

begin……………

if x > max then

max := x;

y := x;…………….

am SemTxvevaSi y cvlads yovelTvis x cvladis mniSvneloba

eqneba, xolo max_Si x_is maqsimaluri mniSvneloba

daixsomeba.

Tu CarTuli pirobis operatorebidan yvelas ar aqvs

else, ismis kiTxva, romel then operators ekuTvnis romeli

else. es ganisazRvreba Semdegnairad: nebismier else_s SeesabamebamasTan zemodan uaxloesi - then.

ganvixiloT magaliTi:

vara,b,c,d : integer;

begina:=1; b:=2; c:=3; d:=4;

IF a>b thenIF c<d then

IF c<0 thenc:=0

elsea:=b;

IF a>b then

Page 23: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

23

IF c then

IF c then

c:=0

else

else

else

a:=b;

ganvixiloT programa, romelic ipovis or namdvil ricxvs

Soris udidess:

var X, Y, Max : real;begin Writeln(‘X=’); Readln(X); Writeln(‘Y=’); Readln(Y); If X>Y Then Max := X Else Max := Y; Writeln(‘Max=’, Max); Readln;End.

ganxilul magaliTSi X da Y namdvili tipis cvladebia,

romelTa Soris udidesi unda ganisazRvros. am cvladebis

Setana xdeba klaviaturidan, ris Semdegac daismeba piroba,

Tu X meti aRmoCndeba Y -ze, maSin Max -s mieniWeba X -ismniSvneloba, xolo winaaRmdeg SemTxvevaSi, Tu Y YmetiaRmoCndeba X -ze, Max -s mieniWeba Y-is mniSvneloba. End-is win gamoyenebuli Readln niSnavs, rom ekranze, SedeginaCvenebi iqneba manam, sanam ar davaWerT Enter Rilaks.

Page 24: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

24

ganvixiloT programis fragmenti, sadac sruldeba Semdegi

piroba, Tu ori namdvili ricxvidan pirveli metia meoreze,

maSin, pirveli davadidoT orjer, xolo Tu meore metia

pirvelze, maSin meore gavadidoT orjer. davuSvaT es

cvladebia a da b.................................

If a > b Then a := 2 * a Else b := 2 * b;-----------------

Else pirobis operatoris araaucilebel nawils

warmoadgens, rac niSnavs, rom Tu misi programaSi gamoyeneba

ar aris saWiro, igi SeiZleba gamovtovoT da Cveulebrivad

gadavideT rigiT momdevno operatorze.

ganvixiloT magaliTi sadac Else ar aris gamoyenebuli:

klaviaturidan Setanili nebismieri X mTeli ricxvi

Tu dadebiTia maSin igi gavadidoT samjer, Tu nulis tolia

gavadidoT 3-iT, xolo Tu uaryofiTia, maSin gavadidoT

(-3)-jer.

Var X : Integer;Begin Writeln(‘X=’); Readln(X); If X > 0 Then X : = 3 * X; If X = 0 Then X : = 3 + X; If X < 0 Then X : = -3 * X;Writeln(‘X=’, X);Readln;End.

Page 25: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

25

If.....Then.....Else operatoris gamoyenebis martivi programa:

Program IfDemo;

var UserInput : Integer;

begin Write (‘ramdeni wlisa xarT?’);

Readln (UserInput); If (UserInput < 1) or (UserInput > 130) Then Writeln(‘pasuxi arasworia’)else Writeln (‘Tqven ’, UserInput, ‘ wlisa xarT.’);

Writeln(‘programis dasrulebisaTvis daaWireT Enter-s’);Readln;end.

mocemul programaSi gamoiyeneba erTaderTi cvladi:

UserInput, romlis Setanis Semdeg mowmdeba piroba, Tu es

cvladi naklebia erTze da metia 130, ekranze gamova

Setyobineba, rom Tqven araswori informacia SeitaneT, xolo

sxva danarCen SemTxvevaSi, gamova Setyobineba, rom Tqven

UserInput wlisa xarT.

Page 26: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

26

ciklis (ganmeorebis) operatorebi

FOR – TO cikli

turbo paskalSi aris sami gansxvavebuli operatori,

romlis meSveobiT SeiZleba daprogramdes ganmeorebiTi

procesi.

FOR - TO ciklis operators aqvs aseTi struqtura:

FOR < ciklis parametri> := <sawyisi mniSvneloba>

TO < saboloo mniSvneloba> DO < operatorebi>.aq FOR, TO, DO _ darezervebuli sityvebia (saTvis,

mde, Sesruleba).

< ciklis parametri> integer tipis cvladia.

<sawyisi mniSvneloba> da <saboloo mniSvneloba> igive

tipis gamosaxulebaa.

<operatorebi> turbo paskalis nebismieri

operatorebia. FOR operatoris Sesrulebis dasawyisSi

<ciklis parametrs> eniWeba <sawyisi mniSvneloba>, ris

Semdegac igi ciklurad meordeba, sanam WeSmaritia piroba:

<ciklis parametri> <= <saboloo mniSvneloba>,

winaaRmdeg SemTxvevaSi cikli amTavrebs muSaobas. muSaobis

periodSi ciklis parametri izrdeba erTi erTeuliT, e.i.

ciklis yoveli ganmeorebisas ciklis parametri izrdeba

1 erTeuliT.

FOR operatoris ilustraciisaTvis ganvixiloT programa,

romelic klaviaturidan N nebismier mTel ricxvs Seitans

da 1-dan N-mde gamoiTvlis yvela mTeli ricxvebis jams.

Program summ_of_integer;(programas Seaqvs mTeli dadebiTi ricxvi N da

gamoiTvlis yvela mTeli ricxvebis jams 1-dan N-mde).

Page 27: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

27

var

I, N, S : integer; {cvladebi}

begin

Write(‘N=’); Readln(N); {N Setana}

S := 0; {jamis sawyisi mniSvneloba}

FOR I:=1 TO N do {jamis daTvlis cikli}

S := S + I;

Writeln(‘S=’, S); {Sedegis gamotana}

end.sanam I icvleba 1-dan N-mde, sruldeba <operatorebi>.

rogorc ki I-s mniSvneloba gadaaWarbebs N-s, cikli wyvets

muSaobas da marTva gadaecema rigiT momdevno operators.

ciklis parametris gazrda +1 erTeuliT mkacrad

gansazRvrulia. arsebobs operatoris sxva forma:

FOR <ciklis parametri> := <sawyisi mniSvneloba>

DOWNTO <saboloo mniSvneloba> DO <operatorebi>

darezervebuli TO sityvis DOWNTO sityviT Secvla

niSnavs, ciklis parametris cvlas (-1) erTeuliT. wina

magaliTis modificireba SeiZleba ise, rom gamosadegi iyos

rogorc dadebiTi, aseve uaryofiTi jamis gamoTvlisaTvis :

————————

S := 0;

If N >= 0 then

for I := 1 to N do

S := S + I

else

Page 28: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

28

for I := -1 downto N do

S := S+I;—————————

ganvixiloT magaliTi, romelic amobeWdavs N-dan 1-mdeyvela naturalur ricxvs.

Var

I, N : integer; {cvladebi}

begin

Write(‘N=’); Readln(N); {Segvaqvs N}

FOR I:= N DOWNTO 1 DO

Write(I : 4);

Readln;

end.…

ganxilul programaSi gamoyenebulia ……FOR -…DOWNTOcikli, radgan ciklis parametri (-1)-iT unda Seicvalos.

gamotanis operatori …Write(I : 4), niSnavs, rom I-isyoveli momdevno mniSvnelobis gamotana moxdeba imave

striqonze, amave dros yoveli momdevno I ekranze daibeWdebawina mniSvnelobidan meoTxe poziciaze.

Page 29: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

29

ciklis operatori wina pirobiT.

WHILE – DO cikli.

WHILE – DO ciklis zogadi struqturaa:

WHILE <piroba> DO < operatorebi>aq WHILE, DO _ darezervebuli sityvebia (sanam,

gavakeToT)

<piroba> _ logikuri tipis gamosaxulebaa,

<operatorebi> _ turbo paskalis nebismieri

operatorebia.

Tu gamosaxuleba <piroba> _s aqvs FALSE mniSvneloba,

operatori WHILE wyvets Tavis muSaobas.

ganvixiloT magaliTi, romelic 1-dan n - mde mxolod

kent ricxvebs amobeWdavs.

var

i, n : integer;

begin

Writeln(‘n=’); Readln(n);

i := 1;

While i <= n do begin

Writeln (i);

i := i + 2; end;

Readln;

end.

Page 30: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

30

WHILE – DO ciklSi ciklis parametri, Cvens SemTx-

vevaSi i, icvleba nebismieri intervaliT, amitom misi

cvlileba aucileblad unda iyos miTiTebuli.

ganvixiloT programa, romelic gamoiTvlis 1-dan N-mde luwi ricxvebis jams.

var

i, n, s : integer;

begin

Writeln(‘n=’); Readln(n);

i := 2;

s := 0;

While i <= n do begin

s := s + i;

i := i + 2; end;

Writeln(‘s=’, s);

Readln;

end.

jamis sawyisi mniSvneloba 0-is tolia, xolo ciklis

parametris sawyisi mniSvneloba - 2-is, cikli meordeba

manam, sanam ciklis parametris mniSvneloba ar gadaaWarbebs

N-s (ciklis parametris saboloo mniSvnelobas).

Page 31: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

31

ciklis operatori bolo pirobiT

REPEAT – UNTIL cikli

REPEAT – UNTIL ciklis operators aqvs Semdegi

struqtura:

REPEAT <operatorebis mimdevroba> UNTIL <piroba>.

aq REPEAT , UNTIL darezervebuli sityvebia, (vimeoroT

manam, sanam ar iqneba Sesrulebuli piroba).

<operatorebis mimdevroba> turbo paskalis nebismieri

operatorebia.

<piroba> logikuri tipis gamosaxulebaa.

<operatorebis mimdevroba meordeba Tundac erTxel,

mas Semdeg rac Semowmdeba <piroba>, Tu misi mniSvneloba

mcdaria, cikli agrZelebs muSaobas. rogorc ki <piroba>

WeSmariti gaxdeba , cikli amTavrebs muSaobas.

REPEAT – UNTIL ciklis ilustraciisaTvis ganvixiloT

pograma, romelsac ekranze gamoaqvs 2 _ dan n _ mde luwi

ricxvebi:

vari, n : integer;

beginWriteln(‘n =’); Readln(n);

i := 2;Repeat

Writeln (i); i := i + 2;

Until i > n;End.

Page 32: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

32

Until _ is win ` ; ~-is dasma ar aris aucilebeli.

FOR – TO, WHILE – DO, REPEAT – UNTIL ciklis

operatorebis moqnili marTvisaTvis turbo paskalSi

gamoyenebulia ori procedura:

BREAK _ romelic ciklidan dauyovnebliv gamosvlas

axorcielebs da marTva gadaecema ciklis dasasrulis

momdevno operators.

CONTINUE _ uzrunvelyofs ciklis momdevno

ganmeorebis vadaze adre dasrulebas. igi ciklis

operatoris bolo operatorze mimarTvis eqvivalenturia.

am procedurebis Semotana praqtikulad gamoricxavs

GOTO gadasvlis upirobo operatoris gamoyenebas.

ganvixiloT martivi programebi ciklis operatorebis

gamoyenebiT:

Program ForDemo;

var count : Integer;

begin For Count := 1 to 10 do Writeln (‘gamarjobaT!’);Writeln(‘programis dasrulebisaTvis daaWireT Enter-s’);Readln;end.

programa aTjer gamoitans sityvas `gamarjobaT~.

Page 33: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

33

Program WhileDoDemo;

Var I : Char;

begin I := ‘ ‘; While (I < > ‘q’) and (I < > ‘Q’) Do begin Write (‘Seitan eT sim bolo (programis

dasrulebisaTvis SeitaneT q an Q) : ‘); Readln(I); end;Writeln (‘programis dasrulebisaTvis daaWireT Enter-s’); Readln;

end.

While-Do ciklis operatori daamTavrebs muSaobas maSin,

roca klaviaturidan SevitanT `q~ an `Q~ simbolos.

Program RepeatDemo;

Var I : Char;

begin Repeat Write (‘SeitaneT simbolo (programis dasrulebisaTvis

SeitaneT q an Q) : ‘);Readln(I); Until (I = ‘q’) or (I = ‘Q’) ;

Page 34: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

34

amorCevis operatori

amorCevis operatori saSualebas iZleva amovirCioT erTi

ramodenime SesaZleblobidan. amorCeva xdeba amorCevis

gasaRebis mixedviT, romelic warmoadgens rigiTi tipis

nebismier gamosaxulebas (nebismieri garda REAL da STRINGtipisa).

amorCevis operatoris struqturas aqvs Semdegi saxe:

CASE < amorCevis gasaRebi> OF < amorCevis sia> [ELSE< operatorebi>] END.

aq CASE, OF, ELSE, END – darezervebuli sityvebia.

(amorCeva, dan, winaaRmdeg SemTxvevaSi, dasasruli).

< amorCevis gasaRebi> is monacemia, romlis mixedviTac

amorCeva xdeba;

<amorCevis sia> _ arCevanis CamonaTvalia;

<operatorebi> _ turbo paskalis nebismieri

Writeln (‘programis dasrulebisaTvis daaWireT Enter-s’); Readln;

end.

operatoria.

amorCevis operatori Semdegnairad muSaobs: dasawyisSi

gamoiTvleba <amorCevis gasaRebis> mniSvneloba. Semdeg

amorCevis siaSi moiZebneba iseTi, romelic Seesabameba

amorCevis gasaRebis mniSvnelobas. napovni operatori

Sesruldeba da amorCevis operatori amTavrebs muSaobas.

Tu amorCevis siaSi ar iqneba is mudmiva, romelic Seesabameba

Page 35: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

35

ELSE < operatori> SeiZleba gamotovebul iqnes, maSin

mocemul siaSi saWiro mudmivas aryofnis SemTxvevaSi

araviTari moqmedeba ar sruldeba da amorCevis operatori

ubralod amTavrebs muSaobas. amorCevis siis operatorebSi

SeiZleba monawileobdes ara erTi aramed ramodenime

amorCevis mudmiva, romlebic erTmaneTisagan mZimiTaa

gamoyofili. mag. Semdegi programa y an Y simbolos Setanisas

ekranze gamoitans sityvas `diax~, xolo N an n Setanisassityvas `ara~.

mag.:

Varch : char;

beginreadln(ch);

case ch of

‘n’,’N’: Writeln(‘ara’’);

‘y’, ‘Y’: Writeln(‘diax’);end;

end.

TiToeul Setanil simbolos programa amoicnobs, raTa

gamoimuSaos Sesabamisi sapasuxo reaqcia. amorCevis

operatori programists saSualebas aZlevs Seadaros

Setanili monacemebi winaswar gansazRvrul SemTxvevaTa

simravles da moaxdinos Sesabamisi moqmedeba.

amorCevis gasaRebis mniSvnelobas, maSin marTva gadaecema

ELSE-s Semdgom operators.

Page 36: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

36

ganvixiloT programa amorCevis operatoris gamoyenebiT:

Program CaseDemo;

var UserIn : Char;

begin Writeln (‘SeitaneT erTi simbolo da daaWireT Enter-

s’);

Readln (UserIn);Case UserIn of‘a’ : Writeln (‘es weriTi a simboloa’);

‘z’, ‘Z’ : Writeln (‘es weriTi an beWdviTi z simboloa’)

elseWriteln (‘es simbolo gansxvavebulia a, z, Z - sagan’);end;Writeln (‘programis dasrulebisaTvis daaWireT Enter-

s’);

Readln;end.

ganvixiloT magaliTi, romelic mikrokalkulatoris

muSaobis imitacias warmoadgens. SeitanT or ricxvs da

operaciis niSans. xorcieldeba Sesabamisi operacia da

Sedegi ekranze gamodis. Tu klaviaturidan Setanili

simbolo gansxvavebulia +, _, /, * simboloebisagan, programa

daasrulebs muSaobas.

Page 37: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

37

Program calc;

Var

Operacion : char;

X, Y, Z : Real;

stop : boolean;

begin

stop := false;

repeat

Writeln;

Write (‘X, Y=’);

Readln(X, Y);

Write(‘operacia’);

Readln(Operacion);

Case Operacion of

‘+’ : Z := X + Y;

‘-’ : Z := X - Y;

‘*’ : Z := X *Y;

‘/’ : Z := X / Y;

else

stop := true;

end;

if not stop then

Writeln (‘Z=’, Z);

until stop; end.

Page 38: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

38

programa Setanili mimdinare TariRis mixedviT gamoitans

momdevno dRis TariRs(ricxvs, Tves da wels);

Program callendar;

var month, day, year, nom : integer;

begin

Writeln(‘nom, day, year’); Readln(nom, day, year); Case nom of 1 : month:= 1; 2 : month:= 2; 3 : month:= 3; 4 : month:= 4; 5 : month:= 5; 6 : month:= 6; 7 : month:= 7; 8 : month:= 8; 9 : month:= 9; 10 : month:= 10; 11 : month:= 11; 12 : month:= 12; end;Case nom of 1, 3, 5, 7, 8, 10 : if day = 31 then begin day := 1; month := succ (month);end elseday := day + 1;

Page 39: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

39

Wde da gadasvlis operatori

Cvens mier ganxiluli operatorebi sakmarisia nebismieri

sirTulis programis dasawerad. am TvalsazrisiT gadasvlis

operatoris gamoyeneba zedmetad iTvleba. amasTan,

Tanamedrove struqturuli programirebis teqnologia

dafuZnebulia GOTO - s gareSe programirebaze. iTvleba,

rom GOTO –s gamoyeneba arTulebs programis gaazrebas

da CaxlarTuls xdis mas. Tumca, zogjer GOTO – s

4, 6, 9, 11 : if day = 30 then begin

day := 1; month:= succ(month); end elseday := day + 1;12 : if day = 31 then begin day := 1; month := 1; year := year + 1; end else day := day + 1;2 : if (day = 28) and (year mod 4 < > 0) or (dd = 29) then begin day := 1; month := succ(month); endelse day := day + 1; end;

Writeln (month);Writeln (day);Writeln (year); Readln;end.

Page 40: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

40

gamoyenebam SeiZleba gaamartivos programa.

gadasvlis operators aqvs Semdegi saxe:

GOTO – <Wde>

aq GOTO – darezervebuli sityvaa (gadadi [Wdeze]).

Wde turbo paskalSi nebismieri identifikatoria, romelic

programis romelime operators aniWebs saxels da

mimarTvads xdis mas.

turbo paskalSi dasaSvebia Wdis saxiT gamoyenebul

iqnes mTeli ricxvi niSnis gareSe. Wde ganTavsebulia

mosaniSni operatoris win da misgan gamoiyofa ` : ~ - iT.

sanam programaSi gamoCndeba Wde, igi unda iqnes aRwerili.

Wdis aRwera Sedgeba darezervebuli sityvisagan LABEL(Wde), romelsac Wdis sia mosdevs .

LABEL Loop, Lb1, Lb2;

begin………goto Lb1;………Loop : ………………Lb1 : Lb2 : …….………goto Lb2;………

Page 41: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

41

goto operatoris moqmedeba mdgomareobs daniSnul

operatorze marTvis gadacemaSi. Wdis gamoyenebisas

aucilebelia gaviTvaliswinoT Semdegi wesebi :

• Wde aucileblad unda aRiweros aRweris nawilSi

da aucileblad monawileobdes operatorebis nawilSi.

• Wde, romelic aRwerilia proceduraSi an funqciaSi,

lokalizebulia mxolod maTTvis.

masivis ti pi.

masivis tipi miekuTvneba rTuli tipis monacemebs. rTuli

tipis monacemebi gansxvavdeba martivisagan imiT, rom isini

Seicaven 1-ze met komponents. masivi erTnairi tipis

monacemebis mowesrigebuli nakrebia. masivis aRwera xdeba

misi komponentebis tipisa da indeqsis CvenebiT. masivis

aRweris zogadi saxea:

ARRAY [T1] of T2

sadac T1 indeqsia, T2 monacemebis tipi. ganvixiloT masivis

aRweris ramodenime magaliTi.

TYPE COLOR = (RED, BLUE, BLACK) ;

MAS1 = ARRAY[-5..15] OF REAL;

MAS2 = ARRAY[1..10,1..10] OF INTEGER;

AMS3 = ARRAY[‘A’..’C’] OF ARRAY[1..5] OF BOOLEAN;

MAS4 = ARRAY[BOOLEAN] OF CHAR;

VAR A : MAS1; B : MAS2; C : MAS3; D : MAS4;

Page 42: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

42

E : ARRAY[COLOR] OF REAL;

A masivi aris namdvili tipi, romlis komponentebis

indeqsebia 5-dan 15-mde. B masivi mTeli ricxvebisagan

Sedgenili kvadratuli matricaa, romelic Sesdgeba 10

striqonisa da 10 svetisagan. C masivi aRwerilia, rogorc

logikuri sidideebis matrica, romelsac aqvs sami striqoni

A, B, C da xuTi sveti. misi elementi, romelic dgas

meore striqonSi da pirvel svetSi aRiniSneba:

C[‘B’,1]D masivi S simboloebis veqtoria, romelic ori

komponentisagan Sedgeba .

E masivi warmoadgens sam elementian veqtors, e.i. Seicavs

sam obieqts, romelic aRwerilia CamoTvliTi ti piT

COLOR. misi komponentebi gamoiyurebian Semdegnairad:

E[RED], E[BLUE]; E[BLACK].masivis elementebis Setana da gamotana SeiZleba mxolod

TiToeuli elementis saxiT, ganvixiloT masivis Setana-

gamotanis ramdenime magaliTi:

PROGRAM ….;

MAS1 = ARRAY [1..3, 1..2] OF REAL;

MAS2 = ARRAY[1..6] OF REAL;

var

XS : MAS2;

XF : MAS1; I, J : Integer;(*fragmenti 1*);

begin Readln; Write(‘XS=> ‘);For I:=1 to 6 do Read(XS[I]);

Page 43: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

43

(*fragmenti 2*)

Readln; Write(‘XF=>’); For I := 1 to 3 do for J := 1 to 2 do Read (XF[I, J]);

fragmenti 1 axorcielebs eqvs elementian namdvili tipis

masivis Setanas, xolo meores Seaqvs namdvili tipis matrica,

romelic Sedgeba sami striqonisa da ori svetisagan, Setana

xorcieldeba ori CarTuli ciklis operatoris meSveobiT,

xolo Sesabamisi masivebis gamotanas aqvs Semdegi saxe:

(*fragmenti 1*)

FFor I:=1 to 6 do Write (XS[I] : 4);

(fragmenti 2*)

For I:=1 to 3 do

begin

For J:=1 to 2 do Write (XF[I, J] : 6 : 2);

Writeln;

end.

ganvixiloT magaliTi, romelic Seajamebs aT elementian

mTeli tipis masivis wevrebs.

const

N = 10;

var

Page 44: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

44

A : Array[1..N] of Integer;

I, S : Integer;

begin

Writeln (‘masivi’);

For I:=1 to N do Readln (A[I]);

S := 0;

For I := 1 to N do S := S + A[I];

Writeln (‘S = ’, S);

end.ganvixiloT programa, romelic Sekrebs MM matricis

TiToeuli striqonis dadebiT elementebs da miRebuli

jamisagan aagebs VV veqtors.

type MAT1 = Array [0..5, 0..9] of Integer;

VEK1 = Array[0..5] of Integer;

var MM : MAT1; VV : VEK1; S, I, J : Integer;………………………………….

For I = 0 to 5 dobegin

S := 0;

For J := 0 to 9 do

If MM[I, J] > 0 then S := S + MM[I, J];

VV[I]:=5;

end.

programa iTvlis aT elementiani mTeli tipis masivSi

luwi elementebis raodenobas.

Page 45: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

45

Program ……….;

const

N = 10;

var

K , I : Integer;

M : Array[1..N] of Integer;

begin

K := 0;

Write (‘masivi=>’);

For I := 1 to N do readln (M[I]);

For I := 1 to N do

If M[I] mod 2 = 0 then

K:=K+1;

Writeln (‘luwi elementebis raodenoba=’, K);

end.

programa iTvlis aTelementian masivSi kentindeqsiani

wevrebis jams:

Program ……..;

const

N=10;

var

M : Array[1..N] of Integer;

I, S : Integer;

begin

Page 46: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

46

Writeln (‘masivi=>’);

For I:=1 to N do readln (M[I]);

S := 0; I := 1;

Repeat

S := S + M[I];

I := I+2;

Until I>N; Writeln(‘S=’, S) ;

end.

simravle

simravle erTnairi tipis obieqtebis nakrebia, romlebic

raRac saxiT arian erTmaneTTan dakavSirebulni. obieqtebs

Soris kavSiris xasiaTi gaTvaliswinebulia programistis

mier da ar kontroldeba turbo paskalis garemoTi.

elementebis raodenoba simravleSi SeiZleba icvlebodes

0-255-is farglebSi. simravle Tu ar Seicavs elements,

hqvia carieli [ ].

ori simravle eqvivalenturia, Tu maTi yvela elementi

erTnairia. maTi mimdevroba SeiZleba iyos nebismieri. Tu

erTi simravlis yvela elementi Sedis meoreSi, amboben, rom

pirveli simravle CarTulia meoreSi.

ganxilul magaliTSi mocemulia simravle :

type

digitchar = set of ‘0’..’9’ ;

digit = set of 0..9;

Page 47: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

47

var

S1, S2, S3 : digitchar;

S4, S5, S6 : digit;

…………………..

S1 := [‘1’,’2’,’3’];

S2 := [’3’,’2’,’1’];

S3 := [‘2’,’3’];

S4 := [0..3, 6];

S5 := [4, 5 ];

S6 := [3..9];am magaliTSi simravle S1 eqvivalenturia S2-sa, S3

CarTulia S2 –Si, magram misi eqvivalenturi ar aris.

simravlis aRweras aqvs Semdegi saxe:

<tipis saxeli> = set of < bazuri tipi><tipis saxeli> - identifikatoria.

set, of darezervebuli sityvebia (simravle, dan).

<baz. tipi> - simravlis elementebis bazuri tipia,

romlis saxiT SeiZleba gamoyenebul iqnas nebismieri tipi,

garda Word, Integer, Longint.

simravlis elementebi erTmaneTisagan gamoiyofa mZimeebiT

da Caismeba kvadratul frCxilebSi.

simravleebisaTvis gansazRvrulia Semdegi operaciebi:

* simravleTa gadakveTa, Sedegi Seicavs mocemul

simravleTa saerTo elements.

magaliTad S4 * S6 Seicavs [3, 6]-s.

+ simravleTa gaerTianebaa. Sedegi Seicavs pirveli

simravlis yvela elements mimatebuls meore simravlis

Page 48: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

48

S4 + S5 Seicavs [0, 1, 2, 3, 4, 5, 6,];

- simravleTa sxvaoba, Sedegi Seicavs pirveli simravlis

im elementebs, romlebic ar Sedian meore simravleSi.

S6-S5 Seicavs [3, 6, 7, 8, 9];

= simravleTa Semowmeba eqvivalenturobaze, Sedegia TRUE,Tu simravleebi eqvivalenturia.

< > araeqvivalenturobaze Semowmeba. Sedegia TRUE, Tusimravleebi araeqvivalenturia.

<= simravleTa Sedareba. Sedegia TRUE, Tu meoresimravle CarTulia pirvelSi.

>= simravleTa Sedareba, Sedegia TRUE, Tu meore simravle

CarTulia pirvelSi.

in Semowmeba kuTvnilebaze. aq pirveli elementia

gamosaxuleba, meore ki - igive tipis simravle. Sedegia

TRUE, Tu gamosaxulebis mniSvneloba Sedis simravleSi.

3 in S6 - TRUE

2 * 2 in S1 - FALSE.

gansxvavebul elementebs.

Page 49: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

49

programa ekranidan Setanil ricxvs Seamowmebs martivia

Tu ara da gamoscems Sesabamis Setyobinebas:

Program SetOfDemo;

const n = 201;

Type mn = set of 2..n;

var m, pm : mn;q, i, k, p : integer;

beginm := [2..n]; pm := [ ];p := 2;Repeat While not (p in m) do p := p + 1; pm := pm + [p]; k := p; Repeat m := m - [k]; k := k + p; Until k > n;Until m = [ ]; Writeln;Repeat Writeln(‘q’); Readln(q);If q in pm then Writeln(q, ‘martivia’) else Writeln (q, ‘ar aris martivi’);UUntil q > 201;Readln;end.

Page 50: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

50

striqonis tipi

STRING (striqoni) tipi farTod gamoiyeneba turbopaskalSi teqstebis dasamuSaveblad. is emsgavseba

erTganzomilebiani masivis simboloebs ARRAY[0..N] OFCHAR. magram am ukanasknelisagan gansxvavebiT, striqonSi

simboloebis raodenoba SeiZleba 0-dan N-mde icvlebodes,

sadac N striqonSi elementTa maqsimaluri raodenobaa.

N-is mniSvneloba ganisazRvreba STRING[N] ti pisgamocxadebiT da SeiZleba Seicavdes 255 simbolos. turbo

paskali saSualebas gvaZlevs ar mivuTiToT N, am SemTxvevaSistriqonis sigrZe CaiTvleba maqsimalurad SesaZlebeli,

anu N = 255.striqoni simboloebis mimdevrobaa. striqonis nebismier

elements SeiZleba mivmarToT zustad iseve, rogorc

erTganzomilebiani masivis elementebs, romelic aRwerilia

Semdegnairad:

ARRAY [0..N] of CHAR;

mag.:

var

st : String;

begin……………………….

If st[5] = ’A’ then………..……….end.

striqonebze SeiZleba ganxorcieldes SeWidebis operacia

Page 51: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

51

ST := ’A’+’B’;

ST := ST + ’C’; {ST Seicavs ‘ABC’}

Tu miRebuli striqonis sigrZe dasaSvebs aRemateba,

maSin zedmeti simboloebi ukuigdeba. ganvixiloT magaliTi,

romelic dabeWdavs mxolod erT simbolos.

var

st : String[1];

begin

st := ’123’;

Writeln(st);

end.

danarCeni moqmedebebi striqonebsa da simboloebze

xorcieldeba qvemoT moyvanili procedurebisa da

funqciebis meSveobiT.

CONCAT (S1, S2, …….,Sn) –STRING tipis funqciaa,iZleva striqons, romelic miRebulia S1, S2, …., Snstriqonebis SeerTebiT.

Tu ST1 = a ; ST2 = b ; STk = z ;CONCAT(ST1, ST2,…..,STk) = ab….z;

COPY (ST, INDEX, COUNT) – STRING tipis funqciaa,romelic ST striqonidan, INDEX nomridan dawyebul COUNTraodenobis simbolos gaukeTebs kopirebas,

COPY (‘Branka’, 3, 4) -> ‘anka’

COPY (‘Branka’, 5, 3) -> ‘ka’

Page 52: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

52

COPY (‘Branka’, 2,1) -> ‘r’

DELETE(ST, INDEX, COUNT) procedura STstriqonidan waSlis COUNT raodenobis simbolos,

dawyebuli INDEX nomridan.ganvixiloT magaliTi, davuSvaT dasawyisSi trg-s aqvs

mniSvneloba ‘janek’

DELETE (trg, 4, 2) -> ‘jan’

DELETE (trg, 6, 1) -> ‘janek’

DELETE (trg, 5, 3) -> ‘jane’

INSERT (SUBST, ST, INDEX) – procedura SUBSTqvestriqons Casvams ST striqonSi, INDEX nomridandawyebuli.

INSERT(‘an’, trg, 2) -> ‘janb’

trg = ’jb’

LENGTH (ST) - mTeli tipis funqciaa, romelic

gvaZlevs ST striqonis sigrZes.LENGTH (‘jb’) ->2

STR (VAL, VAR) - proceduras mTeli an namdvili tipis

ricxvi gadahyavs simboloebis striqonSi.

VAL ariTmetikuli gamosaxulebaa,

VAR - striqonuli cvladis saxelia.

STR (45, strvar) ->’45’

STR (-250, strvar) -> ‘-250’

VAL (ST, X, CODE) - proceduraa, romelsac striqoni

ST gadahyavs mTel an namdvil ricxvSi. Tu gadayvanam

Page 53: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

53

Caiara warmatebiT, CODE Seicavs nuls, xolo Tu gadayvanam

warmatebiT ar Caiara, maSin CODE Seicavs ST striqonisim poziciis nomers, sadac napovni iqneba SecdomiTi simbolo,

carieli adgili striqonSi ar unda iyos.

POS (SUBST, ST) – mTeli tipis funqciaa, romelic STstriqonSi moZebnis SUBST qvestriqonis pirvel Sesvlas

da iZleva poziciis nomers, romlidanac igi iwyeba. Tu

qvestriqoni ar iqneba napovni gvaZlevs nuls.

POS (‘23’, ’123123’) -> 2

POS (‘21’,’123123’) -> 0

POS (‘c’, ’abcabc’) -> 3

UPCASE(CH) – CHAR tipis funqciaa, romelsac CHsimboluri gamosaxuleba gadahyavs beWdviT laTinur

simboloebSi.

ganvixiloT magaliTi, romelSic gamoyenebulia ramdenime

procedura da funqcia :

var

x : Real ;

y : Integer ;

st, st1 : String ;

begin

st := concat (‘12’,’345’); {st striqoni Seicavs 12345}

st1 := copy (st, 3, Length(st)-2); {st Seicavs 345}

Insert(‘-‘, st1, 2); {st1 Seicavs 3-45}

Delete (st, pos(‘2’, st, 3)); {st striqoni Seicavs 15}

Str (p1 : 6 : 2, st); {st striqoni Seicavs 3-

Page 54: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

54

14}

Val (‘3,1415’, x, y); {y Seicavs 2, x darCa ucvleli}

end.=, < >, >, <, >=, <= damokidebulebis operaciebi sruldeba

or striqonze. Sedareba xdeba simboloebis mixedviT.

qvemoT ganxiluli operaciebi mogvcems TRUEmniSvnelobas:

‘’’’<’.’

‘A’ > ’1’

‘Turbo’ < ‘Turbo Pascal’

ganvixiloT magaliTi, romelsac simboluri gamosaxuleba

gadahyavs beWdviT laTinur simboloebSi.

Program ………;

var

k, ch : String; I : Integer;

begin

Readln (ch);

for I := 1 to length(ch) do begin

k[I] := Upcase(ch[I]); Write(k[I]);

end;

Readln;

end.

Page 55: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

55

programa aerTianebs or striqons da beWdavs

ukumimdevrobiT, iTvlis gaerTianebuli striqonis sigrZes

da gamoaqvs ekranze:

Program StringDemo;

var St1, St2 : String[15]; St : String; I, K : Integer;

begin Writeln (‘St1, St2’); Readln (St1, St2);St := Concat (St1,’ ‘, St2);K := Length (St);For I := K Downto 1 Do Write(St[I]); Writeln(‘gaerTianebuli striqonis sigrZea ’, K);Readln;end.

ganxilul programaSi St1, St2 striqonebis maqsimaluri

sigrZea 15 simbolo, rac niSnavs, rom Tu Setanili

striqonebis sigrZe aRemateba aRniSnuls, maSin zedmeti

simboloebi daikargeba. St striqonis sigrZe ar arisgamocxadebuli, amitom igulisxmeba, rom misi sigrZea 255.

Page 56: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

56

obieqturi paskali.

(Object Pascal)

Canawerebi

Canaweris (RECORD) ti ps aqvs gansxvavebuli

monacemebis struqtura. masivis msgavsad Canaweri gamoiyeneba

urTierTdamokidebuli informaciis jgufis Sesanaxad, magram

masivisagan gansxvavebiT Canaweris elementebi ar aris

aucilebeli iyos erTnairi tipis. Canawerebi gamoiyeneba

ZiriTadad iseTi obieqtebis Sesaxeb informaciis Sesanaxad,

rogoricaa adamianebi an adgilebi. CanawerSi SeiZleba

movaTavsoT gvarebi, misamarTebi, telefonis nomrebi, wona.

informaciis mTel jgufs SeiZleba mivceT erTi saxeli,

iseve rogorc masivSi.

ganvixiloT Canaweris tipis martivi magaliTi.

Program MyRecordDemo ; uses forms ;type PersonalRecordType=Record Name : String[30]; PhoneNumber : String[13]; Age : Integer; Sex : Char;end; {PersonalRecordType}var Person : PersonalRecordType;begin Person.Name := ‘Dan Osier’; Person.PhoneNumber := ‘(916)555-1212’; Person.Age :=32;

Page 57: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

57

Person.Sex := ‘M’; Writeln(‘The Person’ ‘ s name is ‘, Person.Name); Writeln (‘The Person’ ’s Phone number is ‘, Person.PhoneNumber); Writeln(‘The Person’ ’ s age is ‘, Person.Age); Writeln(‘The Person’ ’ s sex is ‘, Person.Sex);Readln; {fanjara rom darCes gaxsnili, sanam ar

davaWerT Enter Rilaks}

end. {MyRecordDemo}

programa iwyeba RECORD tipis gamocxadebiT.

monacemTa struqturis es ti pi Sesdgeba ramdenime

nawilisagan. pirveli striqoni PersonalRecordType =Recordambobs, rom gamocxadebis Semdegi striqonebi Seicavs

Canaweris velebs. SemdgomSi CamoTvlilia velebi (maTi

tipebi). aq gvaqvs velebi: Name (gvari, saxeli) String tipis,romlis sigrZea 30 simbolo, PhoneNumber (telefonis

nomeri) String tipis, romlis sigrZea 13 simbolo, Age (asaki)Integer-is tipis da Sex (sqesi) Shar tipis (M an F).Canaweris gamocxadeba mTavrdeba end operatoriT.es gamocxadeba mxolod gansazRvravs Canaweris tips. roca

gamocxaddeba Person cvladi, rogorc PersonalRecordType,mxolod maSin gamoiyofa mexsiereba mocemuli tipisaTvis.

ris Semdegac xdeba monacemebis Setana.

TiToeuli velis Sesatanad jer miTiTebulia Canaweri,

Semdeg ki Canaweris veli. magaliTad gvari da saxelis

Setana xdeba Semdegnairad: Person.Name:=’Dan Osier’. isuCvenebs Delph-s Canaweris romel velTan gvinda mimarTva.

gamotanis operatorSi naCvenebia veli, romelic gvinda

daibeWdos. Tu gamotanis operators mivcemT Semdeg saxes

Writeln(Person), is ver amoicnobs, Tu romeli veli dabeWdos.

gamoviyenoT masivi, romelic Sedgeba Canawerebisagan.

magaliTad Tu masivs gamovacxadebT, rogorc Array[1..3] ofPersonalRecordType, es niSnavs, rom es masivi Sedgeba sami

Page 58: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

58

Canawerisagan. TiToeuli es Canaweri Seicavs informacias

pirovnebis Sesaxeb, rogoricaa gvari, telefonis nomeri

da ase Semdeg.

ganvixiloT Canaweris tipis martivi magaliTi.

Program MyRecordDemo ; uses forms ;type PersonalRecordType=Record Name : String[30]; PhoneNumber : String[13]; Age : Integer; Sex : Charend; {PersonalRecordType}MyArrayType=array [1..3] of PersonRecordType;var PersonArray : MyArrayType;begin PersonArray[1].Name := ‘Dan Osier’; PersonArray[1].PhoneNumber := ‘(916)555-1212’; PersonArray[1].Age :=32; PersonArray[1].Sex := ‘M’;

PersonArray[2].Name := ‘Susie Smith’; PersonArray[2].PhoneNumber := ‘(916)555-9999’; PersonArray[2].Age :=38; PersonArray[2].Sex := ‘F’;

PersonArray[3].Name := ‘Pat’; PersonArray[3].PhoneNumber := ‘(916)555-7766’; PersonArray[3].Age :=30; PersonArray[3].Sex := ‘M’;

Page 59: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

59

Writeln(‘pirveli TanamSromlis saxeli‘, PersonArray[1].Name); Writeln (‘telefonis nomeri ‘, PersonArray[1].PhoneNumber); Writeln(‘asaki‘, PersonArray[1].Age); Writeln(‘sqesi ‘, PersonArray[1].Sex);

Writeln(‘meore TanamSromlis saxeli ‘, PersonArray[2].Name); Writeln (‘telefonis nomeri ‘, PersonArray[2].PhoneNumber); Writeln(‘asaki‘, PersonArray[2].Age); Writeln(‘sqesi ‘, PersonArray[2].Sex);

Writeln(‘mesame TanamSromlis saxeli ‘, PersonArray[3].Name); Writeln (‘telefonis nomeri ‘, PersonArray[3].PhoneNumber); Writeln(‘asaki‘, PersonArray[3].Age); Writeln(‘sqesi ‘, PersonArray[3].Sex);

Readln; {fanjara rom darCes gaxsnili, sanam ar davaWerT

Enter Rilaks}

end. {MyArrayRecordDemo}

ganxilul magaliTSi PersonArray cvladi warmoadgens

Canaweris ti pis masivs . am saxiT operatori

PersonArray[3].Name := ’Pat’, miuTiTebs, rom PersonArraycvladSi mesame elementis Name vels mieniWos ‘Pat’mniSvneloba.

masivis tipis Canaweris gamoyeneba mouxerxebelia, rodesac

Sesatani gvaqvs didi moculobis informacia, magaliTad

informacia TanamSromlebis Sesaxeb.

ganvixiloT Canaweris tipis kidev erTi magaliTi:

Program MyRecord2demo ;uses

Page 60: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

60

Forms;type AddressType=record Street : String [50]; City : String [20]; State : string [2]; ZipCode : String [10]end; {addressType}

PersonType = record LastName : String[20]; FirstName : String [10]; EmployeeNumber : Integer; HomeAddress : AddressType; WorkAddress : AddressType;end; {PersonType}

var Employee : PersonType;begin Employee.LastName := ‘Osier’; Employee.FirstName := ‘don’; Employee.EmployeeNumber := 16253;

Employee.HomeAddress.Street := ‘1313 Your St.’; Employee. HomeAddress.City := ‘MyTown’; Employee. HomeAddress.State := ‘Ca’; Employee. HomeAddress.ZipCode := ‘95630-0011’;

Employee.WorkAddress.Street := ’14 Big Business Road.’; Employee.WorkAddress.City := ‘NoOzone’; Employee.WorkAddress.State := ‘CA’; Employee.WorkAddress.ZipCode := ‘95636-2211’;

Page 61: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

61

Writeln (Employee.LastName); Writeln(Employee.FirstName); Writeln(Employee. EmployeeNumber);

Writeln (Employee.HomeAddress.Street); Writeln (Employee.HomeAddress.City); Writeln (Employee.HomeAddress.State); Writeln (Employee.HomeAddress.ZipCode);

Writeln (Employee.WorkAddress.Street); Writeln (Employee.WorkAddress.City); Writeln (Employee.WorkAddress.State); Writeln (Employee.WorkAddress.ZipCode);

Readln; {fanjara rom darCes gaxsnili, sanam ar davaWerT

Enter Rilaks}

end. {MyRecord2Demo}

Canaweri PersonType Secavs or cvlads: es aris

HomeAddress da WorkAddress, orive isini AAddressTypetipisani arian. cvladze mimarTvisaTvis saWiroa mieTiTos:

cvladis saxeli (Employee), wertili, velis saxeli

(HomeAddress), wertili, da radganac HomeAddress arisaseve Canaweri, mieTiTeba misi veli Street. gamotanisdrosac mi eTiTeb a a n alogiuri mi mde vrobiT :

Employee.HomeAddress.StreetimisaTvis, rom es Canaweri iyos ufro kompaqturi, gamoiyeneba

With operatori. aRniSnuli operatoris gamoyenebiT

programa miiRebs Semdeg saxes:

Page 62: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

62

Program MyRecord3demo ;uses Forms;type AddressType=record Street : String [50]; City : String [20]; State : string [2]; ZipCode : String [10]end; {addressType}

PersonType = record LastName : String[20]; FirstName : String [10]; EmployeeNumber : Integer; HomeAddress : AddressType; WorkAddress : AddressType;end; {PersonType}

var Employee : PersonType;begin With Employee do begin {With operatoris dasawyisi} LastName := ‘Osier’; FirstName := ‘don’; EmployeeNumber := 16253; end; {With Employee-s dasasruli}

With Employee.HomeAddress do begin {with operatoris dasawyisi} Street := ‘1313 Your St.’; City := ‘MyTown’;

Page 63: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

63

State := ‘Ca’; ZipCode := ‘95630-0011’; end; {with Emloyee.HomeAddress dasasruli}

With Employee.WorkAddress do begin { with dasawyisi} Street := ’14 Big Business Road.’; City := ‘NoOzone’; State := ‘CA’; ZipCode := ‘95636-2211’; end; {with Employee.WorkAddress dasasruli}

With Employee do begin {with dasawyisi} Writeln(LastName); Writeln(FirstName); Writeln(EmployeeNumber);end; {with Employee dasasruli}

With Employee.HomeAddress do begin {with dasawyisi}

Writeln (Street); Writeln (City); Writeln (State); Writeln (ZipCode);end; {with Employee.HomeAddress dasasruli}

With Employee.WorkAddress do begin {with dasawyisi} Writeln (Street); Writeln (City); Writeln (State);

Page 64: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

64

Writeln (ZipCode);end; {with Employee.WorkAddress dasasruli}

Readln; {fanjara rom darCes gaxsnili, sanam ar davaWerT

Enter Rilaks}

end. {MyRecord3Demo}

ti pizebuli mudmiva.

tipizebuli mudmiva umjobesia warmovadginoT, rogorc

cvladi mocemuli sawyisi mniSvnelobiT. SegviZlia

ganvsazRvroT tipizebuli mudmiva da mivceT mas mniSvneloba

erT operatorSi. magaliTad:

ConstMax : Integer=88;Name : String[10]=’Dan’;Digit : Set of ‘0’..’9’;

ganvixiloT programa, romelSic gamoyenebulia tipizebuli

mudmiva:

Program TypedConstantDemo;uses Forms;

const MyName : String = ‘Dan Osier’;begin Writeln(‘Cemi saxelia’, MyName); MyName := ‘Jim Fisher’; Writeln(‘Cemi axali saxelia’, MyName);Readln;end.

Page 65: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

65

es programa iwyeba MyName tipizebuli mudmivas

gamocxadebiT, romelic String tipisaa da misi sawyisimniSvnelobaa ‘Dan Osier’. dasawyisSi daibeWdeba MyName-is mniSvneloba, imis dasadastureblad, rom tipizebuli

mudmivasaTvis SesaZlebelia sawyisi mniSvnelobis miniWeba.

Semdgom MyName – mniSvneloba icvleba ‘Jim Fisher’ – zeda is ibeWdeba. es niSnavs, rom tipizebuli mudmivas

mniSvneloba SeiZleba ASeicvalos programis Sesrulebis

procesSi.

CamoTvliTi ti pi.

CamoTvliTi tipi gamoiyeneba programis kodebis

wakiTxvis gasaumjobeseblad. davuSvaT, vwerT SuqniSnis

marTvis programas da gvinda aRvweroT wiTeli, yviTeli

da mwvane feri. TiToeul fers SegviZlia mivaniWoT Tavisi

nomeri. davuSvaT: 1 – wiTeli; 2 – yviTeli; 3 – mwvane.

viciT, rom 3 aRniSnavs mwvanes, magram sxvisTvis es iqneba

gaugebari. gamosavali aris CamoTvliTi tipis gamoyeneba.

CamoTvliTi ti pis elementebis raodenoba ar unda

aRematebodes 255-s.

ganvixiloT programa CamoTvliTi tipis gamoyenebiT.

Program MyEnumeratedDemo ;

uses forms ;

typeStopLightColors = (Red, Yellow, Green) ;

varMyLight : StopLightColors;

Page 66: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

66

begin

MyLight := Red; Writeln(‘Cemi mimdinare feria-’, Integer(MyLight)); MyLight := Green; Writeln(‘axali feria’, Integer(MyLight));Readln;end.

ganxilul programaSi gvaqvs CamoTvliTi ti pi

StopLightColors , romelsac aqvs sami mniSvneloba: Red,Yellow, Green.

variantis ti pi.

variantis tips 16 baitiani struqtura aqvs , romelic

inaxavs ara marto mniSvnelobas, aramed misi tipis Sesaxeb

informaciasac.

ganvixiloT programa variantis tipis gamoyenebiT:

Program MyVariantDemo ;

uses Forms ;

var MyInput : Variant ;

begin MyInput := 3.5555; Writeln (MyInput);

MyInput := ‘ gamarjobaT, me mqvia Dan’;

Page 67: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

67

Writeln (MyInput);

MyInput := 4; Writeln (MyInput); Readln;end.

am martiv programaSi gamoyenebulia MyInput cvladi,

romelic variantis ti pisaa. Tavidan mas vaniWebT

3.5555(namdvili tipi) ricxviT mniSvnelobas. romelic

gamogvaqvs ekranze. Semdeg MyInput cvladSi ganTavsdeba

striqoni: ‘gamarjobaT, me mqvia Dan’. es Semadgenloba kvlav

gamova ekranze. es miuTiTebs, rom MyInput – ma SeiZleba

Seinaxos striqonic. bolos MyInput cvlads eniWeba

mniSvneloba 4(mTeli ricxvi), es Semadgenlobac gamodis

ekranze.

variantis tipis fasi mis moqnilobaSia. masSi SeiZleba

moTavsdes TiTqmis yvela tipi. Tumca obieqturi paskali

mkacrad ti pizebuli enaa, magram variantis ti pi

gamonaklisis saSualebas iZleva.

ganStoeba

Object Pascal-is erT-erTi Tviseba aris programisganStoeba. es aris saWiroebis SemTxvevaSi programis sxva

nawilze gadasvlis SesaZlebloba. es SeiZleba

ganxorcieldes sxvadasxva gziT :

� Goto� Break� Continue� Exit

Page 68: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

68

� Halt� RunError

Goto

es operatori saSualebas iZleva gadavideT programis

nebismier striqonze.

ganvixiloT magaliTi :

Program GotoDemo ;Uses Forms ;var Ansver : String ; Label ThePlace ;begin ThePlace : Writeln (‘ gamarjobaT !’) ; Writeln (‘gnebavT gavimeoroT kidev ?’) ; Readln (Answer) ; if (Answer = ‘y’) or (Ansver = ‘Y’) Then Goto ThePlace ;Writeln (‘programis dasrulebisaTvis daaWireT enter-s”) ;Readln ;end.

programa acxadebs Wdes ThePlace saxeliT. Wde

gamocxaddeba sxva monacemebis aRweris Semdeg (rogoricaa

Var, Type da a.S.)Sesruldeba “gamarjobaT~ sityvis gamotana, Semdeg gamodis

SekiTxva “gindaT Tu ara gaimeoroT ?~, Tu pasuxi aris

“y~(yes) an “Y~ , maSin Sesruldeba ThePlace operatori.winaaRmdeg SemTxvevaSi Sesruldeba bolo operatorebi

Writeln da Readln. Goto operators Zalian iSviaTad iyeneben,

Page 69: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

69

radgan arsebobs sxva xerxebi am operatoris Sesacvlelad.

Break.

davuSvaT moqmedeba xdeba ciklis operatorSi da

Seiqmna ciklidan gamosvlis aucilebloba. amis

SesaZleblobas iZleva Break operatori.

Program BreakDemo ;

uses Forms ;

var I : Char ;begin I : =‘ ‘ ; While TRUE Do Write ( ‘muSaobis damTavrebisaTvis SeitaneT q an Q’) ; Readln (I) ; If (I=’q’) or (I=’Q’) Then Break ;end ;{ Break brZanebis Sesrulebas gadmovyavarT aq}

Writeln (‘daaWireT enter-s programis dasrulebisaTvis’) ;

Readln ; {enter-is daWeramde rom fanjara Ria iyos} ;end. {BreakDemo}

pirobis Tanaxmad cikli usasrulod unda gagrZeldes,

radgan Sesamowmebeli piroba yovelTvis WeSmaritia.

aqedan gamosavali aris Break operatori. pirobis

operatori amowmebs daWerili iyo Tu ara “q~ an “Q~,

Page 70: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

70

Tu iyo daWerili, maSin sruldeba Break

Continue

SeiZleba programaSi gvqondes situacia, rodesac

gvinda garkveul adgilas Sewydes moqmedeba da gadavides

programis sxva adgilas. am dros gamoiyeneba Continueoperatori.

ProgramContinueDemo ;uses Forms ;var I : Char ; Count : Integer ;begin I :=’ ‘ ; For Count :=1 to 100 Do begin Write (‘Seitane simbolo :’) ;

Readln (I) ; Writeln (‘damTvleli Count tolia : ‘, Count) ; If (I=’q’) or (I=’Q’) Then Continue ; Writeln (‘es Sesruldeba mxolod maSin Tu

SevitaneT ‘q’ an ‘Q’) ;end ;Writeln (‘da aWireT enter-s program is

dasrulebisaTvis’) ;

Readln ;end.

es programa cikls Seasrulbs 10-jer. ciklis SigniT

Cven gvaqvs moTxovna simbolos Setanaze da Setanili

Page 71: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

71

simbolo moTavsdeba I cvladSi. Tu davaWerT “q~ an“Q~ Rilaks, amuSavdeba Continue operatori da daabrunebsmarTvas For ciklze, romelic For ciklSi Count cvlads

daumatebs erT erTeuls da gaagrZelebs Semdeg iteracias.

ExitExit operatori gamoiyeneba programis mimdinare

blokidan gamosasvlelad. Tu es bloki aris ZiriTadi

programa, maSin Exit operatori wyvets mis muSaobas, Tumimdinare blokia CarTuli, maSin Exit operatori gadascemsmarTvas gare blokis operators, romelic im operatoris

momdevnoa, romelzc iyo gadacemuli marTva am CarTul

blokSi. Tu mimdinare bloki procedura an funqciaa, maSin

gamoZaxebuli blokis Sesruleba Sewydeba da marTva

gadaecema misi gamoZaxebis operatoris momdevno operators

Program Exitdemo; uses Forms ;var I : Char ;begin Repeat Write (‘Seitan eT si m bolo Q muSaobisdamTavrebisaTvis) ;

Readln (I) If I=’Q’ then Exit ;Until FALSE ;Writeln (‘es operatori arasodes ar sruldeba’) ;

end.

es programa qmnis usasrulo cikls, romelic mTavrdeba

Page 72: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

72

Until False operatoriT. ciklis damTavrebisaTvis unda

SevitanoT “Q~ simbolo, am SemTxvevaSi amoqmeddeba Exitoperatori.

Halt

Halt operatori programis Sesrulebis Sewyvetis

saSualebas iZleva. es operatori SeiZleba gamoviyenoT

Zalian aucileblobis SemTxvevaSi.

Program HaltDemo ;uses Forms ;var I : Char ;begin Repeat Write (‘dasrulebisaTvis daaWireT Q – s’) ; Readln (I) ; If I=’Q’ then Halt ;Until FALSE ;Writeln (‘es operatori arasodes ar Sesruldeba’) ;

end.

RunError

programis nebismier adgilas Cven SegviZlia

SevasruloT brZaneba RunError, mTeli tipis parametriT.

es Sewyvets programis muSaobas da gamoitans ricxvs

rogorc Secdomis nomers, romelic iwvevs Sewyvetas.

Page 73: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

73

Program RunErrorDemo ;uses Forms ;var I : Char ;begin repeat Write ( ‘dasrulebisaTvis SeitaneT Q simbolo’) ;

Readln (I) ; If I=’Q’ then RunError (2400 ;Until False ;Writeln (‘es operatori arasodes ar Sesruldeba’) ;

end.

roca momxmarebeli Seitans Q simbolos, programa

gamoscems 240-e nomer Secdomas.

failis ti pi

ganxiluli monacemebis tipebisaTvis damaxasiaTebelia,

is rom maTTvis garkveulia komponentTa raodenoba. es

saSualebas iZleva, jer kidev programis Sesrulebamde,

aRweris mixedviT gamoiyos manqanis mier mexsierebis saWiro

moculoba monacemebis mniSvnelobis Sesanaxad. magram

arsebobs amocanebis garkveuli klasi da garkveuli situacia,

rodesac komponentebis raodenoba winaswar SeuZlebelia

ganisazRvros, gairkveva mxolod amocanis amoxsnis procesSi

anu programis Sesrulebisas, amisaTvis SemoRebul iqna

specialuri tipi, romelic warmoadgens erTi da imave

ti pis elementebis nebismier mimdevreobas, Tanac am

mimdevrobis sigrZe winaswar ganusazRvrelia da igi

Page 74: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

74

konkretdeba mxolod programis Sesrulebis procesSi. es

tipi aris – failis tipi. pirobiTad faili SeiZleba

warmovidginoT rogorc lenta, romelsac aqvs dasawyisi,

xolo dasasruli ar aris dafiqsirebuli. failis elementebi

am lentze Caiwereba mimdevrobiT, erTmaneTis gverdiT.

F {F1, F2, F3 ………………..}

sadac F failis saxelia, F1, F2, F3 - misielementebi. faili gvagonebs magnitur lentas, romlis

dasawyisi Sevsebulia melodiis CanawerebiT, xolo bolo

jerjerobiT Tavisufalia. imis analogiurad, rom axali

melodiis Canawerebi SeiZleba moTavsdes magnitofonis

lentis boloSi, aseve failis axali elementebi SeiZleba

Caiweros mxolod mis boloSi.

failuri cvladi paskalSi, es aris failuri tipis

nebismieri cvladi. paskalSi aris failebis sami klasi:

teqsturi, tipizebuli da aratipizebuli faili, amitomac

faili, moicema (aRiwereba) Semdegi sami saxiT:

Type <saxeli> = FILE OF <tipi>; (1) <saxeli> = TEXT; (2) <saxeli> = FILE; (3)

<saxeli> - fai.lis saxelia;

FILE, OF, TEXT – koduri sityvebia (faili, dan, teqsti).

<tipi> - nebismieri tipia failis tipis garda.

(1)- saxiT aRwerilia tipizebuli faili;

(2)- teqsturi;

(3)-aratipizebuli faili;

nebismieri faili warmoadgens elementebis wrfiv

mimdevrobas, TiToeuls aqvs Tavisi tipi, failis TiToeul

elements Tavisi nomeri. pirveli elementi iTvleba nulovan

Page 75: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

75

elementad.

rogorc vxedavT, faili informaciis erTobliobaa,

romelic SeiZleba damaxsovrebul da aRdgenil iqnes

diskidan. failebSi SeiZleba Seinaxos programis teqsti,

dokumenti, Sesasruleblad momzadebuli programebi da

a.S.

TiToeul fails aqvs saxeli, romelic Sesdgeba ori

nawilisagan: saxeli da gafarToeba. saxeli Sedgeba 1-dan

8-simbolosagan, gafarToeba iwyeba wertilidan da Sedgeba

1 - dan 3 – simbolosagan. magaliTad:

command.compaper.chiautoexec.bat

Tumca gafarToeba araaucilebelia, magram igi aRwers

failis Sinaarss, amitom misi gamoyeneba sakmaod

moxerxebulia, bevri programa TviTon adgens failis

gafarToebas.

Cveulebriv, failebze mimarTva xorcieldeba

mimdevrobiT, anu roca elementi waikiTxeba an Caiwereba

failis mimdinare pozicia gadaadgildeba failis rigiT

momdevno elementisaken. Tumca ti pizebuli da

aratipizebuli failebisaTvis SeiZleba organizebul iqnas

pirdapiri mimarTva.

procedurebi da funqciebi failebTan

muSaobisaTvis

failuri cvladi, gamoyenebamde unda daukavSirdes gare

fails AASSIGNN proceduris gamoZaxebiT. gare failad

iTvleba diskze dasaxelebuli faili, magram igi SeiZleba

warmoadgendes mowyobilobasac, magaliTad: klaviaturas,

displeis, printers. gare failSi inaxeba failSi Cawerili

Page 76: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

76

informacia anu isini warmoadgenen failidan wakiTxuli

informaciis wyaroebs.

roca kavSiri gare failTan damyarebulia, Setana-

gamotanis operaciebisaTvis mis mosamzadeblad failuri

cvladi unda gaixsnas. arsebuli faili SeiZleba gaixsnas

RESET proceduris meSveobiT, xolo axali faili SeiZleba

Seiqmnas da gaixsnas REWRITE proceduris meSveobiT.teqsturi failebi, romlebic gaxsnili arian RESETproceduriT, misawvdomia mxolod wasakiTxad, xolo

teqsturi failebi, romlebic gaxsnilni arian REWRITEproceduriT, misawvdomia mxolod Casawerad, tipizirebuli

da ara tipizirebuli failebisaTvis dasaSvebia rogorc

wakiTxva, aseve Cawera miuxedavad imisa, isini gaxsnili

arian RESET Tu REWRITE procedurebiT. rogorc adre avRniSneT, failze mimarTva xorcieldeba

mimdevrobiT, anu roca elementi waikiTxeba stanadartuli

procedura READ - iT an Caiwereba standartuli

procedura WRITE - iT, failis mimdinare pozicia

gadaadgildeba failis Semdeg elementze. Tumca tipizebul

da aratipizebul failebze SeiZleba organizebuli iqnas

pirdapiri mimarTva SEEK standartuli proceduris

meSveobiT, romelic failis mimdinare pozicias

gadaaadgilebs mocemul elementze.

failSi mimdinare poziciisa da mimdinare zomis

gansazRvrisaTvis SeiZleba gamoyenebul iqnas standartuli

funqciebi: FILEPOS da FILESIZE. rodesac programa daasrulebs failis damuSavebas, is

unda daixuros CLOSE standartuli proceduriT . failis

sruli daxurvis Semdeg failuri cvladi SeiZleba

daukavSirdes sxva gare fails.

moviyvanoT im procedurebisa da funqciebis sruli sia,

romlebic gamoiyeneba yvela failisaTvis:

Page 77: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

77

procedura Assign - failuri cvlads acnobebs gare

failis saxels;

procedura ChDir - cvlis mimdinare katalogs

procedura Close - daxuravs gaxsnil fails;

funqcia Eof (End_of_File) - fails aZlevs dasrulebul

mdgomareobas;

procedura Erase - Slis gare fails;

procedura GetDir - gvaZlevs mimdinare katalogs mocemul

diskze;

procedura MkDir - qmnis qvekatalogs;

procedura Rename - gare failis saxelis gadarqmeva;

procedura Reset - xnis arsebul fails;

procedura Rewrite - qmnis da xsnis axal fails;

procedura RmDir - Slis cariel qvekatalogs.

Page 78: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

78

teqsturi faili

procedurebi da funqciebi teqsturi failebis

damuSavebisaTvis

avRniSnoT rom turbo paskalSi teqsturi tipis faili

(Text) gansxvavdeba simboluri tipis failisagan.

teqsturi failis gaxsnisas gare faili

interpretirdeba gansakuTrebuli saxiT; iTvleba, rom is

warmoadgens simboloebis mimdevrobas, romlebic

dajgufebulia striqonebSi, sadac TiToeuli striqoni

mTavrdeba striqonis dasasrulis simboloTi (End_of_Line),igi warmoadgens axal striqonze gadasvlis simbolos.

teqsturi failisaTvis arsebobs wakiTxvisa da

Caweris (Read da Write) operaciis specialuri saxe

romelic saSualebas iZleva waikiTxos da Caiweros

mniSvnelobebi, romelTa tipi gansxvavebulia simboluri

tipisagan. aseTi mniSvneloba avtomaturad gadaiyvaneba

simbolur warmodgenaSi da piriqiT.

mag: Read (f , i), sadac i aris mTeli tipis cvladi,

kiTxulobs cifrebis mimdevrobas, akeTebs am mimdevrobis

aTobiT ricxvebad interpretirebas da inaxavs f -Si. rogorc adre aRvniSneT aris teqsturi tipis ori

standartuli cvladi: INPUT da OUTPUT. INPUTmisawvdomia mxolod failis wasakiTxad. igi dakavSirebulia

operaciuli sistemis Setanis standartul failTan (es

klaviaturaa.). xolo standartuli failuri cvladi

OUTPUT misawvdomia mxolod Casaweri failisaTvis, igi

dakavSirebulia operaciuli sistemis gamotanis standartul

failTan (es aris displei.). programis Sesrulebis win

faili INPUT da OUTPUT avtomaturad ixsneba, iseTiTqos yofiliyos Sesrulebuli Semdegi operatorebi:

Page 79: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

79

Assign ( Input, “); Reset ( Input ); Assign (Output,”) ; Rewrite ( Output ); analogiurad, programis muSaobis dasrulebisas es

failebi avtomaturad ixureba.

sia, romelic moyvanilia mocemul nawilSi, zogierTi

standartuli procedurebisaTvis ar moiTxovs parametris

saxiT failuri cvladis cxadad Cvenebas. Tu es parametri

gamotovebulia, maSin igulisxmeba Input an Output, imismixedviT procedura an funqcia orientirebulia Setanaze

Tu gamotanaze.

mag: Read(X) Seesabameba Read ( Input, X) Write(X) Seesabameba Write(Output, X) Tu qvemoT moyvanili romelime proceduris an funqciis

gamoZaxebisas iZleviT fails, maSin es faili unda

daukavSirdes gare fails Assign proceduris meSveobiTda gaixsnas Reset, Rewrite an Append procedurebiT. Tu gamotanaze orientirebuli proceduris an

funqciisaTvis uCvenebT fails, romelic gaxsnili iyo ResetproceduriT, gamova Setyobineba Secdomaze. analogiuri

Secdoma iqneba, Setanaze orientirebuli proceduris an

funqciisaTvis davasaxeloT faili, romelic gaxsnilia

Rewrite an Append procedurebiT. procedura Append - xsnis arsebul fails dasamateblad;

procedura Eoln - fails aZlevs striqonis dasasrulis

mdgomareobas (End_of_Line); procedura Fluch - asufTavebs gamomavali failis

bufers;

procedura Read - teqsturi failidan waikiTxavs erT

an met mniSvnelobas da mianiWebs erT an met cvlads;

procedura Readln - asrulebs igive moqmedebas, rasac

Read, Semdeg akeTebs gamotovebas failis Semdegi striqonis

dawyebamde.

funqcia SeekEof - fails aZlevs failis dasasrulis

Page 80: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

80

funqcia SeekEoln - fails aZlevs striqonis dasasrulis

mdgomareobas;

procedura SetTextBuf - teqsturi failisaTvis niSnavs

Setana gamotanis bufers;

procedura Write - teqstur failSi Cawers erT an met

mniSvnelobas;

procedura Writeln - asrulebs igive funqcias, rasac

Write, Semdeg fails amatebs striqonis dasasrulis niSans

(end_of_line).

programaSi Seqmnilia ori faili F1 da F2, aqedanerTSi Setanilia ricxvebi 2-dan 5-mde, meoreSi ki

Sesabamisad maTi faqtorialebi, programa kiTxulobs

monacemebs failebidan da gamoaqvs ekranze:

Program FileDemo;

var X, Y : Integer; F1, F2 : File Of Integer;

begin Assign(F1, ‘Cifr’); Assign (F2, ‘Fact’); Rewrite (F1); Rewrite (F2); X := 1; Y := 1;Repeat X := X + 1; Y := Y * X; Write (F1, X); Write (F2, Y);

Page 81: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

81

Until X > 5;

Close(F1); Close(F2);

Reset (F1); Reset (F2);Repeat Read (F1, X); Read (F2, Y); Writeln(‘ricxvi=’, X, ‘ ‘, ‘faqtoriali=’, Y);Until Eof (F1);Close (F1); Close (F2);Readln;end.

programa teqstur failSi iTvlis simboloebis

raodenobas:

Program TextFileDemo;Var F : Text; S : String; sum : Longint;begin Writeln(‘Seitane failis saxeli’);

Readln (S); Assign (F, S); Reset (F); sum := 0;Repeat Readln (F, S); sum := sum + Length (S);Until Eof (F);Close (F);Writeln (‘sum=’, sum);Readln; end.

Page 82: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

82

mdgomareobas (End_of_File);

tipizebuli da aratipizebuli failebi.

procedurebi da funqciebi ti pizebuli da

arati pizebuli failebis damuSavebisaTvis.

aratipizebuli failebi warmoadgenen dabali donis

Setana - gamotanis arxebs, romlebic ZiriTadad gamoiyeneba

diskze arsebul nebismier failze pirdapiri mimarTvisaTvis.

(failis tipisa da stuqturis miuxedavad). nebismieri

aratipizebuli faili aRiwereba sityviT File, atributebisgareSe.

mag., var datefile : file;arati pizebuli failebisaTvis Reset da RewriteprocedurebSi dasaSvebia damatebiTi parametris Cveneba, es

SeiZleba iyos Canaweris sigrZe. Tu igi ar aris naCvenebi

igulisxmeba 128 baiti.

Canaweris misaRebi (mizanSewonili) sigrZea 1,

ramdenadac es erTaderTi mniSvnelobaa, romelic saSualebas

iZleva zustad gamovsaxoT nebismieri failis zoma. (roca

Canaweris sigrZea 1, maSin failebi ver iqneba arasruli

Canawerebi anu Canaweri naklebi sigrZiT).

aratipizebuli failebisaTvis dasaSvebia gamoyenebul

iqnes nebismieri standartuli procedura, romelic

gamoiyeneba tipizebul failebSi, garda Read da Writeprocedurebisa. amaT nacvlad aq gamoiyeneba Sesabamisad

procedurebi:

BlockRead da Blockwrite, romelic monacemebis maRali

siswrafiT gadacemis saSualebas iZleva;

procedura BlockRead - failidan kiTxulobs erT an

met Canawers;

procedura BlockWrite - cvladidan failSi Cawers

Page 83: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

83

erT an met Canawers;

teqsturi failis garda, nebismieri tipis failuri

cvladisaTvis dasaSvebia Semdegi procedurebisa da

fuqciebis gamoyeneba:

FilePos - gvaZlevs failis mimdinare pozicias;

FileSize - gvaZlevs failis mimdinare zomas;

Seek - iZlva failze pirdapiri mimarTvis saSualebas;

Truncate - CamoaWris fails mocemul poziciamde.

procedurebi.

ganvixiloT Wadrakis dafis gamosaxulebis beWdvis programa.

Program ChekerPrint ;uses Forms ;begin Writeln (‘ | | ‘) ; Writeln (‘ ——`) ; Writeln (‘ | | ‘) ; Writeln (‘——`) ; Writeln (‘ | | ‘) ; Writeln (’daaWireT enter – s programis dasrulebisaTvis’);

Readln; end.rogorc vxedav erTi da igive brZanebis ganmeoreba gviwevs

ramodenimejer. vnaxoT am dros ra rols iTamaSebs

procedura.

Program checkerPrint ;uses Forms ;{yvela gamocxadeba const, var, type ganTavsdeba aq} Procedure DoVerticals ; begin

Page 84: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

84

Writeln (‘ | | | | |‘) ; end ; Procedure DoHorizontals;begin Writeln (‘————‘) ; end ;

begin DoVerticals ; DoHorizontals ; DoVerticals ; DoHorizontals ; Writeln (‘daaWireT enter – s programis dasrulebisaTvis’) ;

readln ; {enter – is daWeramde Ria rom iyos fanjara} ;end.

programaSi Seqmnilia ori procedura, erTi

horizontaluri xazebis dasabeWdad, meore ki –

vertikaluri xazebis dasabeWdad.

proceduris Sesaqmnelad unda davweroT proceduris

saTauri, romelic Sedgeba Procedure sityvisagan da misiunikaluri saxelisagan, Cvens SemTxvevaSi es aris DoVerticals,DoHorizontals. procedura aris miniprograma da igiveformati aqvs, rac Cveulebriv programas. saTauris Semdeg

SeiZleba gvqondes const, var da a.S. amis Semdeg modisSesasrulebeli nawili begin…end. proceduris gamoZaxebaxdeba ZiriTadi programidan misi unikaluri saxelis

mixedviT. roca proceduris Sesruleba damTavrdeba, marTva

gadaecema proceduris gamoZaxebis Semdgom proceduras.

imisaTvis rom procedura iyos ufro moqnili,

proceduras unda gadaeces damatebiTi monacemebi. es

xorcieldeba proceduraze parametrebis gadacemiT.

Page 85: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

85

DoHorizontals procedura For…Do ciklis

gamoyenebiT :

Procedure DoHorizontals (HowManyTimes : Integer) ;var Count : Integer ;begin for Count := 1 to HowManyTimes do Writeln (‘—————‘) ;Writeln(‘ programis dasrulebisaTvis daaWireT enter

Rilaks‘);Readln; end .es procedura Seicavs HowManyTimes cvlads. kods

(HowManyTimes : Integer) hqvia formaluri parametrebis

sia. es aris monacemTa sia, romelic gadaecema proceduras

yoveli gamoZaxebisas, tipis CvenebiT. Cvens SemTxvevaSi

cvladi Integer-is tipisaa, romelic gansazRvravs Tu

ramdenjer unda Sesruldes Writeln operatori. DoHorizontalsproceduras aqvs mTeli tipis cvladi – HowManyTimes,romelic gamoiyeneba proceduris SigniT. mocemul

SemTxvevaSi proceduras DoHorizontals ver gamoviZaxebTmxolod saxeliT, aqve unda vaCvenoT faqtiuri parametrebi.

formaluri da faqtiuri parametrebi erTnairi tipis

unda iyos.

Program ParamDemo ;uses Forms ;var Number : Integer ;Procedure DoHorizontals (HowManyTimes : Integer) ;var Count : Integer ;begin

Page 86: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

86

for Count := 1 to HowManyTimes do Writeln(‘————‘) ;end ; {DoHorizontals proceduris dasasruli} ;

begin Writeln (‘ramdeni horizontaluri xazis dabeWdva

gnebavT?’) ;

Readln (Number) ;DoHorizontals (Number) ;Writeln (‘ da aWireT enter-s program is

dasrulebisaTvis’) ;

Readln ;end.

rodesac es programa DoHorizontals iZaxebs,proceduras gadaecema Number cvladi. es cvladi faqtiuri

parametria. Number-is Semcveloba gadakopirdeba

DoHorizontals proceduraSi da moTavsdeba HowManyTimescvladSi. rodesac procedura daamTavrebs muSaobas,

HowManyTimes cvladSi monacemebi qreba, vinaidan es

lokaluri cvladebi nadgurdebian proceduridan

gamosvlisas.

Tu proceduraSi gamoyenebulia ramdenime parametri,

mniSvnelovania maTi mimdevrobis dacva.

ganvixiloT programa proceduraze ramdenime

parametris gadacemiT :

Program JunkDemo ;uses Forms ;var UsesNumber : Integer ; UsersString : String ;Procedure Junk (Number : Integer ; Stuff : String) ;begin

Page 87: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

87

Writeln (‘Number-is raodenoba udris’ , Number) ; Writeln(‘String striqoni udris’, Stuff) ;end ; {Procedure Junk} ;

begin Write (‘SeitaneT Tqveni striqoni’) ; Readln (UsersString); Write (‘SeitaneT ricxvi’) ; Readln (UsersNumber) ; Junk (UsersNumber, UsersString) ;Writeln ;Readln ;end.

es programa Junk proceduras gadascems or

arguments mimdevrobis dacviT. SeiZleba gadavceT ara

marto cvladi, aramed simboluri mudmivac. magaliTad

gamoZaxebas SeiZleba hqondes saxe : Junk (3,’Hello World‘).

funqciebi

funqcia proceduris msgavsia im TvalsazrisiT, rom

masSic saWiroa parametrebis gadacema. gansxvaveba imaSia,

rom funqcia abrunebs mxolod erT mniSvnelobas. funqcia

abrunebs am mniSvnelobas TviTon funqciis saxeliT.

ganvixiloT kvadratSi ayvanis funqciis magaliTi,

sadac Cans rogor xdeba funqciis gamoZaxeba

Program FunctionDemo ;uses Forms ;var

Page 88: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

88

UserInput : Integer ;begin Write(‘SeitaneT ricxvi, romlis kvadratSi ayvana

gsurT’) ;

Readln (UserInput) ; Writeln (UserInput, ‘ kvadratSi tolia’, Sqr

(UserInput)) ; Writeln (‘daaWireT enter-s program is

dasrulebisaTvis’) ;

Readln ;end.

es programa Sqr-s iyenebs da gamoTvlis Sedegi

pirdapir Caiwereba beWdvis operatoris striqonSi.

procedura ase ver moiqceoda Semdegi ori mizezis gamo.

jer erTi ara gvaqvs cvladi proceduris Sedegis

SenaxvisaTvis, meore ver gamoviZaxebT proceduras sxva

proceduris gamoZaxebis operatoridan.

ganvixiloT funqciis sademonstracio magaliTi :

Program FunctionDemo ;uses Forms ; Function Square (TheInput : Integer) : Integer ; begin Square := TheInput * TheInput ; end ;var UserInput : Integer ;begin Write (‘ SeitaneT ricxvi, romlis kvadratSi ayvana

Page 89: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

89

gsurT’) ;

Readln (UserInput) ; Writeln (UserInput, ‘ kvadratSi tolia’, Square

(UserInput)) ;end.

ganxilul magaliTSi funqcia asrulebs kvadratSi

axarisxebis operacias. funqcias hqvia Square , romelic

mTeli tipisaa. tipis Cveneba aucilebelia, radganac

funqcias eniWeba gamoTvlis mniSvneloba. funqcia

Seufasebeli instrumentia maTematikuri gamoTvlebis

Casatareblad, grafikis SesrulebisaTvis da a.S.

qveprogramebi . standartuli qveprogramebi

standartuli qveprograma miekuTvneba im

qveprogramebs, romlebic misawvdomia maTi aSkara aRweris

gareSe. MmaT miekuTvneba qveprogramebi, romlebic asruleben

operaciebs striqonul sidideebze, Ooperatiuli

mexsierebis dinamiuri marTvis qveprogramebi da

qveprogramebi, romlebic axorcieleben Setana-gamotanis

operaciebs.

aseT qveprogramebs miekuTvneba ekranuli da

specialuri qveprogramebi, ariTmetikuli da skalaruli

funqciebi, asaxvis funqciebi da damatebiTi funqciebis

sakmaod didi jgufi.

Pprocedura DDelay sintaqsi: Delay (Time)

Time –mTeli tipis gamosaxulebaa.

Pprocedura Delay Sewyvets programis Sesrulebas

Page 90: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

90

Time miliwamis ganmavlobaSi. Tu Time-s aqvs uaryofiTimniSvneloba, iTvleba, rom mas aqvs mniSvneloba_0.

Pprocedura: Randomize sintaqsi: Randomize

procedura Randomize uparametroa. Ees

procedura SemTxveviTi ricxvebis generatorSi daayenebs

SemTxveviT dawyebiT mniSvnelobas.

ariTmetikuli funqciebi

Ffunqcia abs sintaqsi: abs(num)

Num - real an integer-is tipis gamosaxulebaa. Ees

funqcia iZleva Num-is absolutur mniSvnelobas. Sedegi

igive tipisaa, rogorc argumenti.

Mmag. abs(-2)=2 abs(pi)=3.144926536

funqcia ArcTansintaqsi: ArcTan(Num)Num - real an integer - is tipisaa. Ffunqcia ArcTan

gvaZlevs kuTxis namdvil mniSvnelobas, romlis tangensi

aris Num.Mmag. ArcTan(0)=0.0 ArcTan(pi)=0.7853981634

F funqcia Cos sintaqsi: Cos( Num)

Num aris real an integer-is tipis gamosaxuleba. Ffunqcia

Page 91: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

91

Cos iZleva Num kuTxis kosinusis namdvil mniSvnelobas

Mmag. cos(0)=1.0 cos(pi)=-1.0

funqcia Exp sintaqsi: Exp(Num)Num - real an integer-is tipis gamosaxulebaa. funqcia

Exp gvaZlevs Num- is eqsponentis namdvil mniSvnelobas:

Ffunqcia Frac sintaqsi: Frac(Num)Num aris real an integer-is tipis gamosaxuleba.

Ffunqcia Frac gvaZlevs namdvil ricxvs, romelic warmoadgens

Num-is wilad nawils.

Mmag. Frac(3)=0.0 Frac(Pi)=0.1415926536

Ffunqcia Int sintaqsi: Int(Num) Num - real an integer-is tipis gamosaxulebaa. Ffunqcia

Int gvaZlevs namdvil ricxvs, romelic warmoadgens Num-is

mTel nawils.

Mmag. Int(2)=2.0 Int(Pi)=3.0

Ffunqcia Ln sintaqsi: Ln(Num)Num - real an integer-is tipis gamosaxulebaa. Ffunqcia

Ln gvaZlevs Num-dan naturaluri logariTmis

mniSvnelobas.

Mmag: Ln(1)=0.0 Ln(3)=1.0986122887F

Page 92: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

92

funqcia Sin sintaqsi: Sin(Num)Num - real an integer-is tipis gamosaxulebaa. Ffunqcia

Sin gvaZlevs Num argumentidan sinusis mniSvnelobas.

Mmag: Sin(0)=0.0 Sin(Pi/2)=1.0F

funqcia Sqrsintaqsi: Sqr(Num) Num - real an integer-is tipis gamosaxulebaa. Ffunqcia

Sqr gvaZlevs Num-is kvadratSi ayvanis Sedegad miRebulmniSvnelobas.

Mmag: Sqr(2)=4 Sqr(2.0)=4.0F

funqcia Sqrtsintaqsi: Sqrt(Num)Num - real an integer-is tipis gamosaxulebaa. Ffunqcia

Sqrt gvaZlevs Num-dan kvadratuli fesvis mniSvnelobas.

Mmag. Sqrt(4)=2 Sqrt(4.0)=4.0

Ggardaqmnis funqciebi

F

funqcia Oddsintaqsi: Odd(Num)Num mTeli tipis gamosaxulebaa. Ffunqcia Odd

gvaZlevs Boolean tipis mniSvnelobas, Tu Num aris kenti

ricxvi, maSin funqciis mniSvneloba aris True, winaaRmdegSemTxvevaSi false.

Mmag: Odd(3)=true Odd(4)=false

Page 93: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

93

Ffunqcia Pred sintaqsi: Pred(Num)Num nebismieri martivi tipis gamosaxulebaa.

Ffunqcia Pred gvaZlevs Num-is wina mniSvnelobas.

Mmag: Pred(‘b’)=’a’ Pred(-20)=-21

funqcia Succsintaqsi : Succ(Num)Num nebismieri martivi tipis gamosaxulebaa.

Ffunqcia Succ gvaZlevs Num-is momdevno mniSvnelobas.

Mmag: Succ(false)=true Succ(0)=1F

funqcia Chrsintaqsi: Chr(Num)Num mTeli tipis gamosaxulebaa. Ffunqcia Chr

gvaZlevs Char tipis gamosaxulebas, romlis kodi mocemulia

Num gamosaxulebiT.

Mmag: Chr(65)=’A’ Chr(27)=^[

funqcia Ordsintaqsi: Ord(Num)Num nebismieri martivi tipis gamosaxulebaa.

Ffunqcia Ord gvaZlevs Num sididis ricxviT mniSvnelobas.

Mmag: Ord(true)=1 Ord(-2)=-2

Ffunqcia Round sintaqsi: Round(Num)Num - real tipis gamosaxulebaa.

Ffunqcia Round amrgvalebs Num-s uaxloes mTel

Page 94: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

94

ricxvamde.mag: Round(5.5)=6 Round(-1.5)=-2

funqcia Truncsintaqsi: Trunc(Num)Num - real tipis gamosaxulebaa.

Ffunqcia Trunc gvaZlevs Num sididis mTel nawils,

e.i amrgvalebs Num ricxvs, mTeli nawilis CamoSorebis

xarjze.

Mmag: Trunc(3.14)=3 Trunc(-2.9)=-2

sxva funqciebi

funqcia Includesintaqsi: Include(m, i) - m-s gazrdis i erTeuliT.

mag. Include (m, 2) - eqvivalenturia m := m + 2Canawerisa.

funqcia Excludesaintaqsi: Exclude(m, i) - m-s Seamcirebs i erTeuliT.

M mag. Exclude(m, 2) - eqvivalenturia m := m - 2Canawerisa.

grafikis safuZvlebi

teqsturi da grafikuli reJimebi

monitori SeiZleba muSaobdes 4 teqsturi reJimidan

an 3 grafikuli reJimidan erT_erTSi.

teqstur reJimSi monitoris ekrani dayofilia 25

Page 95: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

95

striqonad, TiToeul striqonSi aris 40 an 80 pozicia. am

poziciebze SeiZleba ganaTdes ASCI I kodis simboloebi.

Ggrafikul reJimSi monitoris ekrani dayofilia

wertilebad. ekrani Sesdgeba 200 xazisagan. TiTo

xazSi SeiZleba iyos 320 an 640 wertili.

teqstur da grafikul reJimebSi aris feris Secvlis

saSualeba.

Fferebis konstantebi:

Const

Bleck =0; {Savi}Blue =1; {lurji}

Green =2; {mwvane}Cyan =3; {firuzisferi}Red =4; {wiTeli}

Magenta =5; {Jolosferi}

Brown =6; {yavisferi}LightGray =7; {Ria-nacrisferi}DarkGray =8; {muqi nacrisferi}LightBlue =9; {Ria cisferi}LightGreen =10; {Ria mwvane}LightCyan =11; {Ria firuzisferi}LightRed =12; {Ria wiTeli}

Light Magenta =13; {Ria Jolosferi}

Yellow =14; {yviTeli}

White =15; {TeTri}Blink =128; {cimcimi}Fferebi warmodgenilia maTi nomrebiT 0-dan 15-is

CaTvliT, iolad, rom iyos identirebuli TiToeuli feri,

ferTa nacvlad SeiZleba gamoyenebul iqnas mocemuli

mudmivebi. Fferad teqstur reJimSi TiToeuli simbolos

feri amoirCeva 16 feridan, xolo fonis feri ki 8 feridan,

TiToeuli simbolos feri SeiZleba iyos cimcima.

Page 96: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

96

procedurebi da funqciebi teqsturi

reJimisaTvis

teqstur reJimSi gasvlisaTvis saWiroa Sesruldes

procedura: TextModeprocedura TextMode

sintaqsi: TextMode (BW40) TextMode(C40) TextMode(BW80) TextMode(C80) TextModeBW40, C40, BW80 da C80 mTeli tipis konstantebis

saxelebia, romelTa mniSvneloba Sesabamisad udris 0, 1, 2

da 3.

TextMode procedura BW40 param etriT

uzrunvelyofs Sav-TeTri teqsturi reJimis dayenebas,

romlis striqonis sigrZea 40 simbolo.

TextMode procedura C40 parametriT uzrunvelyofs

feradi teqsturi reJimis dayenebas, romlis striqonis

sigrZea 40 simbolo.

TextMode procedura BW80 parametriT

uzrunvelyofs Sav-TeTri teqsturi reJimis dayenebas,

romlis striqonis sigrZea 80 simbolo.

TextMode procedura C80 parametriT uzrunvelyofs

feradi teqsturi reJimis dayenebas, romlis striqonis

sigrZea 80 simbolo.

Pprocedura TextMode , uparametrod, aRadgens bolo

teqstur reJims.

teqsturi reJimis dayenebas mivyavarT ekranis

gasufTavebamde, anu ekranis sicarieliT Sevsebamde. Kkursori

Page 97: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

97

gadaadgildeba ekranis zeda marcxena kuTxeSi.

Pprocedura ClrEol - asufTavebs yvela simbolos

dawyebuli kursoris poziciidan striqonis bolomde,

kursoris gadauadgileblad.

Pprocedura ClrScr-asufTavebs ekrans da moaTavsebskursors marcxena zeda kuTxeSi.

Pprocedura DelLine –waSlis striqons, romelzedac

imyofeba kursori da yvela danarCen striqonebs

gadaaadgilebs erTi striqoniT zemoT. Qqveda striqoni

sufTavdeba.

Pprocedura GotoXY asrulebs kursoris

pozicionirebas, X-horizontaluri poziciaa, Y-vertikaluri

poziciaa.

Pprocedura InsLine Casvams cariel striqons

kursoris mdebareobis adgilas.

procedura TextBackground irCevs fonis fers.procedura TextColor irCevs simbolos fers.

funqcia WhereX -kursoris mimdinare poziciisaTvis(romelic ekuTvnis mimdinare fanjaras) iZleva X

koordinatas . X warmoadgens horizontalur

pozicias.Ffunqcia WhereY - kursoris mimdinare

poziciisaTvis (romelic ekuTvnis mimdinare fanjaras),

iZleva Y koordinatas. Y warmoadgens vertikalur

pozicias.Pprocedura Window ekranze gansazRvravs teqstur

fanjaras.

fanjris gansazRvra teqstur reJimSi

moduli crt uzrunvelyofs fanjris gamoyenebis

ubralo, magram sakmaod mZlavr formas. Pprocedura WindowsaSualebas iZleva ganvsazRvroT ekranis romel adgilas

aris fanjara. Aam fanjaraSi Cawera igivea, rogorc mTel

Page 98: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

98

ekranze. Ee.i. ekranad igulisxmeba mocemuli fanjara. Aam

dros ekranis sxva danarCeni nawili xeluxlebelia. sxva

sityvebiT rom vTqvaT, ekranis sxva nawilSi mimarTva ar

xdeba. Ffanjris SigniT SeiZleba davamatoT da wavSaloT

striqoni, am dros kursori brundeba marjvena kuTxeSi da

kursoriT bolo striqonamde miRwevisas teqsti

gadaadgildeba zemoT.

Eekranis yvela koordinata, imaT garda, romlebic

gamoiyenebian fanjris gansazRvrisaTvis, miekuTvnebian

mimdinare fanjaras ekranis koordinata (1, 1) Seesabameba

ekranis zeda marcxena kuTxes (dumiliT, fanjrad iTvleba

mTeli ekrani)

procedurebi da funqciebi grafikuli

reJimisaTvis

moduli Graph 50-ze meti grafikuli

programebidan, realizacias ukeTebs mTel biblioTekas,

dawyebuli maRali donis funqciebisa da procedurebis

gamoZaxebiT, rogoricaa mag:

SetViewPort, Bar3D, DrowPoly, damTavrebuli

programebiT, romlebic orientirebulia bitebTan muSaobaze.

Mmag: rogoricaa GGetImage an PutImage. reJims aqvs sxvadasxvaSefardeba, xazis tipebi da sxvadasxva Sriftebi, romlebic

SeiZleba Seicvalos sididiT, orientirebul iqnas

horizontalurad da vertikalurad.

SeTanxmebiT ekranis zeda marcxena kuTxes aqvs

koordinata (0,0) marjvniv gadaadgilebisas X koordinata

imatebs, xolo Y imatebs qvemoT gadaadgilebiT.

moviyvanoT magaliTi, romelic uCvenebs Tu rogor

unda gadavideT grafikuli reJimidan teqsturSi da piriqiT:

Page 99: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

99

1. Program GraphTest;2. Uses3. Graph;4. Var5. GraphDriver : Integer;6. GraphMode : Integer;7. ErrorCode : Integer;8. begin9. GraphDriver : = Detect; {grafikuli reJimis

amocnobis droSis dayeneba}

10. InitGraph (GraphDriver, GraphMode, ‘c:\Drivers’); {grafikuli reJimis inicializacia anu

sawyisi pirobebis momzadeba}

11. ErrorCode: = GraphResult; 12. If ErrorCode < > grOK then { Secdomaa} 13. Begin

14. Writeln(‘grafikis Secdomaa:’,GraphErrorMsg(ErrorCode);

15. Writeln (‘programam avariulad daasrula

muSaoba’);

16. Halt (1); {aCerebs programis Sesrulebas da marTvas

gadascems operaciul sistemas}

17. End; 18. OutText (‘grafikuli reJimi. daaWireT <Enter>-s’);

19. Readln; 20. Restore CrtMode;

21. Write (‘teqsturi reJimia. daaWireT <Enter>-s’); 22. Readln;

23. SetGraphMode (GraphMode); {grafikul reJimSi

gadasvla} 24. OutText (‘kvlav grafikuli reJimia. daaWireT

<Enter>-s’); 25. Readln;

Page 100: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

100

26. CloseGraph; {grafikuli reJimis daxurva} 27. End. {GraphTest}

aRvniSnoT, rom procedura SetGraphMode-s gamoZaxeba

(23 striqonze), Semoitans yvela grafikul parametrs

(palitras, mimdinare maCvenebels, ZiriTad da fonur ferebs

da a. S.) da maT mianiWebs Sesabamis mniSvnelobebs.

procedura Arc xatavs rkals sawyisi kuTxidan

saboloo kuTxemde; wertili (X,Y) miRebulia rkalis

centrad. Caweris sintaqsi:

Arc (x,y: integer; sawyisi kuTxe, saboloo kuTxe, radiusi:

word);x, y aris centris koordinatebi. sawyis kuTxed miRebulia 0, xolo saboloo kuTxed

_ maqsimum 359.

mag: for i: = 1 to 5 do arc (100, 100, 0, 89, i * 10); xatavs 5 koncentrul rkals.

procedura circle xatavs wres, romlis centria

wertili (x, y) sintaqsi: circle (x, y, rad); x, y centris koordinatebia, Rad ki wris radiusia. mag: Circle (100, 100, 200);

procedura CloseGraph grafikul reJims xuravs.

procedura DetectGrafh amoicnobs aparaturas da gansazRvravsromeli grafikuli draiveri da reJimi unda iqnas

gamoyenebuli.

procedura Ellipse xatavs elifss sawyisi kuTxidansaboloo kuTxemde. (x, y) wertili centris koordinatebia.

Page 101: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

101

sintaqsi:

Ellipse (x, y : integer; sawyisi kuTxe, saboloo kuTxe: Word; radiusi X, radiusi Y : word); (x, y) - elifsis centris koordinatebia.

radiusi X da radiusi Y-Hhorizontaluri da vertikaluri

RerZebia.

procedura DrawPoly xatavs mravalkuTxeds, mimdinarexazis tipisa da feris gamoyenebiT.

sintaqsi: DrawPoly (koordinatebis raodenoba: Word; wveroebiskoordinatebi);

koordinatebis raodenoba _ aris mravalkuTxedis

wveroebis raodenoba.

wveros koordinatebi _ aris yvela wveros koordinata,

romlebic ganisazRvrebian X, Y parametrebiT.

procedura FillPoly - aferadebs mravalkuTxeds;

procedura FloodFill - Seaferadebs SezRudul adgilebs,

mimdinare feris gamoyenebiT.

sintaqsi: Floodfile (x, y , sazRvrebi : Word); x, y wertili aris gasaferadebeli ares Sida wertili.

~sazRvrebi~-gansazRvravs fers. Tu x, y aris Caketili

ares SigniT, maSin Seferaddeba Siga are, Tu wertili imyofeba

Caketili ares gareT, maSin Seferaddeba misi gare nawili.

funqcia GetBkGolor - gvaZlevs fonis feris mimdinare

mniSvnelobas.

funqcia GetColor - daabrunebs naxatis mimdinare fers.

funqcia GetGraphMode - abrunebs mimdinare grafikul

Page 102: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

102

reJims.

funqcia GetMaxX - mimdinare grafikuli draiverisa

da reJimisaTvis gvaZlevs yvelaze marjvena svets.

funqcia GetPixel - gvaZlevs gamosaxvis elementis

mniSvnelobas (x, y) wertilSi.

sintaqsi: GetPixel (x,y: integer); gvaZlevs x, y wertilSi gamosaxviselementis fers.

funqcia GetX - gvaZlevs mimdinare poziciis Xkoordinatas.

funqcia GetY - gvaZlevs mimdinare poziciis Ykoordinats.

procedura Line - xatavs swor xazs (X1, Y1) wertilidan,(X2, Y2), wertilamde.proceduris Caweris sintaqsi: Line (X1,Y1, X2,Y2 : integer); X1, Y1 - sawyisi wertilis koordinatebia;

X2 , Y2 - saboloo wertilis koordinatebia;

procedura OutText - striqons agzavnis gamotanismowyobilobaze, dawyebuli mimdinare maCveneblidan.

procedura OutTextXY - striqons agzavnis gamotanismowyobilobaze.

procedura PieSlice - xatavs seqtors, (X,Y) aris centri,seqtori ixateba sawyisi kuTxidan saboloo kuTxemde.

Page 103: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

103

procedura PutPixel - agebs gamosaxvis elements

(wertils), x, y wertilSi.sintaqsi: PutPixel (X,Y : integer; feri : Word); X, Y - wertils koordinatebia. feri - wertilis feria.

procedura Rectangle - xatavs m arTkuTxeds(sworkuTxeds) mimdinare ferisa da xazis tipis gamoyenebiT.sintaqsi: Rectangle (X1, Y1, X2, Y2 : integer); X1, Y1 - zeda marcxena kuTxis koordinatebia; X2, Y2 - qveda marjvena kuTxis koordinatebia;

procedura RestoreCrtMode - aRadgens ekranis sawyisreJims, romelic dayenebuli iyo grafikis inicializaciamde.

aRadgens sawyis videoreJims, romelic Seiqmna InitGraphproceduriT. es procedura SeiZleba gamoyenebul iqnesprocedura SetGraphMode - sTan erTad teqstur da

grafikul reJimebs Soris gadarTvisas.

procedura SetBkColor - palitris gamoyenebiT

daayenebs mimdinare fonis fers.

sintaqsi: SetBkColor (feri: word); feri amoirCeva 0 - dan 15

diapazonSi.

procedura SetColor - palitris gamoyenebiT daayenebs

naxatis mimdinare fers.

sintaqsi: SetColor (feri: word);

procedura SetGraphMode - sistemas gadarTavs

Page 104: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

104

grafikul reJimSi da wmends ekrans.

procedura SetLineStyle - daayenebs xazis mimdinare tipsda mis sisqes.

sintaqsi: SetLineStyle (striqonis tipi: word; nimuSi: word; sisqe:word);

xazis tipebi: Solidln = 0; {uwyveti xazi} Dottedln = 1; {xazi wertilebisgan}

Centerln = 2; {xazi wertilisa da tiresagan}

Dashedln = 3; {punqtiris xazi} VserDilhn = 4; {momxmareblis mier SerCeuli tipi} funqcia TextHeight - gvaZlevs striqonis simaRles.

sintaqsi: TextHeight ( teqsti-striqoni: string) gamoiyenebastriqonebs Soris intervalis gansazRvrisaTvis.

funqcia: TextWidth gvaZlevs striqonis siganes gamosaxvis

elementebSi.

sintaqsi: TextWidth (teqsti-striqoni: string); es sasargebloa

gamoviyenoT striqonebs Soris intervalis gamoTvlisas.

xmovani signali

IBM PC - Si xmebis SezRuduli saSualebebia. isini

Semoifargleba gansazRvruli sixSiris xmebis miRebiT an

xmis gamoTiSviT.

procedura : Sound sintaqsi : Sound (Num)

Page 105: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

105

Num - mTeli tipis gamosaxulebaa. Sound proceduriTmiiReba monotonuri xmis signali Num herci sixSiris. procedura: NoSound sintaqsi: NoSound

am proceduriT Sewydeba xma, romelic miRebulia SoundproceduriT.

mag: program Note 400; Begin Sound (400); Delay(2000); NoSound; end.

es programa gamoiZaxebs 400 herci sixSiris xmovansignals, romelic grZeldeba 2 wamis ganmavlobaSi.

procedura Delay (miliwm : word) akeTebs dayovnebas

miliwamis ganmavlobaSi.

Page 106: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

106

GotoXY(10, 20);Textcolor (Yellow);Textbackground (red);Writeln (‘Meison’);

Readln;end.

Textcolor (Magenta);Textbackground (Blue);Writeln (‘Justina’);

GotoXY(5, 10);

U

Uses crt;

begin Clrscr;Textcolor (Red);Textbackground (Green);Writeln (‘Izabela’);

programas, turbo paskalis teqsturi reJimis gamoyenebiT,

gamoaqvs teqsti ekranis sxvadasxva adgilas, fonisa da

simboloebis feris SerCeviT.

Page 107: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

107

programa teqstur reJimSi xsnis fanjaras:

Uses Crt;

Var K : Integer;

begin Textbackground (Blue); Window (5, 2, 35, 17); Textcolor (Yellow);For K := 1 To 100 Do

Write (‘Press....enter.....’);Readln;Clrscr;

Textbackground (Red);

Textcolor (White); Window (40, 2, 70, 17);For K := 1 To 100 Do Write(‘Press...enter...’);Readln;end.

Page 108: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

108

programa agebs naxazs grafikuli reJimis gamoyenebiT:

Program GraphDemo;

Uses Crt, Graph;

Var i, j, k, Graphdriver, GraphMode : Integer; Xa, Ya : Word;

begin Clrscr;GraphDriver := detect;InitGraph (GraphDriver, GraphMode, ‘’);For i := 1 To GetmaxX Do For j := 1 ToGetmaxY Do Putpixel (i, j, 5);Setcolor (4);SetlineStyle (SolidLn, 0, thickwidth);For i := 1 To 200 DoCircle(GetmaxX div 2, GetmaxY div 2, i);Setcolor(10);For i := 1 To 100 DoArc (GetmaxX div 2, GetmaxY div 2, 0, 90, i );Rectangle (220, 230, 350, 360);OuttextXY(465, 40, ‘aspect ratio’);Getaspectratio(Xa, Ya);Setbkcolor (11);Setfillstyle (9, 11);i := 0;j := 0;

Page 109: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

109

Repeat Ellipse (i, j, 0, 360, 60, 40);i := i + 20; j := j + 20 Until j = 300;For k := 1 To 10 Do beginSound (100 * k +k * 200);delay (500);nosound; end;Repeat until keypressed;Closegraph;end.

programa gamoscems sxvadasxva sixSiris musikalur

signals:

Program MusicDemo;

Var I : Integer;

begin For I := 1 To 10 Do begin Sound (I * 200); Delay (5000); Nosound;end;

For I := 10 Downto 1 Do begin Sound (I * 200); DDelay (5000);Nosound;end;end.

Page 110: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

110

DELPHI.

Delphi danarTis Seqmnis swraf saSualebas iZleva. igi

dafuZnebulia Object Pascal – ze. Delphi dammuSavebels aZlevs

moqnilobis saSualebas. misi kompilatorebi, romlebic

paskalis ojaxis enebidan aris warmoSvebuli, iTvlebian

erT-erT yvelaze swraf kompilatorebad. Borland - ma enasdaamata obieqtur-orientirebuli gafarToeba programirebis

saukeTeso stilis misaRebad.

moduli.

moduli (unit) udidesi gamogonebaa. moduli es aris

erTmaneTTan dakavSirebuli funqciebisa da procedurebis

jgufi.

ganvixiloT martivi moduli ;

unit SayStuff ;beginprocedure SayHello ; begin Seiqmnas fanjara ; davweroT fanjaraSi ~gamarjoba~;

gavanadguroT fanjara;

end ;

procedure SayBye ; begin Seiqmnas fanjara ; davweroT fanjaraSi ~naxvamdis~;

gavanadguroT fanjara;

end ;

Page 111: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

111

procedure SayNothing; begin Seiqmnas fanjara ; davweroT fanjaraSi ~araferi~;

gavanadguroT fanjara;

end ;end ; {moduli SayStuff}erTaderTi rac gavakeTeT aris is rom sami

procedura movaTavseT erT jgufSi da davarqviT saerTo

saxeli – SayStyff. Tu Cven dagvWirdeba sxva proeqtSiaRniSnuli procedurebis gamoyeneba, unda davweroT : UseSayStyff .

modulis formati :

UUnit YourNameHere ;

interfaceuses …

const…type …var …procedure …function …

implementationuses …Label …const …type …var …procedure …function …

Page 112: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

112

initialization {araaucilebeli ganyofileba}

begin…..end ;

finalization {araaucilebeli ganyofileba}

begin….end ;

end. {modulis dasasruli}

interface – s nawili aris pirveli, aq ganisazRvreba

cvladebi, mudmivebi. am nawilSi moTavsebulia procedurebisa

da funqciebis saTaurebi.

implementation ganyofilebaSi moTavsebulia is

cvladebi da mudmivebi, romlebsac gamoiyeneben am

ganyofilebis mxolos funqciebi da procedurebi.

implementation ganyofilebaSi iwereba im funqciebisa da

procedurebis teqstebi, romlebic gamocxadebul iyo

interface nawilSi.

initialization ganyofileba araaucilebelia, magram masSi

SeiZleba ganisazRvros cvladebis mniSvneloba. saqme imaSia,

rom interface nawils ara aqvs Sesrulebadi nawili da

cvladebs ar SegviZlia mivceT sawyisi mniSvnelobebi. aseT

saSualebas iZleva initialization ganyofileba. aq SeiZleba

gavukeToT inicializacia cvladebs Caneweris struqturas,

failur cvladebs da yvelafers romelTaTvisac saWiroa

sawyisi mniSvnelobebis miniWeba.

finalization ganyofilebas aqvs sawinaaRmdego

Page 113: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

113

daniSnuleba. igi saSualebas iZleva daixuros failebi,

ganTavisufldes mexsiereba da Catardes sxva damasrulebeli

operaciebi. finalization ganyofileba sruldeba ukumimdevrobiT

initialization ganyofilebasTan damokidebulebaSi. magaliTad,

Tu inicializacia gaukeTda modulebs Semdegi mimdevrobiT :

X, Y, Z, maSin isini daixurebianN Semdegi mimdevrobiT : Z,Y, X.

qvemoT moyvanilia moduli, romelic saWiroa Seiqmnas,

raTa Sesruldes ramdenime martivi maTematikuri funqcia.

Unit MatsStuff ;

Interface Function AddTwoNumbers (One, Two : Integer) : Integer ;Function SubtractTwoNumbers (One, Two : Integer) :

Integer ; Function SubtractTwoNumbers (One Two, : Integer) :

Integer ;Procedure PositiveKarma ;implementationFunction AddTwoNumbers (One, Two : Integer) : Integer ; begin AddTwoNumbers := One + Two ; end ;Function SubtractTwoNumbers (One, Two : Integer) :

Integer ; begin SubtractTwoNumbers := One – Two ; end ;Function SubtractTwoNumbers (One, Two : Integer) :

Integer ; begin SubtractTwoNumbers := One – Two ;

Page 114: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

114

end ; procedure PositiveKarma ; begin Writeln (‘Tqven SegiZliaT amis gakeTeba,

maTematika ar aris rTuli’) ;

end ;end. {MathStuff Unit}interface nawilSi Cven ganvsazRvreT is funqciebi da

procedurebi , romlebic mocemuli modulis

momxmareblisaTvis aris misawvdomi. implementation nawilSi

Cven SevqmeniT is, rac gamovacxadeT interface nawilSi.

procedura PositiveKarma dawerilia maTTvis, visac ar uyvars

maTematika.

dawerili modulis gamoZaxebisaTvis, igi ubralod

unda CairTos ZiriTadi programis Uses winadadebaSi.modulis gamoyeneba :

Program MathDemo ;

uses MathStuff ;var A, B : Integer ;begin A := 1 ; B := 2 ; Writeln (‘A da B – s jami tolia’ AddTwoNumbers

(A,B)) ; Writeln (‘ programis dasrulebisaTvis daaWireT

enter – s’) ; Readln {enter – is daWeramde fanjara rom Ria

darCes} ;

end. {MathDemo}es programa MathStuff modulis mxolod erT

Page 115: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

115

funqcias oyenebs, es aris – AddTwoNumbers. aRniSnuli

modulis Cvens proeqtSi Casamateblad saWiroa Sesruldes

Semdegi brZaneba : View -> Project Manager da vaWerT AddRilaks.

forma

delfis nebismieri danarTis safuZveli aris forma.

es aris iseTive fanjara, rogorsac vxedavT Windows – Si.formaze unda ganTavsdes yvela komponentebi. forma SeiZleba

iyos sxvadasxva tipis. ZiriTadad igi ori tipisaa:

modaluri da aramodaluri. modaluri formis fanjara

aisaxeba danarTis yvela fanjris zemoT. saWiroa davxuroT

es fanjara imisaTvis, rom mivmarToT danarCen fanjrebs.

aramodaluri fanjara sxva fanjrebis zemoT ar rCeba da

amdenad, momxmarebels xels ar uSlis raTa gadaerTos

sxva fanjrebze.

formebisa da komponentebis Tvisebebi.

Tviseba es aris obieqtis atributi. adamians,

magaliTad aqvs atributebi, rogoricaa : simaRle, wona, Tvalis

feri da a.S. formas SeiZleba hqondes : simaRle, sigane,

fonis feri da a.S.

Delph-is martivi danarTi.

SevqmnaT delfis martivi danarTi. amisaTvis

SevasruloT Semdegi moqmedebebi:

1. gavuSvaT delfi ;

2. davinaxavT cariel formas, romelic

Page 116: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

116

dasaTaurebulia FORM1 – iT , Tu es arSesrulda, avirCioT meniuSi : File -> NewApplication ;

3. avirCioT komponentebis palitraze (romelic

ganTavsebulia ekranis zeda marjvena kuTxeSi)

Standart gverdi;4. davawkapunoT Button Rilakis niSanze ;

5. davawkapunoT formis SuaSi, am adgilas gaCndeba

Rilaki ;

6. orjer davawkapunoT am Rilakze ; gamoCndeba

programuli fanjara, sadac kursori

ganTavsebulia begin da end striqonebsSoris ;

7. davweroT striqoni :

Canvas.TextOut (20, 20, ‘ programireba delfSi

Zalian martivia’) ;

8. Cven SevqmeniT Cveni pirveli danarTi,

kompilaciisa da SesrulebisaTvis vaWerT F9Rilaks an avirCioT meniuSi : Run -> Run.

Sesrulebis Semdeg ekranze gamoCndeba fanjara (forma),

sadac Cans Cvens mier ganTavsebuli Rilaki. davaWiroT am

Rilaks da ekranze gamoCndeba is teqsti, romelic Cven

davwereT Canvas.TextOut – Si. davxuroT fanjara, risTvisacfanjris zeda marjvena kuTxeSi davaWiroT X Rilaks,

SekiTxvaze `gsurT Tu ara proeqtis Senaxva~ vupasuxoT

`No~, rac niSnavs, rom proeqti ar SevinaxoT..

Delph-is CatvirTvisas ekrani miiRebs Semdeg saxes:

Page 117: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

117

formas aqvs igive Tvisebebi, rogorc Windows – isyvela fanjaras. igi Semdegnairad gamoiyureba :

Page 118: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

118

programis Sesrulebaze gaSvebis Semdeg danarTi Semdeg

saxes miiRebs:

Button1-ze dawkapunebis Semdeg danarTi Semdegnairadgamoiyureba:

Page 119: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

119

kodis redaqtoris fanjara.

kodis redaqtoris fanjara aris srulfasovani

programuli redaqtori. fanjris saTaurad gamodis

mimdinare failis saxeli, fanjaras SeiZleba hqondes

CanarTebi, Sua nawilSi ganTavsebulia programis teqsti,

fanjris qveda nawilSi aris sami saintereso elementi:

marcxniv ganTavsebulia striqonisa da svetis indikatori,

SuaSi – modifikaciis indikatori, Tu proeqtis Senaxvis

Semdeg gavakeTeT cvlileba, indikatorze gamoCndeba Modifiedsityva. mesamea – Casmis reJimis indikatori (Insert) , romelic

uCvenebs Setanili simbolo win Caematos Tu ara.

komponentebis palitra

komponentebis palitra - es aris vizualuri komponen-

tebi, romlebic ganlagebulia CanarTebis saxiT:

Standard (standartuli)

Additional (damatebiTi)Win32 (Windows 32bitiani)Data Access (monacemebze mimarTva)Data Control (monacemTa marTva)Win 3.1 (Windows 3.X)Dialogs (dialogebi)

System (sistemuri)Qreport (angariSebis swrafi momzadeba)ActiveX (aqtiuri elementebi ActiveX)Samples (nimuSebi)

Page 120: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

120

obieqtebis inspeqtori.

obieqtebis inspeqtori Sesdgeba Tvisebebis gverdisa

da xdomilobebis gverdisagan.

davawkapunoT cariel formaze da davakvirdeT mis

atributebs. Tu Tvisebebis marjvniv plus niSania, niSnavs,

rom am Tvisebis SigniT igulisxmeba qveTvisebebis simravle.

Page 121: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

121

magaliTad Tu movniSneT forma, obieqtebis inspeqtorSi

davinaxavT Font Tvisebas da plus niSans mis Semdeg. Tu

orjer davawkapunebT Font (Srifti) Tvisebaze, maSin gaixsnebaiseTi Tvisebebis cxrili rogoricaa Color (feri), Height(simaRle), Name (saxeli) da a. S. aseTi formati xilvadi,

martivi da efeqturia obieqtis atributebis Secvlisas.

Page 122: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

122

xdomilobebis gverdi.

xdomilobebis gverdi obieqtebis inspeqtorze meore

CanarTia. masze naCvenebia yvela xdomiloba, romelzec

reagirebs arCeuli obieqti. magaliTad, Tu Cvens programaSi

saWiroa Sesruldes romelime operacia fanjris daxurvisas,

am mizniT SeiZleba gamoyenebul iqnes OnClose xdomiloba.

Page 123: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

123

Delphi - s menius struqtura.

ganvixiloT Delphi - s menius struqtura.

meniu File

es meniu gamoiyeneba proeqtis Seqmnis, Senaxvis,

gamoZaxebis, beWdvisa da mTeli rigi sxva operaciebisaTvis.

New

axali obieqtis Seqmna. am brZanebis arCevis Semdeg

gamodis dialoguri fanjara, romelic arCevanis saSualebas

iZleva .

New Application

axali proeqtis Seqmna. igi gulisxmobs kodis

redaqtoris axali fanjris Seqmnas axali Unit1.PAS failiT,

axali Form1 formiT da obieqtebis inspeqtoris axali

fanjriT.

New Form

axali formis Seqmna.

New Data Module

Page 124: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

124

axali modulis Seqmna.

Open

obieqtis gaxsna. es SeiZleba iyos romelime modulis

kodi an mTeli proeqti.

ReOpen

es ganyofileba Seicavs bolo dros gamoZaxebul

failebis an proeqtebis sias.

Save

mimdinare modulis Senaxva diskze.

Save As

mimdinare modulis Senaxva axali saxeliT.

Save Project As

mimdinare proeqtis axali saxeliT Senaxva.

Save All

menius am punqtis arCeva Seinaxavs yvelafers, rac

mocemul momentSi gaxsnilia – proeqti da sxva failebi.

Close

daxuravs mimdinare kodis moduls an masTan

dakavSirebul formas. Tu igi Senaxuli ar aris, gvTavazobs

Page 125: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

125

Senaxvas.

Use Unitam punqtis arCeva mimdinare modulis kodSi Casvams

Uses operators im modulisaTvis, romelic gvinda

gamoviyenoT.

Add To Project

menius am punqtis arCeva proeqtSi daumatebs arsebul

moduls da masTan dakavSirebul formas.

Remove From Project

menius am punqtis arCeva saSualebas iZleva waiSalos

proeqtidan arsebuli moduli da masTan dakavSirebuli

forma.

Print

menius am punqtis arCeviT SegviZlia davbeWdoT

proeqtis arCeuli elementi.

Exit

gasvla Delphi-dan.

redaqtirebis meniu Edit

UnDelete/Undo

Tu obieqti wavSaleT UnDelete mas aRadgens, xolo

Page 126: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

126

Tu bolo moqmedeba gavakeTeT kodis an komponentis damateba,

es punqti Undo-d gadaiqceva da gaauqmebs bolo damatebas.

Redo

es aris Undo-s Sebrunebuli moqmedeba.

Cut

es brZaneba amoWris moniSnul elements da moaTavsebs

Clipboard buferSi.

Copy

es brZaneba akopirebs moniSnul elements da

moaTavsebs Clipboard buferSi.

Paste

es bZaneba Clipboard - is Semadgenlobas Casvams mimdinare

formaSi an teqstSi.

Delete

waSlis formaze an teqstSi moniSnul elements.

Select All

gamoyofs (moniSnavs) yvela elements formaze an

modulSi.

Align to Grid

Page 127: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

127

formaze ganTavsebul komponentebs gaasworebs badis

kuTxeebSi.

Bring To Front

gamoyofil komponentebs ganaTavsebs yvela danarCenze

maRla.

Send To Back

gamoyofil komponentebs ganaTavsebs yvela danarCenis

qvemoT.

Align

menius am punqtis rCevisas gamodis Alignment(gasworeba) dialoguri fanjara. am fanjris opciebi

saSualebas iZlevian formaze komponentebi gavasworoT

horizontis an vertikalis mixedviT.

Size

komponentis an komponentTa jgufis zomebis Secvla.

Scale

roca formaze ganTavsebuli komponentebi an Zalian

didi zomisaa an Zalian mcire, maSin masStabirebis brZanebis

gamoyenebiT SegviZlia proporciulad SevcvaloT formaze

ganTavsebuli komponentebis masStabi.

Tab Order

Page 128: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

128

brZanebas gamoaqvs fanjara, sadac CamoTvlilia

formaze ganTavsebuli komponentebis sia. SegviZlia

SevcvaloT maTi mimdevroba, risTvisac movniSnoT igi da

davaWiroT Rilaks ‚zemoT~ an ‚qvemoT~.

Creation Order

es brZaneba marTavs im mimdevrobas, romliTac iqmneba

aravizualuri komponentebi.

Lock Controls

Tu winaswar gamoviyenebT aRniSnul brZanebas, formaze

yvela elementi dafiqsirdeba Tavis adgilas. Cven SegviZlia

uSiSrad davawkapunoT elementze Tvisebis Sesacvlelad,

elementi ar daiZvreba adgilidan.

Zebnis meniu Search

Find

awarmoebs teqstSi simboloebis mimdevrobis Zebnas.

Find in Files

awarmoebs Zebnas yvela gaxsnil failSi.

Replace

teqstis erTi fragmentis meoreTi Secvla.

Page 129: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

129

Search Again

es brZaneba imeorebs bolo Zebnas.

Incremental Search

avirCioT menius es punqti, Semdeg ki davbeWdoT

romelime sityva. Delphi ipovis teqstSi Cvens mier

akrefili simboloebis mimdevrobas.

Go to Line Number

striqonis Setanil nomerze gadaadgileba.

Find Error

menius am punqtis daxmarebiT SegviZlia vipovoT

teqstSi bolo Secdomis adgili.

Browse Symbol

programis warmatebiT kompilaciis Semdeg SegviZlia

vnaxoT masSi gamoyenebuli nebismieri simbolo.

daTvalierebis meniu View

Project Manager

es brZaneba gaaaqtiurebs proeqtis dispetCeris

fanjaras.

Project Source

Page 130: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

130

am brZanebas kodis redaqtoris fanjaraSi Seaqvs

proeqtis sawyisi faili.

Object Inspector

es brZaneba gaaaqtiurebs obieqtebis inspeqtors.

Alignment Palette

es brZaneba gaaaqtiurebs gasworebis palitras -

Alignment Palette.

Browser

menius es punqti gaaaqtiurebs fanjaras, romelic

saSualeb as i Zlev a dav a k v irdeT obie qtebis

memkvidreobiTobisa da urTierTkavSiris models.

Breakpoints

menius es punqti gaaaqtiurebs wyvetis wertilebis

siis dialogur fanjaras.

Ccall Stack

gviCvenebs mimdevrobas, romlis mixedviT gamoiZaxeba

funqciebi da procedurebi Cvens danarTSi.

Watches

menius am punqtis daxmarebiT programis gawyobis

procesSi SegviZlia davakvirdeT cvladebis simravles an

Page 131: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

131

gamosaxulebebs, romlebis Seicaven am cvladebs. aqve SeiZleba

ganisazRvros Tu rogori formatiT unda gamoisaxos

Sedegebi.

Threads

gviCvenebs kodis mimdinare sias, romelic mocemul

momentSi sruldeba.

Modules

gviCvenebs modulebis siis dialogur fanjaras,

romelic Seicavs proeqtSi gamoyenebul yvela moduls.

Component List

gviCvenebs komponentebis sias. Tu gvinda romelime

komponentis damateba vaWerT Add to Form da es komponentimoTavsdeba Cvens formaze.

Window List

menius aRniSnuli punqti gamoitans yvela gaxsnili

fanjris sias, saidanac SeiZleba amovarCioT sasurveli.

Toggle Form/Unit

es brZaneba akeTebs gadarTvas formasa da moduls

Soris.

Units

gamoiZaxebs fanjaras, romelic gviCvenebs Cveni

Page 132: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

132

proeqtis yvela modulis sias. SegviZlia avirCioT

sasurveli.

Forms

es brZaneba formebTan muSaobs zustad ise, rogorc

wina muSaobs modulebTan.

New Edit Window

menius am punqtis arCeva gaxsnis redaqtirebis axal

fanjaras, ise rom ar Seexeba winas. Cveni fanjris

redaqtirebis mimdinare moduli gamoCndeba axal fanjaraSic.

ramdenime redaqtirebis fanjris erTdroulad arseboba

ekranze saSualebas iZleva erTdroulad vnaxoT ori

modulis kodi.

SpeedBar

es brZaneba gamoaCens swraf Rilakebs, Tu isini

aqamde ar Candnen.

Component Palette

es brZaneba gamoaCens komponentebis palitras, Tu

isini aqamde ar Candnen.

proeqtis meniu Project.

Add To Project

Page 133: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

133

menius am punqtis arCeva saSualebas iZleva proeqtSi

davamatoT arsebuli moduli da masTan dakavSirebuli

forma. roca Cven vamatebT proeqtSi moduls, Delphi

avtomaturad daamatebs proeqtis failSi Sesabamis

operators Uses. mocemuli menius punqts igive funqcia

aqvs, rogorc File -> Add To Project brZanebas.

Remove To Project

menius am punqtis arCeva saSualebas iZleva

proeqtidan amovagdoT arsebuli moduli da masTan

dakavSirebuli forma. roca amovagdebT proeqtSi moduls,

Delphi avtomaturad amoagdebs proeqtis failSi Sesabamis

Uses operators . mocemuli menius punqts igive funqcia

aqvs, rogorc File -> Remove From Project brZanebas.

Add To Repository

menius es punqti mimdinare formas daamatebs

obieqtebis sacavSi – Object Repository. es iZleva misi

xelmeored gamoyenebis saSualebas.

Compile

es brZaneba axorcielebs Cveni proeqtis yvela im

failis kompilacias, romlebic Seicvalnen programis bolo

gaSvebis momentidan.

Build All

Page 134: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

134

es programa kompilacias ukeTebs yvela komponents,

formas, moduls imisagan damoukideblad Seicvalnen Tu

ara isini.

Syntax Check

menius es punqti saSualebas iZleva SevamowmoT

sintaqsuri Secdomebi.

Information

menius es punqti iZleva informacias kompilaciisa

da mexsierebis danaxarjebis Sesaxeb.

Options

menius es punqti gaaaqtiurebs opciebis fanjaras,

sadac SeiZleba davayenoT redaqtirebis, kompilaciisa da

sxva opciebi.

Sesrulebis meniu Run.

Run

Delphi-s danarTs gauSvebs Sesrulebaze. Tu aqamde

ar iyo Sesrulebuli kompilacia, Sesrulebaze gaSvebis

win Sesruldeba kompilacia.

Parameters

menius es punqti gamoiZaxebs dialogur fanjaras

Run, romelic im parametrebis micemis saSualebas iZleva,

romelic saWiroa danarTis gaSvebisaTvis.

Page 135: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

135

Step Over

es brZaneba danarTis nabij-nabij Sesrulebis

saSualebas iZleva. TiToeuli operatoris mixedviT, amasTan

procedura an funqcia sruldeba ise, Tundac igi iyos

programis erTi operatori. es moxerxebulia maSin, rodesac

gvainteresebs Cveni programis moqmedeba, magram ar gvinda

CavxedoT SigniT TiToeul procedurasa da funqcias.

Trace Info

es brZanebac danarTis nabij-nabij Sesrulebis

saSualebas iZleva, Tanac nebismieri procedura da funqciac

sruldeba nabij-nabij.

Trace to Next Source Line

es brZaneba saSualebas iZleva davinaxoT Semdeg

romeli brZaneba Sesruldeba.

Run To Cursor

es brZaneba saSualebas iZleva Sesruldes Cveni

danarTi kursoris adgilamde. aq SeiZleba gamoviyenoT

Watch fanjara, im cvladis SefasebisaTvis, romlis

mniSvnelobaSic eWvi gvepareba.

Show Execution Point

SevasruloT es brZaneba, Tu davxureT redaqtirebis

fanjara da vimyofebiT programis nabij-nabij amoxsnis

procesSi. es dagvabrunebs redaqtirebis fanjaraSi, amasTan

Page 136: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

136

kursori ganTavsebuli iqneba im operatorze, romelic

SemdgomSi Sesruldeba .

Program Pause

es brZaneba danarTis SesrulebaSi gamoiwvevs pauzas

da Cven SegviZlia mSvidad vimuSaoT Watch fanjarasTan.

Program Reset

es brZaneba Sewyvets danarTis Sesrulebas da

amotvirTavs mas mexsierebidan.

obieqtur-orientirebuli daproeqteba

obieqti aris arseba, romelsac aqvs mdgomareoba, anu

mas aqvs zogierTi mniSvneloba. obieqtis qceva ganisazRvreba

im moqmedebebiT, romlebic maTze moqmedeben. TiToeuli

obieqti aris obieqtTa klasis egzemplari .obieqtur-

orientirebuli daproeqtebis mizani mdgomareobs imaSi,

rom sistemis TiToeuli moduli realuri samyaros

obieqts an obieqtebis klass warmoadgens. sistemis

damuSaveba obieqtur-orientirebuli midgomiT mdgomareobs

SemdegSi:

1. obieqtis da maTi atributebis identifikacia;

2. identifikacia im moqmedebebisa, romlebic moqmedeben

TiToeuli obieqtis mdgomareobaze;

3. TiToeuli obieqtis xilvadobis gansazRvra sxva

obieqtebTan SedarebiT;

4. TiToeuli obieqtis interfeisis gansazRvra;

5. TiToeuli obieqtis realizacia.

Page 137: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

137

obieqtebi

obieqtebi SeiZleba iyos Zalian didi da Sesdgebodes

mcire obieqtebisagan. interfeisSi Canan, Tu rogor

ukavSirdebian obieqtebi erTmaneTs. zustad unda

ganisazRvros mocemul obieqtTan sxva obieqtebi rogor

damokidebulebaSia.

klasebi

Delphi-Si aris darezervebuli sityva class, romelic

obieqtis aRweris saSualebas iZleva. rodesac Delphi-SivqmniT axal proeqts da vuyurebT Unit1-Si gamocxadebebs,es aris ZiriTadi formis klasis gamocxadeba.

ganvixiloT klasis gamocxadebis magaliTi:

Type TForm1 = class(TForm)

public {gamocxadebis gaxsna}proteqted {daculi gamocxadeba}

private {daxuruli gamocxadeba}

end;

modulis interface nawilSi mivuTiTebT tipis saxels

(TForm1) da Semdeg bazur klass, saidanac igi warmoiSveba.

yvela obieqti unda iyos warmoSvebuli TObject-sagan anerT-erTi misi STamomavlobisagan.

public nawilSi aris gamocxadeba, romelic misawvdomia

Page 138: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

138

`gare samyarosaTvis~. private nawilSi gamocxadebulia

cvladebi, procedurebi, funqciebi, romelic gamoyenebulia,

mxolod klasis SigniT. protected nawili aris wina ori

ganxilulis saukeTeso Tvisebebis Serwyma. masSi

gamocxadebuli komponentebi misawvdomia mxolod

gamocxadebuli tipis STamomavlobisaTvis.

SevqmnaT monacemebis sakuTari obieqti, sabanko baraTis

PIN kodis Sesanaxad. igi ase gamoiyureba:Secret = class (TObject) private FThe_PIN : Integer;end;es kodi qmnis ara marto klass Secret saxeliT, aramed

daxurul FThe_PIN cvlads PIN mniSvnelobis Sesanaxad.

memkvidreobiToba

obieqtur-orientirebuli enis erT-erT Tvisebad

iTvleba memkvidreobiToba. igi saSualebas iZleva

warmoSvebul klasebs hqondes maTi mSoblebis klasebTan

mimarTvis saSualeba. es saSualebas iZleva aviRoT klasi,

romelSic aris yvela saWiro elementi da davumatoT mas

saWiroebis mixedviT axali obieqtebi.

Delphi – is danarTi.

erTi SexedviT TiTqos Cans, rom martivi programa

Sedgeba mxolod proeqtis failisa da programuli

modulisagan. sinamdvileSi aq aris kidev ramdenime faili.

Delphi – proeqti Sedgeba formebisagan, modulebisagan

proeqtis parametrebisagan, resursebisagan da a.S. bevri am

failTagani danarTis Seqmnisas, avtomaturad iqmnebian.

danarTis daproeqtebisas, Delphi qmnis Semdeg failebs:

Page 139: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

139

proeqtis faili (.dpr) es faili gamoiyeneba

formebisa da modulebis Sesaxeb informaciis Sesanaxad.

modulis faili (.pas) es faili gamoiyeneba kodis

Sesanaxad. zogierTi moduli dakavSirebulia formasTan,

zogierTSi inaxeba mxolod funqciebi da procedurebi.

formis faili (.dfm) es aris faili, romelSic

inaxeba informacia Cveni formebis Sesaxeb. TiToeuli formis

fails Seesabameba modulis faili (.pas) . magaliTad

myform.pas failisaTvis arsebobs masTan dakavSirebuli

faili myform.dfm.proeqtis parametrebis faili (.dfo) - am failSi

inaxeba proeqtis parametrebis dayeneba.

paketebis Sesaxeb informaciis faili (.drf) -es binaruli faili Delphi – Si gamoiyeneba paketebTanmuSaobisas.

resursebis faili (.res) - es binaruli faili

Seicavs proeqtis mier gamoyenebul piktogramas. es faili

ar unda Seiqmnas da Seicvalos momxmareblis mier, radganac

Delphi mudmivad ukeTebs modificirebas am fails.

sarezervo aslebis faili (.~dp, .~df,.~pa) - esaris proeqtis failebis, formebisa da modulebisaTvis

sarezervo aslebis faili.

failebis Semdegi jgufi iqmneba kompilatoris mier:

Sesrulebadi faili (.exe) - es Cveni danarTis

gamSvebi failia.

modulis obieqturi faili (.dcu) - es (.pas)modulis kompilaciaze gaSvebuli failia.

Windows-is sxva failebi, romlebic gamoiyenebian Delphi-Si:

Page 140: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

140

sacnobaro faili (.hlp) - es daxmarebis anu sacnobarofailia, romelic Delphi – Si gamoiyeneba.

grafikuli failebi (.wmf, .bmp, .ico) - es failebi

gamoiyenebian danarTSi lamazi interfeisis Sesaqmnelad.

proeqtis faili (.dpr)-Seicavs Object Pascal-ze dawerilkods da aris Cveni danarTis ZiriTadi nawili romliTac

iwyeba Cveni programis Sesruleba. danarTis damuSavebis

procesSi es faili Seiqmneba da modificirdeba avtomaturad.

saxeli, romelsac varqmevT proeqtis fails, xdeba gamSvebi

failis saxelic. qvemoT moyvanilia magaliTi imisa, Tu

rogor gamoiyureba faili, Tu axali proeqtis dawyebisas

Cven masSi ar SevcvaleT failisa da formis saxeli.

program Project1;uses Forms, Unit1 in ‘UNIT1.PAS’ {Form 1};

{SR*.RES}

begin Application.CreateForm(TForm, Form1); Application.Run(Form1);end.

moduli

arsebobs sami tipis moduli: modulebis faili,

romlebic dakavSirebulia formebTan; programuli

modulebis failebi, romlebic gamoiyeneba procedurebisa

Page 141: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

141

da failebis Sesanaxad; programuli modulebis failebi,

romlebic gamoiyeneba komponentebis asagebad.

moduli es aris programuli kodebis faili, .pasgafarToebiT.

ganvixiloT moduli, romelic Delphi-Si iqmneba

dumiliT :

unit Unit1 ;

interface

uses Windows, Messages, SysUtils, Classes, Graphics,

Controls, Forms, Dialogs ;

type TForm1 = class(TForm) procedure FormCreate (Sender: Tobject); private {private declarations – daxuruli gamocxadeba}

public {public declarations – Ria gamocxadeba} end;var Form1: TForm1;

implementation

{$R*.DFM}

procedure TForm1.FormCreate (Sender: TObject);begin

Page 142: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

142

end;end.

axali proeqtis Seqmnisas es moduli iqmneba

avtomaturad. ganvixiloT modulis Semadgeneli calkeuli

nawilebi:

modulis saxeli – es saxeli iwereba unit sityvisSemdeg;

inetrface – interfeisi - gamoiyeneba cvladebis

procedurebis da a.S. gamosacxadeblad;

uses - acnobebs kompilators romeli funqciebisa da

procedurebis romeli biblioTekebi gamoiyeneba Cvens failSi.

Tu vwerT sakuTar moduls da unda gamoviyenoT am modulSi

Semavali funqciebi, es moduli unda CairTos usesoperatorSi.

type – gamoiyeneba monacemTa tipebis gamosacxadeblad.

private – daxuruli - am nawilSi gamocxadeba

misawvdomia modulis SigniT, magram miuwvdomelia modulis

gareT.

public – Ria - am nawilSi gamocxadeba Cans modulis

gareTac.

implementation – Seicavs rogorc funqciebsa da

procedurebs xdomilobebis damuSavebisaTvis, aseve Cvens

sakuTar procedurebsa da funqciebs.

{$R*.DFM} - miabavs formas Tavis .dfm fails. am

striqonis waSlam programaSi SeiZleba Seqmnas problemebi.

proeqtis magaliTi

SevqmnaT mcire zomis proeqti. pirvel rigSi SevqmnaT

proeqtis failebi :

1. failebis Sesanaxad Delphi katalogSi SevqmnaT

Page 143: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

143

q v e k atalogi . m a g aliTad : c:\programfiles\borland\delphi 3.0\mysource.

2. SevqmnaT qvekatalogi, romelSic SevinaxavT Cvens

proeqts, davarqvaT Formtalk (c:\programfiles\borland\delphi 3.0\mysource\formtalk)

3. gavuSvaT Delphi avirCioT brZaneba File| New,avirCioT Application piktograma, New Itemsdialogur fanjaraSi.

4. avirCioT brZaneba File|New Form, proeqtze meoreformis dasamateblad.

5. SevucvaloT Form1 formas da mis komponentebszogierTi Tviseba. obieqtebis inspeqtoris (ObjecInspector) gamoyenebiT Cvens formas SevucvaloT

caption (saTauri) Tviseba da davarqvaT ‘Semavali

forma~, xolo formis name (formis saxeli)

Tvisebas davarqvaT `InputForm~ (formebisa da

komponentebis saxelebi iwereba laTinuri asoebiT,

radgan isini arian identifikatorebi.

6. obieqtebis inspeqtoris gamoyenebiT meore formas

SevucvaloT saTauri da davarqvaT `gamomavali

forma~, xolo name TvisebaSi avkrifoT

`OutputForm~. programis Sesrulebisas es forma

gamomaval monacemebs miiRebs `InputForm~- dan.

monacemebis gadagzavna moxdeba maTi Setanisa da

`gadagzavna~ Rilakis daWeris Semdeg.

7. SevinaxoT unit1.pas modulis faili, magram fails

SevucvaloT saxeli SemdegiT:

c:\program files\borland\delphi 3.0\mysource\formtalk\input.pasSemdeg unda SevinaxoT unit2.pas SevcvaloT misi saxeli

da davarqvaT output.pasproeqtis failis Sesanaxad gamoviyenoT brZaneba File|Save Project As , gamosul fanjaraSi avirCioT katalogi

da saxeli proeqtis failis Sesanaxad. proeqtis

Page 144: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

144

fails davarqvaT project1.dpr, misi misamarTi diskzeiqneba:

c:\programfiles\borland\delphi\mysource\formtalk\formtalk.dpr

exla avagoT formebi Semdegi procedurebis gamoyenebiT:

1. TiToeul formas davamatoT Edit redaqtirebisfanjara, da Semaval formaze davsvaT Button Rilaki,

Semdeg orive redaqtirebis fanjaraSi obieqtebis

inspeqtoris gamoyenebiT text Tvisebidan wavSaloT

teqsti.

2. Semavali formis redaqtirebis fanjaras mivaniWoT

saxeli InText, xolo gamomavali formis

redaqtirebis fanjaras mivaniWoT saxeli OutText.Semavali formis Rilaks mivceT saTauri (caption)`gadagzavna~, xolo saxeli (name) SendText.

3. ekranze formis vizualuri gamosaxvis

garantiisaTvis, obieqtebis inspeqtoris gamoyenebiT,

yvela axlad damatebuli formisaTvis visible TvisebaSevcvaloT True – Ti.

4. Rilakis kods davamatoT striqoni. SendTextRilakze orjer davawkapunoT da davamatoT Semdegi

striqoni:

OutputForm.OutText.Text:=InputForm.InText.Text;

Tu yvelaferi zustad iyo Sesrulebuli, programas

gavukeToT testireba, Semdegi mimdevrobiT:

1. avirCioT Run brZaneba, an davaWiroT F9 Rilaks.

dialogur fanjaraSi gamova Semdegi Setyobineba:

forma ‘InputForm’ gadaegzavneba ‘OutputForm’-s, romelic

gamocxadebulia OutputForm-Si. igi ar aris USES siaSi.gnebavT daamatoT siaSi?

2. davaWiroT yes Rilaks.

3. avirCioT brZaneba File| Save All.

Page 145: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

145

4. isev gavuSvaT programa Sesrulebaze F9-iT. Cveniformebi gamoCndeba ekranze.

5. gavukeToT programas testireba, SevitanoT teqsti

Semaval formaSi da davaWiroT ̀ gadagzavna~ Rilaks.

Cveni Setanili teqsti gamoCndeba gamomavali

formis fanjaraSi.

vnaxoT rogor gamoiyureba Cveni programa. proeqtis

failis Sinaarsis sanaxavad gamoviyenoT brZaneba : View|Project Source.

program Formtalk ;

uses Forms, Input in ‘Input.pas’ {InputForm}, Output in ‘Output.pas’ {OutputForm};

{$R *.RES}begin Application.Initialize; Application.CreateForm(TInputForm, InputForm); Application.CreateForm(TOutputForm, OutputForm); application.Run;end.uses operatori Seicavs Forms moduls da Input, Output

modulebs, romlebic Seicaven Cvens mier Seqmnili formebis

kodebs.

pirveli begin operatoris Semdeg vxedavT meTodebisoperatorebs: Application.Initialize da Application.createForm. esmeTodebi asruleben Cveni formebis Seqmnisa da gaSvebisaTvis

aucilebel operaciebs. meTodi Seicavs kodis fragments.

damasrulebeli operatori aris Application.Run. igi gauSvebs

Page 146: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

146

Cvens danarTs da Seasrulebs Cvens formebTan dakavSirebul

kods. formis damatebis an amogdebisas Delphi avtomaturadakeTebs proeqtis sawyisi kodis modificirebas.

vnaxoT Semavali formis modulis kodi, risTvisac

Semaval formaze orjer davawkapunoT.

Input formis moduli :

unit Input ;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, dialogs, StdCtrls ;type TInputForm = class(TForm) SendText: TButton; InText: Tedit; procedure SendTextClick(Sender: Tobject);private {private declarations}public {public declarations}end;

var InputForm: TInputForm;

implementation

uses output;

{$R *.DFM}

Page 147: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

147

procedure TInputForm.SendTextClick(Sender: TObject);begin OutputForm.OutText.Text := InputForm.InText.Text;end;

end.

Output formis moduli:

unit Output ;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, dialogs, StdCtrls ;type TOutputForm = class(TForm)OutText: TEdit; InText: TEdit;private {private declarations}public {public declarations}end;

var OutputForm: TOutputForm;

Page 148: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

148

implementation

{$R *.DFM}

end.

`gadagzavna~ Rilakis daWerisas sruldeba Semdegi

operatori:

OutputForm.OutText.Text := InputForm.InText.Text;

redaqtoris gamoyeneba

ganvixiloT martivi programa, romelic redaqtoris

gamoyenebis demonstrirebis saSualebas iZleva. es aris

martivi danarTi, romelSic momxmarebels Seaqvs ori ricxvi,

aWers Rilaks, programa gamoiTvlis jams da gamoitans

Sedegs. aq gamoyenebuli forma Sesdgeba erTi Rilakisagan,

ori redaqtirebis fanjrisa da oTxi Wdisagan.

gavuSvaT Delphi , gamova forma romelic iqmneba Delphi-is gaSvebisas avtomaturad. SevudgeT danarTis Seqmnas,

romelsac davarqmevT Addition .1. Delphi-is instrumentebis striqonze avirCioT

gverdi Standart CanarTiT (es gverdi iqneba mimdinare,Tu muSaobis dawyebisas Cven sxva gverdi ar

agvirCevia.)

2. Standart gverdze avirCioT Button (Rilaki), Semdeg

ki davawkapunoT formaze, am moqmedebis Sedegad

formaze daemateba Rilaki, romlis zomebi da

mdebareoba SeiZleba SevcvaloT. es Rilaki

movaTavsoT formis qveda nawilSi.

3. Rilakze warweris gasakeTeblad, movniSnoT igi,

risTvisac davawkapunoT Rilakze, Semdeg ki

Page 149: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

149

obieqtebis inspeqtoris fanjaraSi Caption TvisebasmivceT mniSvneloba ̀ Sekreba~.

4. igive teqnikis gamoyenebiT formaze ganvaTavsoT

ori Wde (Label) da ori redaqtirebis fanjara(Edit). Wdis piktogramaze gamosaxulia ~A’’simbolo. ganvaTavsoT es obieqtebi vertikalurad

Semdegi mimdevrobiT: Label1, Edit1, Label2, Edit2.

5. obieqtebis inspeqtoris gamoyenebiT, rogorc

RilakisaTvis gavakeTeT, SevucvaloT Caption TvisebaWdeebsac. Label1 SevcvaloT `mniSvneloba 1~ -

iT, xolo Label2 ki - ̀ mniSvneloba 2~ - iT, aseve

SegviZlia SevcvaloT Caption Tviseba formisaTvis.6. Edit1 da Edit2 oboeqtebisaTvis Text Tvisebas

mniSvnelobis saxiT mivaniWoT carieli striqoni,

risTvisac obieqtebis inspeqtoris meSveobiT masze

dumiliT micemuli mniSvneloba amovSaloT.

7. Edit2 redaqtirebis fanjris qvemoT movaTavsoT

Page 150: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

150

kidev ori Wde, esenia Label1 da Label2 , romlebic

ganTavsebulia erTmaneTis gverdiT. Label3 WdisCaption Tvisebas mivaniWoT `jami~ mniSvneloba,

xolo Label4 Wdis Caption Tvisebas wavuSaloT

dumiliT micemuli mniSvneloba..

8. gamoviZaxoT kodis redaqtori, risTvisac Rilakze

orjer davawkapunoT.

9. Button1-saTvis CavsvaT saWiro kodi. gavakeToTkodis redaqtireba ise, rom miviRoT Semdegi teqsti:

Procedure TForm1.Button1Click (Sender: TObject);var Value1, Value2, Total : integer;begin Value1 := StrToInt (Edit1.Text); Value2 := StrToInt (Edit2.Text); Total := Value1 + Value2; Label4.Caption := IntToStr (Total);end;

10. failis Sesanaxad avirCioT File | Save As. SevinaxoTprogramuli moduli ADDFORM.PAS failSi,

xolo proeqtis faili ADD.DPR failSi.

11. danarTis gasaSvebad vaWerT F9 Rilaks.

Tu yvelaferi swori aRmoCnda forma gaielvebs

ekranze, Cven SegviZlia SevitanoT redaqtirebis fanjaraSi

ricxvi, davaWiroT `Sekreba~ Rilaks da Label4 WdisfanjaraSi miviRoT jami.

Cveni danarTis sruli kodi gamoiyureba Semdegnairad:

unit addform;

interface

Page 151: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

151

uses

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

typeTForm1 = class (TForm)Button1 : TButton;Edit1 : TEdit;Edit2 : TEdit;Label1 : TLabel;Label2 : TLabel;Label3 : TLabel;Label4 : TLabel;procedure ButtonClick (Sender : TObject);private{ private declarations}public{ public declarations}end;

varForm1 : TForm1;

implementation;

{$r * . DFM}

procedure TForm1.Button1Click (Sender : TObject);varValue1, Value2, Total : integer;beginValue1 := StrToInt (Edit1.Text);

Page 152: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

152

Value2 := StrToInt (Edit2.Text);Label4.Caption := IntToStr (Value1 + Value2);end;

end.

redaqtirebis fanjaraSi Setanili teqsturi striqoni

gardaiqmneba ricxviT mniSvnelobad StrToInt funqciis

gamoyenebiT. es funqcia ricxviT mniSvnelobebs inaxavs Value1da Value2 cvladebSi, Seajamebs am ricxvebs da miRebulmniSvnelobas gadaiyvans striqonul formatSi. miRebuli

mniSvneloba warweris saxiT moTavsdeba Label4 WdeSi.

programis gamarTvis damatebiTi brZanebebi.

Delphi-s menius Run ganyofileba Seicavs zogierT

programis SesrulebisaTvis saWiro damatebiT brZanebas.

Run - F9 programis kompilacia da Sesruleba; gawyobis

reJimSi muSaobisas programis Sesruleba gaagrZelos

mocemuli wertilidan.

Step Over – F8 brZaneba axorcielebs programis

striqonebis nabij-nabij Sesrulebas. funqciaSi an

proceduraSi Sesvla ar xdeba.

Trace Into – F7 axorcielebs programis nabij-nabij

Sesrulebas, gamoZaxebul funqciaSi da proceduraSi

SesvliT.

Trace to Next Source Line - [Shift-F7] momdevnoSesasrulebel striqonze gadasvla.

Run to Cursor – F4 brZaneba axorcielebs programis

Sesrulebas kursoris adgilamde.

Show Execution Point brZaneba kursors moaTavsebsmomdevno Sesasrulebel operatorze.

Page 153: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

153

komponentebis Tvisebebi

Delphi-is yvela komponents aqvs Tavisi Tviseba. isini

saSualebas iZlevian SevcvaloT formisa da komponentebis

zomebi da sxva Tvisebebi. formebis Tvisebebze mimarTva

SeiZleba obieqtebis inspeqtoris meSveobiT. obieqtebis

inspeqtors aqvs ori CanarTi: Properties (Tvisebebi) daEvents (xdomilobebi).

ganvixiloT Cvens mier gamoyenebuli komponentis

Tvisebebi, es komponentia Button (Rilaki). gavxsnaT axali

proeqti, davsvaT Rilaki. davuSvaT am RilakisaTvis gvinda

davayenoT ramodenime Tviseba, magaliTad Height (simaRle),

misi dayeneba xdeba ricxviTi mniSvnelobis akrefviT, CursorTvisebis arCeva xorcieldeba Camoxsnadi menius saSualebiT,

saidanac SeiZleba sasurveli Tvisebis arCeva. iseTi Tviseba

rogoricaa Default (dumiliT) gvTavazobs True-FalsemniSvnelobebis arCevans. Caption (warwera) Tvisebis saxiTwarmodgenilia teqsti, romelic unda aikrifos saWiroebis

mixedviT. aris egreTwodebuli CarTuli Tviseba, romlis

winac dasmulia + niSani, magaliTad +Font. masze orjerdawkapunebiT igi gaixsneba da gamoCndeba CarTuli Tvisebebi.

aq SeiZleba gvqondes ramdenime CarTva.

ganvixiloT Button komponentis Tvisebebis sia:CancelCaptionCursorDefaultDragCursorDragModeEnabled+Font Color

Page 154: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

154

Height Name Pitch Size +Style fsBold fsItalic fsUnderline fsStrikeOutHeightHeipContextHintLeftModalResultNameParentFontParentChowHintPopupMenuShowHintTabOrderTabStopTagTopVisibleWidthzogierTi Tviseba damokidebulia sxva Tvisebaze.

magaliTad Hint (miTiTeba). es miTiTeba gamodis maSin, rodesackursori miuaxlovdeba komponents. es imuSavebs mxolod

maSin, Tu ShowHint TvisebaSi arCeulia True mniSvneloba.

Tu TvisebaSi ParentShowHint (gamoviyenoT mSoblis ShowHint)arCeulia True mniSvneloba, miTiTeba gamova mxolod mSobel

formaze, xolo Tu misi mniSvnelobaa False es miTiTebagavrceldeba Svili formebisaTvisac. aseve Tu ParentFont

Page 155: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

155

(gamoviyenoT mSoblis Srifti) TvisebaSi dayenebulia True,komponenti miiRebs informacias Sriftis Sesaxeb mSobeli

formisagan.

xdomilobebi.

RilakisaTvis SeiZleba avirCioT saWiro xdomiloba,

romelic ganTavsebulia obieqtebis inspeqtorze.

xdomilobis SeqmnisaTvis orjer davawkapunoT xdomilobis

velze, gamosul fanjaraSi SevitanoT xdomilobis kodi.

meTodebi .

meTodi iZleva komponentis marTvis saSualebas.

magaliTad Tu saWiroa, rom Rilaki gaxdes uxilavi, unda

aikrifos kodi Button1.Hide. ganvixiloT ButtonkomponentisaTvis misawvdomi meTodebis sia:

BeginDragBringToFrontCanFocusClientToScreenCreateDestroyDraggingEndDragFocusedFreeGetTextBufGetTextLenHideRefreshRepaintScaleBy

Page 156: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

156

ScreenToClientScrollBySendToBackSetBoundsSetFocusSetTextBufShowUpdatemeTodis Sesaxeb informaciis misaRebad saWiroa

davawkapunoT komponenteze da davaWiroT F1 Rilakze.

miviRebT cnobebs aRniSnuli komponentis Sesaxeb. avirCioT

Methods da gamoCndeba mocemuli komponentisaTvis misawvdomi

sia. erT-erTis arCeva iZleva imis ganmartebas Tu rogor

muSaobs igi da rogor visargebloT am meTodiT.

gverdi Standard (standartuli)

komponenti MainMenu ( mTavari meniu) saSualebas

iZleva formaze Seiqmnas mTavari menius zoli da Camoxsnadi

meniu. es aravizualuri komponentia.

komponenti PopupMenu (mcocavi meniu), mcocavi

menius Seqmnis saSualebas iZleva. es meniu gamova Tagvvis

marjvena Rilakis daWerisas. es aravizualuri komponentia.

komponenti formaze teqstis ganTavsebis saSua-

lebas iZleva. komponenti vizualuria.

komponenti Edit (redaqtirebis fanjara) gamoi-

yeneba momxmareblis mier erTstriqoniani teqstis Sesatanad.

komponenti vizualuria.

Page 157: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

157

Memo komponenti (redaqtirebis mravalstri-

qoniani fanjara), gamoiyeneba mravalstriqoniani teqstis

Sesatanad. komponenti vizualuria.

komponenti Button (brZanebis Rilaki), gamoiyeneba

Rilakis Sesaqmnelad, romliTac momxmarebeli danarTisaTvis

irCevs brZanebas. komponenti vizualuria.

CheckBox komponenti (sakontrolo indikatori

droSiT) momxmarebels programis opciis amorCevis an

gamorTvis saSualebas aZlevs. komponenti vizualuria.

RadioButton komponenti (radioRilaki) momxmarebels

aZlevs alternativebis nakrebs, saidanac amoirCeva erTi.

komponenti vizualuria.

ListBox komponenti (siis fanjara), momxmarebels

siidan amorCevis saSualebas aZlevs.

ComboBox komponenti (redaqtirebadi sia)

aerTianebs ListBox-isa da Edit-is funqciebs. momxmarebels

SeuZlia airCios teqsti siidan an Seitanos teqsti siaSi.

komponenti vizualuria.

Scrollbar komponenti (gadaxvevis xazi). komponenti

vizualuria.

GroupBox komponenti (jgufuri fanjara).

aerTianebs urTierTdakavSirebul marTvis organoebis jgufs,

magaliTad, rogoricaa RadioButton an CheckBox da sxva.komponenti vizualuria.K

Page 158: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

158

RadioGroup komponenti (radioRilakebis jgufi)

warmoadgens GroupBox-is fanjarasradioRilakebis nakrebiT.

emsaxureba radioRilakebis jgufis Seqmnas. komponenti

vizualuria.

Panel komponenti (paneli), gamoiyeneba mdgomareobis

zolis, instrumentebis panelis, instrumentebis palitris

Sesaqmnelad. komponenti vizualuria.

teqsturi failis demonstrirebis magaliTi.

SevqmnaT programa, romelic akeTebs teqsturi failis

demonstrirebas.

formaze ganvaTavsoT Semdegi elementebi: Label1, Edit1,

Page 159: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

159

Label2, Edit2. formis qveda nawilSi ganvaTavsoT sami Rilaki:

Button1, Button2, Button3, Rilakebs davarqvaT saxelebi:

`Senaxva~, ̀ CatvirTva~, ̀ daxurva~.

Rilaks `Senaxva~ davamatoT kodi:

procedure TForm1.Button1Click (Sender: TObject);var OutFile : TextFile; fname, OutString : string;begin {cvlads davarqvaT failis saxeli}

fname:= ̀ JUNKFILE.TXT`; {ganvsazRvroT failis saxeli da tipi, rogorc

OutFile} AssignFile(OutFile,fname); {Seiqmnas da gaixsnas axali faili, gansazRvruli

rogorc OutFile} Rewrite(OutFile); {aviRoT teqsti CawerisaTvis gavsazRvrul

redaqtirebis fanjridan}

OutString:=Edit1.Text; {CavweroT teqsti OutString striqonidan failSi}

Writeln(OutFile,OutString); {ganvaaxloT da davxuroT faili}

CloseFile(OutFile);end;

Rilaks `CatvirTva~ davamatoT kodi.

procedure TForm1.Button2Click (Sender: TObject);var InFile : TextFile;

Page 160: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

160

fname, InString : string;begin {cvlads mivceT teqsturi failis saxeli}

fname := ‘JUNKFILE.TXT’; {ganvsazRvroT teqsturi faili, rogorc InFile} AssignFile (InFile, fname); {gavxsnaT InFile faili}

Reset (InFile); {wavikiTxoT teqstis striqoni} Readln (InFile, InString); {wakiTxuli striqoni movaTavsoT Read Text

fanjaraSi}

Edit2.Text := InString; {davxuroT faili}

CloseFile (InFile);end;

Rilaks `daxurva~ davamatoT kodi.

procedure TForm1.Button3Click(Sender: TObject);begin Application.Terminate;end;

programis sruli teqsti gamoiyureba Semdegnairad:

unit Textform;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls,

Forms, Dialogs,

Page 161: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

161

StdCtrls;

type TForm1 = class(TForm) Edit1 : TEdit; Label1 : TLabel; Label2 : TLabel; Edit2 : TEdit; Button1 : TButton; Button2 : TButton; Button3 : TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);var OutFile : TextFile; fname, OutString : string;begin fname:= ‘JUNKFILE.TXT’;

Page 162: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

162

AssignFile(OutFile,fname); Rewrite(OutFile); OutString:=Edit1.Text; Writeln(OutFile,OutString); CloseFile(OutFile);end;

procedure TForm1.Button2Click(Sender: TObject);var InFile : TextFile; fname, InString : string;begin fname := ‘JUNKFILE.TXT’; AssignFile (InFile, fname); Reset (InFile); Readln (InFile, InString); Edit2.Text := InString; CloseFile (InFile);end;

procedure TForm1.Button3Click(Sender: TObject);begin Application.Terminate;end;

end.

ti pizebuli faili

tipizebuli failis demonstrirebisaTvis SevqmnaT

axali proeqti. SevinaxoT moduli, rogorc ADDR.PASxolo proeqti rogorc ADDRESS.DPR . jer SevqmnaTCanaweris struqtura. Implementation nawilSi {$R*DFM}

Page 163: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

163

qvemoT movaTavsoT Semdegi kodi:

type Address = record Lastname : String[20]; Firstname : String[20]; Phone : String[15]; StreetAddress : String[50]; City : String[40]; State : String[2]; ZipCode : String[10];end;

aq gamoyenebulia mxolod striqonuli tipi, magram Cven

SegveZlo gamogveyenebina monacemTa sxva tipebic, rogoricaa

mTeli, namdvili da a.S. zemoT aRniSnuli kodis Semdeg

movaTavsoT Semdegi:

var AddresFile : File of Address; AddressData : Address;

AddresFfile es aris Address tipis failuri cvladi.

AddressData es aris Address tipis cvladi.

ganvixiloT procedurebi da funqciebi, romlebic

gamoiyenebian tipizebul failebTan muSaobisas.

AssignFile

sintaqsi: procedure AssignFile(var F, String);daniSnuleba: failur cvlads aniWebs failis saxels.

Reset

Page 164: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

164

sintaqsi: procedure Reset (var F: File; [RecSize: Word] );daniSnuleba: gamoiyeneba arsebuli failis

gasaxsnelad. im failisa, romlis saxeli mieniWa failur

cvlads AssignFile – is daxmarebiT.

Rewrite

sintaqsi: Procedure Rewrite (var F[: File; RecSize:Word ]);

daniSnuleba: gamoiyeneba im failis Sesaqmnelad da

gasaxsnelad, romlis saxeli mieniWa failur cvlads

AssignFile-s daxmarebiT.

Seek

sintaqsi: Procedure Seek (var F, N: Longint);daniSnuleba: gamoiyeneba failuri maCveneblis

gaxsnili failis gansazRvrul Canawerze gadasaadgileblad.

Read

sintaqsi: Procedure Read (F; V1 [, V2, . . . , Vn] );daniSnuleba: gamoiyeneba failidan Canaweris

wasakiTxad.

Write

sintaqsi: Procedure Write (F; V1 [, V2, . . . , Vn] );daniSnuleba: gamoiyeneba failSi monacemis Casawerad.

Eof

sintaqsi: Procedure Eof (var F): Boolean;

Page 165: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

165

daniSnuleba: gamoiyeneba failis dasasrulis

aRniSvnisaTvis.

CloseFile

sintaqsi: Procedure CloseFile (var F);daniSnuleba: gamoiyeneba Caweris damTavrebisa da

failis daxurvisaTvis.

proeqtis magaliTi.

mivubrundeT Cvens programas. AddressData : Address;striqonis Semdeg CavweroT:

Fname : String;RecSize, CurRec : Longint;

exla davamatoT formaze Svidi redaqtirebis fanjara,

Svidi Wde, oTxi Rilaki da erTi BitBtn Rilaki.

Page 166: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

166

ganvixiloT kodi da gamoviyenoT igi Sesabamis marTvis

elementebze dasamateblad.

`misamarTebisa da telefonebis~ wignis danarTis

amonabeWdi:

Unit Addr;

interface

Page 167: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

167

usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;

type TForm1 = class (TForm) Edit1: TEdit;

Edit2: TEdit;Edit3: TEdit;Edit4: TEdit;Edit5: TEdit;Edit6: TEdit;Edit7: TEdit;Label1: TLabel;Label2: TLabel;Label3: TLabel;Label4: TLabel;Label5: TLabel;Label6: TLabel;Label7: TLabel;Previous: TButton;Next: TButton;Save: TButton;New: TButton;Close: TBitBtn;procedure FormCreate (Sender : TObject);procedure NewClick (Sender: TObject);procedure previousClick(Sender : TObject);procedure NextClick (Sender: TObject);procedure SaveClick (Sender: TObject);procedure CloseClick (Sender: TObject);

private

Page 168: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

168

{private declarations}procedure LoadRecord; procedure SaveRecord;

procedure ShowRecord;procedure ClearData;

public {public declarations}end;

var Form1: TForm1;

implementation{$R*.DFM}type Address = record Lastname: String[20]; Firstname: String[20]; Phone: String[15]; StreetAddress: String[50]; City : String[40]; State : String[2]; ZipCode : String[10];end;

Var AddressFile : File of Address; AddressData : Address; Fname : String; RecSize, CurRec : Longint;

procedure TForm1.LoadRecord;begin

Page 169: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

169

{Canaweris CatvirTva} Read(AddressFile, AddressData); {Canaweris gamosaxva ekranze} ShowRecord;end;

procedure TForm1.SaveRecord;begin {Canaweris kopireba ekranidan} AddressData.Lastname := Edit1.Text; AddressData.Firstname := Edit2.Text; AddressData.Phone := Edit3.Text; AddressData.StreetAddress := Edit4.Text; AddressData.City := Edit5.Text; AddressData.State := Edit6.Text; AddressData.ZipCode := Edit7.Text; {movaTavsoT Canaweri failSi}

Write (AddressFile, AddressData);end;

procedure TForm1.ClearData;begin {redaqtirebis fanjrebis gasufTaveba}

Edit1.Text := ‘ ‘;Edit2.Text := ‘ ‘;Edit3.Text := ‘ ‘;Edit4.Text := ‘ ‘;Edit5.Text := ‘ ‘;Edit6.Text := ‘ ‘;Edit7.Text := ‘ ‘;

end;

procedure TForm1.FormCreate (Sender: TObject);

Page 170: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

170

begin {redaqtirebis fanjrebis gasufTaveba} ClearData; {Clear Current Record Counter} CurRec := 0; {davayenoT failis saxeli}

Fname := ‘ADDRESS.DAT’; {davniSnoT failuri cvladi};

AssignFile (AddressFile, Fname); {miviRoT Canaweris zoma} RecSize := SizeOf (AddressData); {Tu faili arsebobs, igi CavtvirToT}

If FileExists (Fname) thenBegin Reset (AddressFile); If not Eof (AddressFile) then begin Read (AddressFile, AddressData); ShowRecord; end;end

{winaaRmdeg SemTxvevaSi SevqmnaT igi} else begin ClearData; Rewrite (AddressFile); end;end;

procedure TForm1.NewClick (Sender: TObject);begin repeat

Page 171: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

171

CurRec := CurRec + 1; Seek (AddressFile, CurRec);until Eof (AddressFile); {gavasufTaoT redaqtirebis fanjara} ClearData; {SevqmnaT axali Canaweri}

SaveRecord; {failis maCvenebeli gadavaadgiloT mimdinare

Canawerze}

Seek (AddressFile, CurRec);end;

procedure TForm1.PreviousClick (Sender: TObject);begin If CuRec-1 < 0 thenbegin {Tu mivediT failis dasawyisTan, gadavideT pirvel

CanawerTan da gamovceT Setyobineba}

CurRec := 0; Seek (AddressFile, CurRec); ShowMessage (‘es failis dasawyisia’)

end {winaaRmdeg SemTxvevaSi davbrundeT erTi CanaweriT

ukan da da gamovsaxoT ekranze}

elsebegin CurRec := CurRec – 1; Seek (AddressFile, CurRec); Read (AddressFile, AddressData); Seek (AddressFile, CurRec); ShowRecord; end;end;

Page 172: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

172

procedure TForm1.NextClick (Sender: TObject);begin {gadavadgildeT Semdeg Canawerze}

CurRec := CurRec + 1;Seek (AddressFile, CurRec);{Tu ar aris failis dasasruli, wavikiTxoT da

gamovsaxoT Canaweri}

If not Eof (AddressFile) thenbegin Read (AddressFile, AddressData); Seek (AddressFile, CurRec); ShowRecord;end{Tu miRweulia failis dasasruli, davubrundeT bolo

Canawers da gamovceT Setyobineba)

elsebegin CurRec := CurRec – 1; Seek (AddressFile, CurRec); ShowMessage (‘es failis dasasrulia’);

end;end;

procedure TForm1. ShowRecord;begin {gadavakopiroT faili redaqtirebisaTvis}

Form1.Edit1.Text := AddressData.Lastname; Form1.Edit2.Text := AddressData.Firstname; Form1.Edit3.Text := AddressData.Phone; Form1.Edit4.Text := AddressData.StreetAddress; Form1.Edit5.Text := AddressData.City; Form1.Edit6.Text := AddressData.State;

Page 173: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

173

Form1.Edit7.Text := AddressData.ZipCode;end;

procedure TForm1.SaveClick (Sender: Tobject);begin {SevinaxoT Canaweri} SaveRecord; {gamovsaxoT Canaweri redaqtirebis fanjaraSi} ShowRecord;end;

procedure Tform1.CloseClick (Sender: TObject);begin {SevinaxoT mimdinare Canaweri} SaveRecord; {davxuroT faili}

CloseFile (AddressFile); {gamosvla danarTidan}

Application.Terminate;end;

end.

es programa qmnis ADDRESS.DAT fails, momxmarebli-

sagan iRebs monacemebs da inaxavs am failSi Canaweris

formiT. `axali~ Rilakis kodi asufTavebs Semavali

monacemebis vels da axali Canaweris Setanis saSualebas

iZleva. ̀ Senaxva~ Rilaki Cawers am monacemebs ADDRESS.DATfailSi. `wina~ da `momdevno~ Rilakebi wina da momdevno

Canawerze gadaadgilebis saSualebas iZleva. `daxurva~

Rilaki danarTidan gamosvlis saSualebas iZleva.

Page 174: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

174

exla SegviZlia danarTis testireba gavakeToT.

SevitanoT monacemebi da davaWiroT ̀ Senaxva~ Rilaks, Semdegi

Canaweris Sesatanad vaWerT ̀ axali~ Rilaks, redaqtirebis

fanjrebi gasufTavdeba da momzaddeba axali Canaweris

Sesatanad. danarTis momdevno gaSvebisas danarTi TiTon

ipovis ADDRESS.DAT fails da gamoitans mis pirvel

Canawers ekranze.

SevqmnaT forma `standartuli~ gverdis Rilakebis

gamoyenebiT:

Page 175: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

175

unit gilakebi;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls;

type TForm1 = class(TForm) Memo1: TMemo; RadioGroup1: TRadioGroup; RadioButton1: TRadioButton; RadioButton2: TRadioButton; CheckBox1: TCheckBox; CheckBox2: TCheckBox; ComboBox1: TComboBox; Button1: TButton; MainMenu1: TMainMenu; N1: TMenuItem; File1: TMenuItem; procedure RadioGroup1Click(Sender: TObject); procedure CheckBox1Click(Sender: TObject); procedure CheckBox2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure ComboBox1Change(Sender: TObject); procedure File1Click(Sender: TObject); private { Private declarations }

Page 176: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

176

public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.RadioGroup1Click(Sender: TObject);beginif radiogroup1.itemindex=0 then form1.Color:=clsilver;if radiogroup1.itemindex=1 then form1.Color:=clblue;if radiogroup1.itemindex=2 then form1.Color:=clyellow;if radiogroup1.itemindex=3 then form1.Color:=clred;end;

procedure TForm1.CheckBox1Click(Sender: TObject);beginif checkbox1.state=cbchecked then form1.Font.Style:=[fsitalic] else form1.Font.Style := [];end;

procedure TForm1.CheckBox2Click(Sender: TObject);beginif checkbox2.state=cbchecked then form1.Font.Style := [fsbold] else

Page 177: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

177

form1.Font.Style:=[];end;

procedure TForm1.Button1Click(Sender: TObject);beginmemo1.Clear;end;

procedure TForm1.RadioButton1Click(Sender: TObject);beginif radiobutton1.Checked then memo1.Color := clwhite;end;

procedure TForm1.RadioButton2Click(Sender: TObject);beginif radiobutton2.Checked then memo1.Color := claqua;end;

procedure TForm1.ComboBox1Change(Sender: TObject);beginif combobox1.ItemIndex=0 then memo1.Font.Name:='arial';if combobox1.ItemIndex=1 then memo1.Font.Name:='Litnusx'; if combobox1.ItemIndex=2 then memo1.Font.Name:='Litmtavrps';end;

Page 178: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

178

menius Sesadgenad formaze davsvaT Main Menu Rilaki,

masze orjer davawkapunoT, gamosul formaze

moniSnuli Rilakis Caption TvisebaSi CavweroT File,Tu gvinda, rom misi pirveli simbolo iyos xazgasmuli,

CavweroT &File, movniSnoT Semdegi Rilaki da Caption-Si CavweroT &Help. meniu File-s brZanebebis SesadgenaddavawkapunoT masze da gamosuli Rilakis Caption-SiCavweroT Exit da a.S.forma miiRebs Semdeg saxes:

procedure TForm1.File1Click(Sender: TObject);beginapplication.Terminate;end;

end.

Page 179: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

179

grafikuli elementebi

magaliTSi gamoyenebulia piqselebis Tviseba, sinusoidis

asagebad. formaze aris erTaderTi Rilaki, masze daWerisas

daixazeba sinusoida.

Page 180: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

180

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

const pi=3.14159;

Page 181: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

181

var X : real; Y : real; PX : longint; PY : longint; HalfHeight : Longint;

begin HalfHeight := form1.Height div 2; for PX := 0 to form1.Width do

begin X := PX*(2*PI/Form1.Width); Y := sin(X); PY := trunc(0.7 * Y * Halfheight) + HalfHeight; Canvas.Pixels[PX,PY] := 0; end;

end;end.

Page 182: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

182

wrfeebis daxazva.

erTi wertilidan meoreSi wrfeebis gasavlebad

gamoiyeneba LineTo meTodi, romelic moiTxovs mxolod

saboloo wertilis koordinatas Cvenebas da daivleba

xazi mimdinare wertilidan naCveneb poziciamde.

Page 183: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

183

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

const Pi=3.14159;

Page 184: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

184

var X : real; Y : real; PX : Longint; PY : Longint; Offset : Longint; HalfHeight : Longint;

begin HalfHeight := Form1.Height div 2; for Offset := -10 To 10 do begin PX := 0; While PX < Form1.Width do BEGIN X := PX * (2 * PI/Form1.Width); Y := SIN(X); PY := Trunc(0.7 * Y * HalfHeight) + HalfHeight

+(Offset*10); IF (PX = 0) Then canvas.LineTo(PX, PY); PY := trunc(0.7 * Y * HalfHeight) + HalfHeight + ((Offset-1) * 10); canvas.LineTo(PX,PY); PX := PX + 15; end; end;

Page 185: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

185

martivi animacia Mode Tvisebis gamoyenebiT.

programa, dasawyisSi kalmis pmCopy da feris clRedreJimis gamoyenebiT xatavs wiTeli feris fanjaras, Semdeg

ki gadaaadgilebs samkuTxeds fanjris gavliT, risTvisac

iyenebs kalmis pmNotXor reJims. es saWiroa imisaTvis,rom TiToeul poziciaSi orjer daixatos samkuTxedi.

pirvelad samkuTxedi daixazeba, xolo meored waiSleba.

Page 186: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

186

unit Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls;

type TForm1 = class(TForm) Button1 : TButton; procedure Button1Click(Sender : TObject); private { Private declarations } public { Public declarations } end;

var Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender : TObject);var count : integer; pause : real;

begin

Page 187: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

187

form1.Canvas.Pen.Mode := pmcopy; form1.Canvas.Pen.Color := clRed; form1.Canvas.PolyLine([point(50,10), point(100, 10), point(100, 200), point(50, 200), point(50, 10)]); form1.Canvas.Pen.Color := clBlue; form1.Canvas.Pen.Mode := pmNotXor; For count := 0 to (form1.Width div 5) do begin

Form1.Canvas.Polyline([point(Count * 5, 100), point(Count * 5 + 10, 100), point(Count * 5 + 5, 110), point(Count * 5, 100)]); Pause := Time; while (Time-Pause) < 1e-12 do; Form1.Canvas.Polyline([point(Count * 5, 100), point(Count * 5 + 10, 100), point(Count * 5 + 5, 110), point(Count * 5, 100)]);

end; end;

end.

Page 188: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

188

ganvixiloT magaliTi.

danarTi, romelic `probelebs~ gardaqmnis

` mZimeebad~.

unit Sp2cma;

interfaceuses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, dialogs, Menus, StdCtrls;

Type TForm1 = Class(TForm) Button1: TButton; Button2: TButton; Button3: TButton; OpenDialog1: TOpenDialog; Edit1: TEdit; Label1: Tlabel; procedure Butto2Click (Sender: Tobject); procedure Butto1Click (Sender: Tobject); procedure Butto3Click (Sender: Tobject);private{private declarations}public{public declarations}end;

var Form1: TForm1;

implementation

Page 189: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

189

var

Fname: String; {SR * DFM}

procedure TForm1.Button2Click(Sender: TObject);

var InFile: File; FBuffer : Array [0..1023] of Byte; FPointer : Longint; ButesRead : Integer; X: Integer;

begin

AssignFile(InFile,Fname); Reset(InFile,1); While Not Eof (InFile) do begin FPointer := FilePos(InFile); BlockRead (InFile, FBuffer, SizeOf(FBuffer), BytesRead); For x:=0 to BytesRead-1 do begin If FBuffer[x]=32 then Fbuffer[x] := 44;

end;

Seek(InFile, FPointer);BlockWrite(InFile, FBuffer, BytesRead);end;

CloseFile(InFile);ShowMessage( ‘procesi dasrulebulia!’);

end;

Page 190: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

190

procedure TForm1.Button1Click(Sender: TObject);begin

OpenDialog1.FileName:=’*.*’; if OpenDialog1.Execute then Fname:= OpenDialog1.FileName; Edit1.Text:=Fname; Edit1.Visible:=True; Label1.Visible:=True;end;

procedure TForm1.Button3Click(Sender: TObject);

begin Application.Terminate;

end;end.

Page 191: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

191

sarCevi

Turbo PascalSesavali ............................................................................................................................... 3

funqcionaluri Rilakebi ......................................................................................... 4

pirveli programa .......................................................................................................... 4

monacemTa tipebi ............................................................................................................ 9

monacemTa tipebis gardaqmna da maTze moqmedebebi ................................... 12

Sedgenili da carieli operatori ................................................................... 15

pirobis operatori ...................................................................................................... 21

FOR – TO cikli ............................................................................................................ 26

WHILE – DO cikli ..................................................................................................... 29

REPEAT – UNTIL cikli ............................................................................................. 31

amorCevis operatori ................................................................................................. 34

Wde da gadasvlis operatori .............................................................................. 39

masivis tipi .................................................................................................................... 41

simravlis tipi ............................................................................................................ 46

striqonuli tipi ....................................................................................................... 50

Object PascalCanawerebi .......................................................................................................................... 56

tipizebuli mudmiva .................................................................................................. 64

CamoTvliTi tipi ......................................................................................................... 65

variantis tipi ............................................................................................................. 66

Page 192: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

192

moduli........................................................................................................110

formebi........................................................................................................115

formebisa da komponentebis Tvisebebi ..............................115

Delphi-is martivi danari.................................................................115kodis redaqtoris fanjara.........................................................119

obieqtebis inspeqtori....................................................................120

Delphi-is menius struqtura........................................................123obieqtur-orientirebuli daproeqteba...............................136

Delphi-is danarTi..................................................................................138proeqtis magaliTi.............................................................................142

Delphi

ganStoeba......................................................................................................67

Goto...................................................................................68 Break..............................................................................69 Continue..........................................................................70 Exit..................................................................................71 Halt..................................................................................72 RunError..........................................................................72failis tipi..............................................................................................73

procedurebi da funqciebi failebTan muSaobisaTvis.......75

procedurebi da funqciebi teqsturi failebisaTvis78

procedurebi da funqciebi tipizebuli da aratipize-

buli failebis damuSavebisaTvis....................................................82

procedurebi..............................................................................................83

funqciebi......................................................................................................87

standartuli qveprogramebi...........................................................89

ariTmetikuli funqciebi...................................................................90

gardaqmnis funqciebi............................................................................92

sxva funqciebi..........................................................................................94

teqsturi da grafikuli reJimebi.............................................96

Page 193: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

193

redaqtoris gamoyenebis magaliTi..............................................148

programis marTvis damatebiTi brZanebebi...........................152

komponentebis Tvisebebi.....................................................................153

xdomilobebi...............................................................................................155

meTodebi.........................................................................................................155

komponentebis gverdi standartuli........................................156

teqsturi failis demonstrirebis magaliTi...................158

tipizebuli faili................................................................................162

proeqtis magaliTi................................................................................165

grafikuli elementebi delfSi..................................................179

Page 194: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

194

literatura

1. v. v. faronovi, TurboPascal, sawyisi kursi, saswavlo

saxelmZRvanelo, 1997w. moskovi.

2. d. ouzer, s. grobman, s, batson Delphi, moskovi, 2001weli.

3. Booch G. Object-Oriented Design with Applications. Calif.,1990.

4. Coad P., Yourdan E. Object-Oriented Analysis. Prentice-Hall,1991

5. Jacobson I. Object Oriented Software Engineering. AddisonWesley, 1992

6. g. surgulaZe daprogramebis meTodebi, Tbilisi 1997w.

Page 195: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

195

Page 196: saqarTvelos teqnikuri universiteti - GTUpublishhouse.gtu.ge/book3/Daprogr_Pascal.pdf · saqarTvelos teqnikuri universiteti, 2002 ... cnobili frangi maTematikosisa da filosofosis blez

196