44
Delphi programmēšanas valoda Delphi programmēšanas vidē programmas ierakstam tiek izmantota Delphi programmēšanas valoda. Programma Delphi vidē pārstāv instrukciju secīgumu, kuras diezgan bieži sauc par operatoriem. Viena instrukcija no citas nošķiras ar semikolu. 1

Delphi programmēšanas valoda

Embed Size (px)

DESCRIPTION

Delphi programmēšanas valoda Delphi programmēšanas vidē programmas ierakstam tiek izmantota Delphi programmēšanas valoda. Programma Delphi vidē pārstāv instrukciju secīgumu, kuras diezgan bieži sauc par operatoriem. Viena instrukcija no citas nošķiras ar semikolu. Datu tipi - PowerPoint PPT Presentation

Citation preview

Delphi programmēšanas valoda

Delphi programmēšanas vidē programmas ierakstam tiek izmantota Delphi programmēšanas valoda. Programma Delphi vidē pārstāv instrukciju secīgumu, kuras diezgan bieži sauc par operatoriem. Viena instrukcija no citas nošķiras ar semikolu.

1

Datu tipi

Programma var operēt ar atšķirīgiem datu

tipiem: ar veseliem un reāliem skaitļiem,

simboliem, simbolu rindām, loģiskiem

lielumiem.

2

Vesels tips

Delphi valoda atbalsta septiņus veselus

datu tipus:

Shortint, Smailint, Longint, Int64, Byte,

Word un Longword

3

Tips Diapazons Formāts(baitos)

Shortint -128 … 127 1

Smallint -32 768 … 32 767 2

Longint -2 147 483 648 … 2 147 483 647 4

Int64 -263 … 263 – 1 8

Byte 0 … 255 1 (bez zīmes)

Word 0 … 65 535 2 (bez zīmes)

Longword 0 … 4 294 967 295 4 (bez zīmes) Object Pascal atbalsta arī īpašu universālu veselu tipu - Integer, kurš

ir ekvivalents Longint.

4

Reāls tips

Delphi valoda atbalsta sešus reālus tipus:

Real48, Single, Double, Extended, Comp,

Currency. Tipi atšķiras savā starpā ar diapazona

pieļaujamo vērtību, ar nozīmējošo ciparu

daudzumu un baitu daudzumu, kas ir

nepieciešami datu glabāšanai datora atmiņā.

5

Tips Diapazons Nozīmējošo Baitu skaits ciparu skaits

Real48 2.9* 10-39 …1.7*1038 11-12 6

Single 1.5 * 10-45 … 3.4* 1038 7 - 8 4

Double 5.0*10-324 … 1.7*10308 15-16 8

Extended 3.6*10-4951 …1.1 *104932 19-20 10 Comp -263+1 - 263-1 19-20 8 Currency -922 337 203 685 477.5808

…922 337 203 685 477.5807 19-20 8

6

Delphi valoda atbalsta arī īpašu universālu

lietisku tipu - Real, kurš ir ekvivalents

Double.

7

Simbolu tips

Delphi valoda atbalsta divus simbolu tipus: Ansichar un Widechar:

Ansichar tips — tie ir simboli ANSI kodēšanā, kurš atbilsta skaitļus diapazonā no 0 līdz 255;

Widechar tips — tie ir simboli Unicode kodēšanā, tam atbilst skaitļi no 0 līdz 65 535.

Object Pascal atbalsta arī īpašu universālu simbolu tipu - Char, kurš ir ekvivalents Ansichar.

8

Rindu tips

Delphi valoda atbalsta trīs rindu tipus: Shortstring, Longstring, WideString:

Shortstring tips pārstāv rindas, kuras ir statiski izvietotas datora atmiņā, garumā no 0 līdz 255 simboliem;

Longstring tips pārstāv rindas, kuru garumu ierobežo tikai brīvās atmiņas apjoms, kuras ir dinamiski izvietotas atmiņā;

9

WideString tips pārstāv rindas, kuru garumu

ierobežo tikai brīvas atmiņas apjoms, kuras ir

dinamiski izvietojamas atmiņā. WideString tipa

rindas katrs simbols ir Unicode-simbols.

