Lekcijas 2. presentācija

Download Report

Transcript Lekcijas 2. presentācija

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
Shortint
-128 … 127
Formāts(baitos)
1
Smallint -32 768 … 32 767
2
Longint
4
-2 147 483 648 … 2 147 483 647
Int64
-263 … 263 – 1
8
Byte
0 … 255
1 (bez zīmes)
Word
0 … 65 535
2 (bez zīmes)
0 … 4 294 967 295
4 (bez zīmes)
Longword
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
ciparu skaits
Real48 2.9* 10-39 …1.7*1038
Single
Double
1.5 * 10-45 … 3.4* 1038
5.0*10-324 … 1.7*10308
Extended
Comp
3.6*10-4951 …1.1 *104932
-263+1 - 263-1
Baitu skaits
11-12
7-8
6
4
15-16
19-20
8
10
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
1 000 000
Agebriskā forma
1*106
Forma ar peldošo punktu
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 integer
39
Standarta funkcijas
Matemātiskas funkcijas
Funkcija
Аbs (n)
Sqrt (n)
Vērtība
n absolūta vērtība
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
Chr(n)
Funkcijas vērtība
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