Delphi valodā rindu tipa apzīmējumam atļauts string

identifikatora izmantošana. String tips ir ekvivalents

shortstring tipam.

10

Loģisks tips

Loģisks lielums var būt pieņemts vienu no

divām vērtībām: True (patiesība) vai False

(meli) . Delphi valodā loģiskus lielumus

ierindo pie Boolean tipa.

11

Mainīgais

Mainīgais — tas ir atmiņas apgabals, kurā atrodas

dati, ar kuriem operē programma. Kad programma

manipulē ar datiem, viņa faktiski, operē ar atmiņas

šūnu saturu, t.i. ar mainīgiem. Lai programma

varētu vērsties pie mainīgam (atmiņas apgabalam),

mainīgam jābūt vārdam. Mainīgā vārdu ievieš

programmētājs.12

Par mainīga vārdu var izmantot secību no

latīņu alfabēta burtiem, ciparu un

dažādiem speciāliem simboliem. Mainīgā

pirmajam simbolam vārdā jābūt burtam.

Atstarpe mainīgā vārdā izmantot nedrīkst.

13

Vajag pievērst uzmanību uz to, ka Delphi

valodas kompilators neizšķir lielos un

rindas burtus maiņu vārdos, tādēļ vārdi

SUMMA, Summa un summa apzīmē vienu

un to pašu mainīgo.

14

Ieteicams, lai mainīgā vārds būtu loģiski saistīts

ar tās iecelšanu. Piemēram, mainīgiem, kas ir

paredzēti koeficentu un kvadrātvienādojuma

sakņojumu glabāšanai, kuru kopskatā

tradicionāli ieraksta

ах2 + bх + с = 0

pilnīgi loģiski piesavināt vārdus a, b, c, x. 15

Delphi valodā katrs mainīgais pirms

izmantošanas ir jāizsludina.

Ar izsludināšanas palīdzību ir uzstādāms ne

tikai mainīgā eksistences fakts, bet arī ir

uzdodams tās tips, ar ko ir norādīts

pieļaujamo nozīmju diapazons.

16

Kopskatā mainīgā izsludināšanas instrukcija izskatās tā:

Vārds : tips;

kur:Vārds — mainīgā vārds;

tips — datu tips, kuru glabāšanai ir paredzēts mainīgais

17

Piemērs:а : real; b : Real; i : Integer;

Minētajos piemēros izsludināti divi mainīgie real tipa un viens mainīgais integer tipa.

Programmas tekstā izsludināšanu katram mainīgam, kā likums, novieto atsevišķā rindā.

18

Ja programmā ir daži mainīgie, kas attiecas uz

vienu tipu, tad šo mainīgo vārdus var pārskaitīt

vienā rindā caur komatu, bet mainīgo tipu

norādīt pēc pēdējās mainīgā vārda caur kolu,

piemēram:

var

а,b,с : Real;

x1,x2 : Real;19

Konstantes

Delphi valodā eksistē divi konstanšu veidi: parasti un saukti konstantes.

Parasta konstante — tas ir vesels vai daļveida skaitlis, simbolu rinda vai atsevišķs simbols, loģiska vērtība.

20

Skaitliskas konstantes

Programmas tekstā skaitliskas konstantes rakstās ar parastu tēlu, t.i. tāpat kā skaitļi, piemēram, risinot matemātiskus uzdevumus. Pie daļveida skaitļu pieraksta veselo sadalīšanai un daļveida daļām tiek izmantots punkts. Ja konstante noliedz, tad tieši pirms cipara rakstās zīme "mīnuss".

21

Skaitlisku konstanšu piemēri:

123

0.0

-524.03

0

22

Daļveida konstantes var attēlotas skaitļa

veidā ar peldošo punktu. Priekšstats skaitļa

veidā ar peldošo punktu ir izveidots tā, ka

jebkurš skaitlis var būt ierakstīts algebriskā

formā kā skaitļa reizinājums, kas ir mazāks

10, kurš dēvējas par mantisu, un

desmitnieka pakāpe, ko sauc par kārtu.

23

Daļveida skaitļu ieraksta piemēri

Skaitlis Agebriskā forma Forma ar peldošo punktu

1 000 000 1*106 1.0000000000Е+06

-123.452 -1.23452*102 -1.2345200000Е+02

0.0056712 5.6712*10-3 5.6712000000Е-03

24

Rindu un simbolu konstantes

Rindu un simbolu konstantes noslēdzas apostrofos. Rindu konstanšu piemēri:

'Delphi programmēšanas valoda'

'2.4'

'D'

Šeit vajag pievērst uzmanību uz konstanti ' 2.4'. Tā ir

tieša simbolu konstante, t.i. simbolu rinda, bet ne skaitli

2.4. 25

Loģiskas konstantes

Loģiska izteiksme (izteiksme) var būt

patiess, vai meli. Patiesībai atbilst True

konstante, vērtībai "meli" - False

konstante.

26

Vārdā saukta konstante

Vārdā saukta konstante — tas ir vārds (identifikators), kurš programmā tiek izmantots pašas konstantes vietā.

Vārdā saukta konstante, tāpat kā mainīgais, pirms izmantošanas ir jāizsludina. Kopskatā vārdā sauktas konstantes izsludināšanas instrukcija izskatās sekojoši:

konstante = vērtība;

kur:

• konstante — konstantes vārds;

• vērtība — konstantes vērtība.

27

Vārdā sauktas konstantes ir izsludināmas programmā konstanšu izsludināšanas nodalījumā, kurš sākas ar vārdu const. Zemāk ir minēts vārdā sauktu konstanšu izsludināšanas piemērs (vesela, rinda un daļveida).

const

Bound = 10;Title = 'Ideāls svars';pi = 3.1415926;

28

Atšķirībā no mainīga, izsludinot konstanti tipu skaidri nenorāda. Konstantes tips tiek noteikts ar tās veidu, piemēram:

125 — vesela tipa konstante;

0.0 — reāla tipa konstante;

' izpildīt ' — rindu konstante;

' \' — simbolu konstante. 29

Piešķiršanas instrukcija

Piešķiršanas instrukcija ir galvenā aprēķināšanas instrukcija. Ja programmā ir jāizpilda aprēķināšanu, tad vajag izmantot piešķiršanas instrukciju.

Piešķiršanas instrukcijas izpildes rezultātā mainīga nozīme mainās, viņai piešķirtā vērtība.

30

Kopskatā piešķiršanas instrukcija izskatās tā: vārds : = izteiksme;

kur:

Vārds ir mainīgais, kura vērtība izmainās piešķiršanas instrukcijas izpildes rezultātā;

: = — piešķiršanas instrukcijas simbols.

Izteiksme — izteiksme, kuras nozīme piešķir mainīgam, kura vārds ir norādīts pa kreisi no piešķiršanas instrukcijas simbola.

31

Piemēri:

Summa := Сеnа * Kol;

Atlaide := 10;

Found := False;

32

Izteiksme

Izteiksme sastāv no operandiem un

operatoriem. Operatori atrodas starp operandu

un apzīmē darbības, kuras tiek izpildītas ar

operandu. Par izteiksmju operandiem var

izmantot: mainīgos, konstantes, funkcijas vai

citas izteiksmes.

33

Algebriskie operatori

Operators Darbība

+ Saskaitīšana

- Atņemšana

* Reizināšana

/ Dalīšana

DIV Dalīšana ar veselu atbildi

MOD Atlikuma aprēķināšana no dalīšanas

34

Pie izteiksmju ieraksta starp operandu un operatoru, izņemot DIV un MOD operatorus, atstarpi var nelikt.

Operatoru +, -, * un / pielietojuma rezultāts acīmredzams.

DIV operators ļauj saņemt veselu viena skaitļa dalīšanas rezultāta daļa uz citu. Piemēram, izteiksmes nozīme 5 DIV 2 ir vienāds ar 2.

MOD operators, dalīšana, ar moduli ļauj saņemt atlikumu no viena skaitļa dalīšanas uz citu. Piemēram, izteiksmes nozīme 15 MOD 7 ir vienāds ar 1.

35

Aprēķinot izteiksmju nozīmes vajag ņemt vērā, ka operatoriem ir dažāda prioritāte. Tā pie operatoriem *, /, DIV, MOD augstāka prioritāte, nekā pie operatoriem + un -. Operatoru prioritāte iespaido to izpildes kārtību. Aprēķinot izteiksmes nozīmi pirmkārt tiek izpildīti operatori ar augstāku prioritāti. Ja operatoru prioritāte izteiksmē ir vienāda, tad sākumā tiek izpildīts tas operators, kurš atrodas vairāk uz kreiso pusi.

36

Operāciju izpildes vajadzības kārtībai

uzdevumam izteiksmē var izmantot

iekavas, piemēram:

(r1+r2+r3)/(r1*r2*r3)

Izteiksme, kas ir noslēgta iekavas, ir

traktējams kā viens operands.37

Izteiksmes tips

Izteiksmes tips tiek noteikts ar operandu tipu, kas ienāk izteiksmes tipā, un atkarīgs no operācijām, kas ir izpildāmas ar tiem. Piemēram, ja divi operandi, ar kuriem tiek izpildīta operācija - saskaitīšana, kas ir vesels, tad acīmredzami, ka rezultāts arī ir vesels. Bet ja kaut viens no operandiem ir daļveida, tad rezultāta tips ir daļveida, pat tajā gadījumā, ja izteiksmes vērtības daļveida daļā ir vienāda nullei.

38

Izteiksmes tipa definēšanas noteikumi

Operators Operandu tips Izteiksmes tips

*, +, - Kaut viens no operandu real real

*, +, - Abi operandi integer integer

/ real vai integer Vienmēr real

DIV, MOD Vienmēr integer Vienmēr integer39

Standarta funkcijas

Matemātiskas funkcijas

Funkcija Vērtība

Аbs (n) n absolūta vērtība

Sqrt (n) Kvadrātsakne no n

Sqr (n) n kvadrāts

Sin (n) sinuss (n)

Cos (n) kosinuss (n)

Arctan (n) Arktangens (n)

Ехр(n) Eksponenta n

Ln(n) Dabisks logaritms n

Random(n) Nejaušs vesels skaitlis no 0 līdz n - 1 diapazonā

Trigonometrisku funkciju leņķa lielums ir jāieraksta radiānos. 40

Pārveides funkcijas

Pārveides funkcijas (tab. 1.7) visbiežāk tiek izmantotas

instrukcijās, nodrošinot ievadi un informācijas izvadi. Piemēram,

tādēļ, lai attēlotu dialoģisko logu secinājumu (Label komponents)

laukā mainīga real tipa nozīmi, nepieciešams pārveidot skaitli par

simbolu rindu, kas attēlo doto skaitli. To var izdarīt ar FloatToStr

funkcijas palīdzību, kura dod izteiksmes nozīmes rindu

priekšstatu, kas ir norādīta par funkcijas parametru.

41

Pārveides funkcijas

Funkcija Funkcijas vērtība

Chr(n) Simbols, kura kods ir vienāds n

IntToStr (k) Rinda, kas ir vesela k attēlošana

FloatToStr (n) Rinda, kas ir reāla skaitļa n attēlošana

FloatToStrF(n, f , k,m) Rinda, kas ir reāla n attēlošana. Pie

izsaukuma funkcijas norāda: f — formāts (attēlošanas veids); k —

precizitāte (vajadzīgs kopīgs ciparu daudzums); m — ciparu

daudzums pēc punkta

42

Funkcija Funkcijas vērtība

StrToInt (s) Vesels, kura attēlošana ir s rinda

StrToFloat (s) Reāls, kura attēlošana ir s rinda

Round (n) Vesels, saņemts n apaļošanas ceļā pa zināmajiem

likumiem

Trunc (n) Vesels, saņemts daļveida n daļas atmešanas ceļā

Frac(n) Daļveida, pārstāvošs reāla n daļveida daļu

Int (n) Daļveida, pārstāvošs lietiska n veselu daļu

43

Funkciju izmantošanas piemēri

n := Round((x2-x1)/dx);

x1:= (-b + Sqrt(d)) / (2*а);

m := Random(10);

cena := StrToInt(Edit1.Text);

Edit2.Text := IntToStr(100);

mes := 'x1=' + FloatToStr(xl);

44