Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Savjet
  • Funkcije su svi pascal tipovi podataka. Jednostavni tipovi podataka

Funkcije su svi pascal tipovi podataka. Jednostavni tipovi podataka

Pascal tipovi podataka

Bilo koji podatak (konstante, varijable, vrijednosti funkcija ili izrazi) u Turbo Pascalu karakteriziraju njihovi tipovi. Tip definira skup važećih vrijednosti koje objekt može imati, kao i skup važećih operacija koje se mogu primijeniti na njega. Tip takođe određuje format internog prikaza podataka u memoriji računara.

Sljedeći tipovi podataka postoje u Turbo Pascalu.

1) Jednostavni tipovi:

- pravi;

- simbolički;

- logički (logički);

- na listi;

– ograničen (domet).

2) Kompozitni (strukturirani) tipovi:

– regularni (nizovi);

– kombinovano (evidencija);

- fajl;

- višestruki;

- string;

- objekti.

3) Referentni tipovi (ukucani i neupisani pokazivači).

4) Proceduralni tipovi.

Turbo Pascal obezbeđuje mehanizam za kreiranje novih tipova podataka, tako da ukupan broj tipova koji se koriste u programu može biti proizvoljno veliki.

cjelobrojni tip. Vrijednosti cjelobrojnog tipa su elementi podskupa cijelih brojeva. U Turbo Pascalu postoji pet cjelobrojnih tipova. Njihovi nazivi, raspon vrijednosti, dužina reprezentacije u bajtovima dati su u tabeli. 6.

Tabela 6

Cjelobrojni tipovi podataka

Cjelobrojne varijable su deklarirane korištenjem gore rezerviranih riječi:

i, j, k: cijeli broj;

Podaci cjelobrojnog tipa pohranjuju se točno u memoriju. Na primjer, varijable tipa cijeli broj zauzimaju 2 bajta (16 bita) u memoriji, koji su raspoređeni na sljedeći način: 1 bit je rezerviran za pohranjivanje predznaka broja (0 ako je broj pozitivan, a 1 ako je negativan) i 15 bitova za pohranjivanje broja u binarnom sistemu računanja. Maksimalni decimalni broj koji se može zapisati kao 15-bitni binarni broj je 32767.

Kada se koriste procedure i funkcije sa cjelobrojnim parametrima, treba se voditi „ugniježđenjem“ tipova, tj. gdje god se koristi riječ, bajt je dozvoljen (ali ne i obrnuto), longint "uključuje" cijeli broj, koji zauzvrat uključuje shortint.

Cjelobrojni tip definira pet osnovnih operacija koje također rezultiraju cijelim brojem: +, -,*, div, mod (sabiranje, oduzimanje, množenje, cijelobrojno dijeljenje i ostatak dijeljenja cijelog broja). U aritmetičkim izrazima, operacije *, div, mod imaju veći prioritet od operacija +, -. Primjeri pisanih izraza:

Lista procedura i funkcija primjenjivih na cjelobrojne tipove data je u tabeli. 7. Slova b, s, w, i, l označavaju izraze tipa byte, shortint, word, integer i longint, respektivno; x je izraz bilo kojeg od ovih tipova; identifikatori vb, vs, vw, vi, vl, vx označavaju varijable odgovarajućih tipova. Opcioni parametar je naveden u uglastim zagradama.

Tabela 7

Standardne procedure i funkcije primjenjive na tipove cijelih brojeva

Žalba Vrsta rezultata Akcija
trbušnjaci(x) x Vraća modul x
Chr(b) Char Vraća znak po njegovom kodu
Dec(vx[, i]) - Smanjuje vrijednost vx za i, a u nedostatku i - za 1
Inc(vx[,i]) - Povećava vrijednost vx za i, a u nedostatku i - za 1
bok(i) bajtova Vraća visoki bajt argumenta
bok(i) bajtova Isto
Lo(i) bajtova Vraća niži bajt argumenta
nisko (w) bajtova Isto
Nepar (l) bajtova Vraća true ako je argument neparan broj
Slučajno(w) Kao parametar Vraća pseudo-slučajni broj ravnomjerno raspoređen u rasponu 0...(w-1)
Kvadrat (x) x Vraća kvadrat argumenta
Swap(i) Integer
Zamjena (w) Riječ Zamijenite bajtove u jednoj riječi
succ(x) Kao parametar Vraća sljedeću cjelobrojnu vrijednost, tj. x+1
pred(x) Kao parametar Vraća prethodnu cjelobrojnu vrijednost, tj. x-1

Kada se radi s cijelim brojevima, tip rezultata će odgovarati tipu operanda, a ako su operandi različitih cjelobrojnih tipova, tipu operanda koji ima maksimalni raspon vrijednosti. Moguće prekoračenje rezultata se ne kontrolira, što može dovesti do grešaka u programu.

Pravi tip. Vrijednosti realnih tipova definiraju proizvoljan broj sa određenom konačnom preciznošću ovisno o internom formatu realnog broja. U Turbo Pascalu postoji pet pravih tipova (tabela 8).

Tabela 8

Pravi tipovi podataka

Realne varijable su deklarirane korištenjem gore rezerviranih riječi:

Realni broj u memoriji računara sastoji se od 3 dijela:

Znak broja;

Eksponencijalni dio;

Mantisa broja.

Mantisa ima dužinu od 23 (pojedinačne) do 63 (proširene) binarne cifre, što obezbeđuje tačnost od 7-8 za pojedinačne i 19-20 za proširene decimalne cifre. Decimalna tačka (zarez) se podrazumeva ispred leve (najznačajnije) cifre mantise, ali kada se radi sa brojem, njena pozicija se pomera ulevo ili udesno u skladu sa binarnim redosledom broja pohranjenog u eksponencijalnom delu , stoga se operacije nad realnim brojevima nazivaju aritmetičkim pokretnim zarezom (zarezom).

Tipovima Single, Double i Extended se pristupa samo pod posebnim načinima kompilacije. Da biste omogućili ove režime, izaberite stavku menija Opcije, Kompajler... i omogućite opciju 8087/80287 u grupi Numerička obrada.

Posebnu poziciju u Turbo Pascalu zauzima tip Comp, koji se tretira kao realan broj bez eksponencijalnih i razlomaka. Zapravo, Comp je predpisani veliki cijeli broj koji pohranjuje 19 do 20 značajnih decimalnih cifara. Istovremeno, Comp je u potpunosti kompatibilan sa svim drugim realnim tipovima u izrazima: na njemu su definirane sve realne operacije, može se koristiti kao argument matematičkih operacija itd.



Realni brojevi su dati decimalno u jednom od dva oblika.

AT forma fiksne tačke zapis se sastoji od cijelog broja i razlomka, odvojenih jedan od drugog tačkom, na primjer:

0.087 4.0 23.5 0.6

AT oblik s pomičnim zarezom unos sadrži slovo E, što znači "pomnoži sa deset na stepen", a stepen je cijeli broj, na primjer:

7E3 6.9E-8 0.98E-02 45E+04

Sljedeće operacije su definirane na objektima realnog tipa: +, -, *, /.

Operatori "*" i "/" imaju veći prioritet od operatora "+" i "-".

Ako je barem jedan operand realan, tada operacije +, -, *, / vode do stvarnog rezultata. Operacija dijeljenja / dovodi do stvarnog rezultata u slučaju dva cjelobrojna operanda, na primjer: 9/3 = 3.0.

Za rad sa stvarnim podacima mogu se koristiti standardne matematičke funkcije prikazane u tabeli 1. 9. Rezultat ovih funkcija je također stvaran.

Tabela 9

Matematičke funkcije koje rade sa stvarnim podacima

Nije dozvoljeno koristiti varijable i konstante tipa REAL:

– u funkcijama pred(x), succ(x), ord(x);

– kao indeksi nizova;

– kao oznake u izjavama o prijenosu kontrole;

– kao kontrolne varijable (parametri ciklusa).

Za pretvaranje realnog broja u cijeli broj, možete koristiti sljedeće funkcije:

trunc(x) je cijeli broj x (x je realan);

round(x) – zaokruživanje na najbliži cijeli broj (x je realan).

tip karaktera. Varijable znakova se deklariraju korištenjem rezervirane riječi char:

Vrijednosti ovog tipa se biraju iz narudženog skupa znakova (iz ASCII skupa) koji se sastoji od 256 znakova. Svakom znaku je dodijeljen cijeli broj iz raspona 0..255. Na primjer, velika slova latinice A..Z imaju šifre 65..90, a mala slova 97..122.

Vrijednost varijable tipa karaktera je jedan znak zatvoren u apostrofe, na primjer:

'F' '8' '*'

Znakovne varijable se mogu upoređivati ​​jedna s drugom poređenjem znakovnih kodova.

Postoje funkcije koje uspostavljaju korespondenciju između znaka i njegovog koda:

ord(s) - daje broj simbola iz;

chr(i) - vraća znak sa brojem i.

Ove funkcije su inverzne jedna od druge.

boolean tip. Boolean varijable se deklariraju korištenjem rezervirane riječi boolean:

p1, p2: boolean;

Booleove varijable uzimaju dvije vrijednosti: istinito(istinito), false(Netačno).

Ove vrijednosti su poredane na sljedeći način: false< true. false имеет порядковый номер 0, true имеет порядковый номер 1.

Logičkim varijablama se može ili direktno dodijeliti vrijednost ili se može koristiti logički izraz. Na primjer,

a, d, g, b: boolean;

Relacijske operacije (<, <=, >, >=, =, <>) primijenjen na cjelobrojne, realne i karakterne varijable daju logički rezultat.

Logičke operacije nad operandima booleovog tipa takođe daju logički rezultat (operacije su navedene u opadajućem redosledu prioriteta) (za detalje pogledajte tabele 3 i 5):

ne – negacija (NE operacija);

i - logičko množenje (operacija I);

ili – logičko sabiranje (operacija ILI);

xor - ekskluzivno OR.

Izraz (ne a) ima suprotno značenje od a.

Izraz (a i b) daje vrijednost istinitom samo ako su i a i b istiniti, u suprotnom vrijednost ovog izraza je lažna.

Izraz (a ili b) procjenjuje se na false samo ako su i a i b netačni, u svim ostalim slučajevima rezultat je istinit.

Nabrojani tip. Nestandardni nabrojani tip je specificiran nabrajanjem kao nazivi vrijednosti koje varijabla može uzeti. Svaka vrijednost je imenovana nekim identifikatorom i nalazi se na listi zatvorenoj u zagradama. Opšti oblik opisa nabrojanog tipa:

x = (w1, w2, …, wn);

gdje je x ime tipa, w1, w2,…, wn su vrijednosti koje varijabla tipa x može uzeti.

Ove vrijednosti su poređane w1

Sljedeće standardne funkcije primjenjuju se na argument nabrojanog tipa w:

succ(w), pred(w), ord(w).

boja=(crvena, crna, žuta, zelena)

ww=(lijevo, gore, desno, dolje);

f: niz ww;

succ(d) = žuta;

Varijable a i b su tipa w. mogu uzeti jednu od tri vrijednosti i dalje

Relacijske operacije su primjenjive na vrijednosti nabrojanog tipa: =,<>, <=, >=, <, >.

Dozvoljeno je specificirati konstante nabrojanog tipa direktno u sekciji var bez upotrebe sekcije tip, Na primjer

c,d: (crvena, crna, žuta, zelena);

Domet (ograničen) tip. Kada definirate ograničeni tip, specificirate početne i krajnje vrijednosti koje varijabla tipa raspona može uzeti. Vrijednosti su razdvojene sa dvije tačke.

Opis ograničenog tipa je

Ovdje je a naziv tipa, min, max su konstante.

Prilikom navođenja ograničenog tipa, moraju se poštovati sljedeća pravila:

– obje granične konstante min i max moraju biti istog tipa;

– Ograničeni tip se kreira iz podataka osnovnog tipa, koji može biti cijeli broj, karakter ili nabrojani tip. Na primjer:

boja = crvena..žuta;

slovo = 'a'..'f';

- Varijable ograničenog tipa mogu se deklarirati u sekciji var bez pozivanja na odjeljak tipa:

– ograničeni tip nasljeđuje sva svojstva osnovnog tipa od kojeg je kreiran;

– minimalno ograničenje mora uvijek biti manje od maksimalnog ograničenja.

Nizovi. Niz je složeni tip, koji je struktura koja se sastoji od fiksnog broja komponenti istog tipa. Tip komponente naziva se osnovni tip. Sve komponente niza se mogu lako naručiti i bilo kojoj od njih se može pristupiti jednostavnim navođenjem njenog rednog broja. Opis niza u odjeljku var izgleda kao:

a: niz of t2;

gdje je a ime niza, niz, of– službene riječi (što znači “niz…”), t1 – tip indeksa; t2 – tip komponente (bazni tip).

Broj indeksa određuje dimenziju niza. Indeksi mogu biti cjelobrojni (osim longint), karakterni, logički, nabrojani i tipovi raspona. Indeksi su odvojeni zarezima i stavljeni u uglaste zagrade. Komponente niza mogu biti bilo koje vrste osim datoteke.

Primjer 1 Razmotrimo jednodimenzionalni niz C, čije su vrijednosti pet realnih brojeva:

4.6 6.23 12 -4.8 0.7

Opis ovog niza je sljedeći:

c: niz realnih;

Po određenoj vrijednosti indeksa, možete odabrati određenu komponentu niza (na primjer, C znači treći element niza C, tj. broj 12).

Primjer 2 Razmotrimo dvodimenzionalni niz B (matrica B) čija je vrijednost tablica cijelih brojeva:

Opis ovog niza je sljedeći:

b od cijelog broja;

Ovdje je b ime niza, prvi indeks je broj reda i uzima vrijednosti od 1 do 2, drugi je broj kolone i uzima vrijednosti od 1 do 4. Prema određenim vrijednostima indeksa, možete odabrati specifičnu komponentu niza (na primjer, b znači element tabele u prvom redu i trećoj koloni, tj. broj -4).

Indeksi mogu biti proizvoljni izrazi, koji odgovaraju tipu indeksa iz deklaracije niza:

a: niz realnih;

a[(i+1)*2] := 24;

Skup operacija nad elementima niza u potpunosti je određen tipom ovih elemenata.

string type. Vrsta stringa - skup nizova znakova proizvoljne dužine (od nule do datog broja). Varijable tipa string opisuju se pomoću servisne riječi string:

b: string ;

Posebnosti:

– vrijednost string varijable se može unijeti pomoću tastature, dodijeljena u naredbi o dodjeli, pročitana iz datoteke. U ovom slučaju, dužina unesenog niza može biti bilo koja (manja od navedene veličine, jednaka veličini ili više, u drugom slučaju, dodatni znakovi se odbacuju); a:= 'Rezultati';

– dozvoljeno je koristiti operaciju konkatenacije u operatoru dodjeljivanja, jer nizovi mogu dinamički mijenjati svoju dužinu: a:= a + 'kalkulacije';

– maksimalna dužina varijable stringa je 255 karaktera, ova indikacija dužine se može izostaviti:

a: string;

a1: string ;

Varijable a i a1 su iste (ekvivalentan opis).

- memorija za varijable string tipa je maksimalno dodijeljena, ali se koristi samo dio memorije koji je trenutno zauzet znakovima niza. Za opisivanje string varijable dužine n koristi se n + 1 bajt memorije: n bajtova - za pohranjivanje znakova niza, n + 1-ti bajt - za pohranjivanje trenutne dužine.

– operacije poređenja su definirane na vrijednostima tipova nizova:< <= > >= = <>. Kratki niz je uvijek manji od dugog. Ako su stringovi iste dužine, onda se kodovi znakova upoređuju.

– pristup pojedinačnim elementima niza moguć je na isti način kao i pristup elementima niza: a, a. Uglaste zagrade označavaju broj elementa linije.

Procedure i funkcije fokusirane na rad sa stringovima.

konkat (s1, s2,…)- funkcija spajanja nizova, s1, s2,…- linije, broj linija može biti proizvoljan. Rezultat funkcije je niz. Ako je rezultirajući niz duži od 255 znakova, tada se string skraćuje na 255 znakova.

kopija(e, indeks, broj)– funkcija izdvajanja niza iz izvornog niza s dugo count znakova koji počinju brojem karaktera index.

izbrisati(e, indeks, broj) je postupak za uklanjanje podniza dužine iz niza s count znakova, počevši od znaka sa brojem index.

umetak (s1, s2, indeks)- postupak umetanja linije s1 u niz s2, počevši od znaka s brojem index.

dužina(e)– funkcija za određivanje trenutne dužine stringa, vraća broj jednak trenutnoj dužini stringa.

pos(s1, s2)- funkcija pretraživanja u nizu s2 podnizovi s1. vraća broj pozicije prvog znaka podniza s1 U redu s2(ili 0 ako ova linija ne postoji).

val(st, x, kod)– postupak za pretvaranje stringa s u cjelobrojnu ili realnu varijablu x. Parametar kod sadrži 0 ako je konverzija bila uspješna (i u x postavlja se rezultat konverzije) ili broj pozicije niza na kojem je pronađen pogrešan znak (u ovom slučaju vrijednost x se ne mijenja).

Kompatibilnost i konverzija tipa. Turbo Pascal je kucani jezik. Izgrađen je na osnovu strogog pridržavanja koncepta tipova, prema kojem su sve operacije koje se koriste u jeziku definisane samo na operandima kompatibilnih tipova.

Dvije vrste se smatraju kompatibilnim ako:

- oba su istog tipa;

oba su stvarna;

- oba su netaknuta

– jedan tip je tip opsega drugog tipa;

– oba su tipovi raspona istog osnovnog tipa;

– oba su skupovi sastavljeni od elemenata istog osnovnog tipa;

– oba su pakirani nizovi (definirani prethodnom pakiranom riječi) iste maksimalne dužine;

- jedan je niz tipa, a drugi je niz tipa ili karakter;

- jedan tip je bilo koji pokazivač, a drugi je pokazivač na srodni objekt;

– oba su proceduralna tipa sa istim tipom rezultata (za tip funkcije), brojem parametara i tipom međusobno odgovarajućih parametara.

Kompatibilnost tipova poprima poseban značaj u izjavama o dodjeli. Neka je t1 tip varijable, a t2 tip izraza, odnosno dodjela je t1:=t2. Ovaj zadatak je moguć u sljedećim slučajevima:

– t1 i t2 su istog tipa i ovaj tip se ne odnosi na datoteke, nizove datoteka, zapise koji sadrže polja datoteke ili nizove takvih zapisa;

– t1 i t2 su kompatibilni redni tipovi i vrijednost t2 leži u rasponu mogućih vrijednosti t1;

– t1 i t2 su realni tipovi, a vrijednost t2 leži u rasponu mogućih vrijednosti t1;

– t1 je realan tip, a t2 je cjelobrojni tip;

– t1 – niz i t2 – simbol;

– t1 je niz, a t2 je upakovani niz;

– t1 i t2 su kompatibilni pakirani nizovi;

– t1 i t2 su kompatibilni skupovi i svi članovi t2 pripadaju skupu mogućih vrijednosti t1;

– t1 i t2 su kompatibilni pokazivači;

– t1 i t2 su kompatibilni proceduralni tipovi;

– t1 je objekt, a t2 je njegovo dijete.

U programu se podaci jednog tipa mogu konvertovati u podatke drugog tipa. Takva konverzija može biti eksplicitna ili implicitna.

Eksplicitna konverzija tipa poziva posebne funkcije konverzije čiji su argumenti jednog tipa, a čije su vrijednosti drugog tipa. Primjer su već razmatrane funkcije ord, trunc, round, chr.

Implicitna konverzija je moguća samo u dva slučaja:

- u izrazima koji se sastoje od realnih i cjelobrojnih varijabli, potonje se automatski pretvaraju u realni tip, a cijeli izraz kao cjelina dobija realni tip;

- isto memorijsko područje se naizmjenično tretira kao da sadrži podatke jednog ili drugog tipa (kombinacija podataka različitih tipova u memoriji).

Kada deklarirate varijablu, morate navesti njen tip. Tip varijable opisuje skup vrijednosti koje može poduzeti i radnje koje se mogu izvršiti na njoj. Deklaracija tipa definira identifikator koji označava tip.

Jednostavni tipovi se dijele na standardne (redne) i nabrojane (ograničene).

Standardni tipovi

Turbo Pascal ima četiri ugrađena standardna tipa: integer (integer), real (real), boolean (boolean) i char (character).

Cjelobrojni tip (cijeli broj)

Turbo Pascal ima pet ugrađenih tipova cijelih brojeva: shortint (kratki cijeli broj), integer (cijeli broj), longint (dugi cijeli broj), bajt (dugački bajt) i word (dugačka riječ). Svaki tip označava određeni podskup cijelih brojeva, kao što je prikazano u sljedećoj tabeli.

Ugrađeni cjelobrojni tipovi.

Domet

Format

8 bitova potpisano

16 bitova potpisano

2147483648 +2147483647

32 bita potpisano

8 bita bez predznaka

16 neoznačenih bitova

Aritmetičke operacije nad operandima cjelobrojnog tipa izvode se u skladu sa sljedećim pravilima:

  1. Tip cjelobrojne konstante je ugrađeni integralni tip s najmanjim rasponom koji uključuje vrijednost te cjelobrojne konstante.
  2. U slučaju binarne operacije (operacija koja koristi dva operanda), oba operanda se konvertuju u svoj zajednički tip prije nego što se operacija izvrši nad njima. Generički tip je ugrađeni integralni tip sa najmanjim rasponom koji uključuje sve moguće vrijednosti oba tipa. Na primjer, zajednički tip za cijeli broj i cijeli broj dužine bajta je cijeli broj, a zajednički tip za cijeli broj i cijeli broj dužine riječi je dugi cijeli broj. Akcija se izvodi prema preciznosti generičkog tipa, a tip rezultata je generički tip.
  3. Izraz na desnoj strani u iskazu o dodjeli se evaluira bez obzira na veličinu varijable s lijeve strane.

Operacije koje se izvode nad cijelim brojevima:

“+” - dodavanje

“-“ - oduzimanje

"*" - množenje

SQR - kvadratura

DIV - odbacuje razlomak nakon dijeljenja

MOD - dobiti cijeli ostatak nakon dijeljenja

ABS - broj modula

RANDOM(X) - dobijanje slučajnog broja od 0 do X

A:=100 ; b:=60 ; a DIV b rezultat je 1 i MOD b rezultat je 40

Cjelobrojne varijable su deklarirane na sljedeći način:

var lista varijabli: tip;

Na primjer: var a,p,n:integer;

Pravi tip (pravi)

Realni tip se odnosi na podskup realnih brojeva koji se mogu predstaviti u formatu s pomičnim zarezom s fiksnim brojem cifara. Vrijednost s pomičnim zarezom obično uključuje tri vrijednosti - m, b i e - tako da je m*b e, gdje je b uvijek 10, a m i e su cjelobrojne vrijednosti u rasponu realnog tipa. Ove m i e vrijednosti dalje definiraju raspon i preciznost stvarnog tipa.

Postoji pet vrsta pravih tipova: real, single, duble, exnende, comp. Realni tipovi se razlikuju po opsegu i preciznosti pridruženih vrijednosti

Opseg i decimalne cifre za realne tipove

Domet

Brojevi

2,9x10E-39 do 1,7x10E 38

1,5x10E-45 do 3,4x10E 38

5,0x10E-324 do 1,7x10E 308

3,4x10E-493 do 1,1x10E 403

2E 63 do 2E 63

Operacije izvedene nad realnim brojevima:

  • Sve operacije su važeće za cijele brojeve.
  • SQRT(x) je kvadratni korijen od x.
  • SIN(X), COS(X), ARCTAN(X).
  • LN(X)-prirodni logaritam.
  • EXP(X)-eksponent X (e x).
  • EXP (X * LN (A)) - eksponencijacija (A x).
  • Funkcije konverzije tipa:
    • TRUNC(X) - odbacuje frakcijski dio;
    • ROUND(X) - zaokruživanje.
  • Neka pravila za aritmetičke operacije:
    • Ako u aritmetičkoj operaciji postoje brojevi tipa real i integer, tada će rezultat biti tipa real.
    • Sve komponente izraza su napisane u jednom redu.
    • Koriste se samo zagrade.
    • Ne možete staviti dva aritmetička znaka u niz.

Varijable realnog tipa su opisane kako slijedi:

var lista varijabli: tip;

Na primjer:

var d,g,k:real ;

Vrsta karaktera (char)

Tip char je bilo koji znak zatvoren u apostrofe. Da biste apostrof predstavili kao karakternu varijablu, stavite ga u apostrof: ''''.

Svaki znak ima svoj kod i broj. Redni brojevi cifara 0,1..9 sortirani su uzlaznim redom. Redni brojevi slova su također u rastućem redoslijedu, ali ne moraju nužno da slijede jedan za drugim.

Znakovi za poređenje odnose se na podatke znakova:

> , < , >=, <=, <> .

Na primjer: 'A'< ‘W’

Funkcije koje se primjenjuju na karakterne varijable:

  1. ORD(X) - određuje redni broj znaka X. ord ('a') =97 ;
  2. CHR(X) - određuje karakter po broju. chr (97 ) ='a';
  3. PRED(X) - ispisuje znak koji dolazi prije znaka X. pred('B') ='A';
  4. SUCC(X) - izlazi znak nakon znaka X. succ('A') ='B';

nabrojani tip

Nabrojani tip podataka je tako nazvan jer je specificiran kao nabrajanje konstanti u strogo definiranom redoslijedu i u strogo definiranom broju. Nabrojani tip se sastoji od liste konstanti. Varijable ovog tipa mogu uzeti vrijednost bilo koje od ovih konstanti. Deklaracija nabrojanog tipa izgleda ovako:

tip<имя типа>=(lista konstanti) ; Var<имя переменной>:<имя типа>;

gdje<список констант>- ovo je posebna vrsta konstanti, odvojenih zarezima i imaju svoj serijski broj, počevši od 0.

Na primjer:

tip smjer=(sjever, jug, zapad, istok) ; mjesec=(jun, juli, avgust, januar) ; kapacitet = (kanta, bure, kanister, rezervoar) ; var rotacija:smjer; polazak: mjesec; zapremina:kapacitet; var turn:(sjever, jug, zapad, istok) ; polazak: (juni, jul, avgust, januar) ; zapremina: (kanta, bure, kanister, rezervoar) ;

Možete izvršiti sljedeće operatore dodjele:

Skretanje:=jug; odlazak:=Avgust; zapremina:=rezervoar;

ali ne možete raditi mješovite zadatke:

Polazak:=jug; volume:=Avgust;

Sljedeće funkcije se primjenjuju na varijable nabrojanog tipa:

1. ORD - serijski broj

2. PRED - prethodni element

3. SUCC je sljedeći element.

PRED (bačva) = kanta; SUCC (jug) = zapad; ORD (juli) =1;

Nabrojane varijable tipa se mogu porediti jer su poređane i numerisane. Dakle, izrazi: sjever< юг, июнь < январь имеют значения TRUE, а юг>zapad i tenk<бочка значение FАLSE.

ograničenog tipa

Ako varijabla ne uzima sve vrijednosti svog tipa, već samo u određenom rasponu, onda se može smatrati varijablom ograničenog tipa. Svaki ograničeni tip je definiran nametanjem ograničenja na osnovne tipove.

Opisuje se ovako:

TYPE<имя типа>=konstanta1 ..konstanta2

U tom slučaju potrebno je poštovati sljedeća pravila:

  1. Obje ograničene konstante moraju biti istog tipa.
  2. Bilo koji jednostavan tip, osim realnog, može se koristiti kao osnovni tip.
  3. Početna vrijednost pri definiranju ograničenog tipa ne smije biti veća od konačne vrijednosti.
indeks tipa =0 ..63 ; slovo='a'..'z'; varchar1,char2:slovo; a,g:index ;

Možete to opisati odmah u odjeljku deklaracije varijable:

var a,g:0 ..63 ; char1,char2:'a'..'z'.

U Pascalu varijable karakteriziraju njihove tip. Tip je svojstvo varijable, prema kojem varijabla može preuzeti skup vrijednosti koje dozvoljava ovaj tip, i sudjelovati u skupu operacija dozvoljenih za ovaj tip.

Tip definira skup važećih vrijednosti koje varijabla datog tipa može uzeti. Takođe definiše skup dozvoljenih operacija iz varijable ovog tipa i definiše reprezentaciju podataka u RAM-u računara.

Na primjer:

n:integer;

Pascal je statički jezik, što znači da se tip varijable određuje kada se deklarira i ne može se mijenjati. Pascal jezik ima razvijen sistem tipova - svi podaci moraju pripadati prethodno poznatom tipu podataka (bilo standardni tip kreiran tokom razvoja jezika ili korisnički definisani tip koji definiše programer). Programer može kreirati svoje tipove sa proizvoljnom složenom strukturom zasnovanom na standardnim tipovima ili tipovima koje je korisnik već definisao. Broj kreiranih tipova je neograničen. Prilagođeni tipovi u programu su deklarisani u sekciji TYPE formatom:

[ime] = [tip]

Standardni sistem tipova ima razgranatu, hijerarhijsku strukturu.

Primarni u hijerarhiji su jednostavni tipovi. Takvi tipovi su prisutni u većini programskih jezika i nazivaju se jednostavnim, ali u Pascalu imaju složeniju strukturu.

Strukturirani tipovi grade se prema određenim pravilima od jednostavnih tipova.

Pointers formiraju se iz jednostavnih pogleda i koriste se u programima za postavljanje adresa.

Proceduralni tipovi su inovacija Turbo Pascal jezika i omogućavaju vam da se pozivate na potprograme kao da su promenljive.

Objekti su također novi, a namijenjeni su da se koriste kao objektno orijentirani jezik.

U Pascalu postoji 5 tipova cjelobrojnih tipova. Svaki od njih karakterizira raspon prihvaćenih vrijednosti i njihovo mjesto u memoriji.

Pri korištenju cijelih brojeva treba se voditi ugniježđenošću tipova, tj. manji tipovi raspona mogu biti ugniježđeni unutar većih tipova raspona. Tip Byte može biti ugniježđen u sve tipove koji zauzimaju 2 i 4 bajta. Istovremeno, tip Short Int, koji zauzima 1 bajt, ne može biti ugniježđen u tip Word, jer nema negativne vrijednosti.

Postoji 5 pravih tipova:

Integer tipovi su tačno predstavljeni u računaru. Za razliku od cjelobrojnih tipova, vrijednost realnih tipova definira proizvoljan broj samo sa određenom konačnom preciznošću, ovisno o formatu broja. Realni brojevi su u kompjuteru predstavljeni fiksnim ili pokretnim zarezom.

2358.8395

0.23588395*10 4

0,23588395*E 4

Posebnu poziciju u Pascalu zauzima Comp tip, u stvari, to je veliki cijeli broj sa predznakom. Ovaj tip je kompatibilan sa svim realnim tipovima i može se koristiti za velike cijele brojeve. Kada se predstavljaju realni brojevi s pomičnim zarezom, decimalni zarez se uvijek podrazumijeva ispred lijeve ili najviše mantise, ali kada se radi s brojem, pomiče se ulijevo ili udesno.

Redni tipovi

Redni tipovi kombinuju nekoliko jednostavnih tipova. To uključuje:

  • svi cjelobrojni tipovi;
  • tip karaktera;
  • boolean tip;
  • type-range;
  • nabrojani tip.

Zajedničke karakteristike za redne tipove su: svaki tip ima konačan broj mogućih vrijednosti; vrijednost ovih tipova se može porediti na određeni način i sa svakim brojem se može uporediti određeni broj, koji je redni broj; susjedne vrijednosti rednih tipova razlikuju se za jedan.

Za vrijednosti ordinalnog tipa može se primijeniti funkcija ODD(x), koja vraća redni broj argumenta x.

Funkcija PRED(x) - vraća prethodnu vrijednost rednog tipa. PRED(A) = 5.

SUCC(x) Funkcija - Vraća sljedeću vrijednost ordinalnog tipa. SUCC(A) = 5.

Tip karaktera

Vrijednosti tipova znakova su 256 znakova izvan skupa koje dozvoljava tablica kodova računara koji se koristi. Početna oblast ovog skupa, odnosno raspon od 0 do 127, odgovara skupu ASCII kodova u koje se učitavaju znakovi abecede, arapski brojevi i specijalni znakovi. Znakovi početne oblasti su uvek prisutni na tastaturi računara. Starije područje se naziva alternativno, sadrži znakove nacionalnih abeceda i razne specijalne znakove, te pseudografske znakove koji ne odgovaraju ASCII kodu.

Vrijednost tipa karaktera zauzima jedan bajt u RAM-u. U programu su vrijednosti zatvorene u apostrofe. Također, vrijednosti se mogu specificirati u obliku njegovog ASCII koda. U tom slučaju, ispred broja sa šifrom mora biti znak #.

C:= 'A'

Boolean (boolean) tip

Postoje dvije vrijednosti tipa Boolean: True (True) i False (False). Varijable ovog tipa su specificirane uslužnom riječju BOOLEAN. Boolean vrijednost zauzima jedan bajt u RAM-u. Vrijednosti True i False odgovaraju numeričkim vrijednostima 1 i 0.

Tip-opseg

Postoji podskup njegovog osnovnog tipa, koji može biti bilo koji redni tip. Tip raspona definiran je granicama unutar osnovnog tipa.

[min-vrijednost]…[maksimalna vrijednost]

Tip opsega se može navesti u odeljku Tip kao određeni tip ili direktno u odeljku Var.

Prilikom definiranja tipa raspona, treba se voditi:

  • lijeva granica ne smije prelaziti desnu granicu;
  • tip raspona nasljeđuje sva svojstva osnovnog tipa, ali sa ograničenjima vezanim za njegovu nižu kardinalnost.

Nabrojani tip

Ovaj tip se odnosi na redne tipove i specificira se navođenjem onih vrijednosti koje može nabrojati. Svaka vrijednost je imenovana nekim identifikatorom i nalazi se na listi uokvirenoj u zagradama. Nabrojani tip je specificiran u Tip:

narodi = (muškarci, žene);

Prva vrijednost je 0, druga vrijednost je 1 i tako dalje.

Maksimalna snaga 65535 vrijednosti.

string type

Tip stringa pripada grupi strukturiranih tipova i sastoji se od osnovnog tipa Char. Tip stringa nije redni tip. Definira skup znakovnih nizova proizvoljne dužine do 255 znakova.

U programu se tip stringa deklarira riječju String. Pošto je String osnovni tip, deklarisan je u jeziku, a deklaracija varijable tipa String se vrši u Var. Kada deklarirate varijablu tipa string iza Stringa, preporučljivo je navesti dužinu niza u uglastim zagradama. Određuje cijeli broj između 0 i 255.

Fam: String;

Određivanje dužine stringa omogućava kompajleru da dodijeli određeni broj bajtova u RAM-u za datu varijablu. Ako dužina stringa nije specificirana, kompajler će dodijeliti maksimalni mogući broj bajtova (255) za vrijednost ove varijable.

Lekcija govori o glavnim standardnim tipovima podataka u Pascalu, konceptu varijable i konstante; objašnjava kako se radi s aritmetičkim operacijama

Pascal je kucani programski jezik. To znači da su varijable koje pohranjuju podatke specifičnog tipa podataka. One. program direktno treba da naznači koji se podaci mogu pohraniti u određenu varijablu: tekstualni podaci, numerički podaci, ako su numerički, onda cjelobrojni ili razlomak, itd. To je prije svega potrebno kako bi računar "znao" koje operacije se mogu izvoditi sa ovim varijablama i kako ih pravilno izvesti.

Na primjer, dodavanje tekstualnih podataka, ili kako se to pravilno naziva u programiranju - konkatenacija - je uobičajeno spajanje nizova, dok se dodavanje numeričkih podataka događa bit po bit, osim toga, razlomci i cijeli brojevi se takođe zbrajaju u različitim načine. Isto važi i za druge operacije.

Razmotrite najčešće tipove podataka u Pascalu.

Cjelobrojni tipovi podataka u Pascalu

Tip Domet Potrebna memorija (bajtovi)
bajt 0..255 1
shortint -128..127 1
cijeli broj -32768.. 32767 2
riječ 0..65535 2
longint -2147483648..2147483647 4

Mora se imati na umu da prilikom pisanja programa u Pascalu cijeli broj(prevedeno s engleskog kao cijeli broj) se najčešće koristi, jer je raspon vrijednosti najtraženiji. Ako je potreban širi raspon, koristite longint(dugi cijeli broj, prevedeno sa engleskog long integer). Tip bajt u Pascal-u se koristi kada nema potrebe da se radi sa negativnim vrednostima, isto važi i za tip riječ(samo je raspon vrijednosti ovdje mnogo veći).

Primjeri kako su varijable opisane (deklarirane) u Pascalu:

program a1; varx,y:integer; (tip cjelobrojnog) myname:string; (tip stringa) begin x:=1; y:=x+16; myname:="Petar"; writeln ("ime: ",moje ime, ", starost: ", y) kraj.

rezultat:
ime: Petar, godina: 17

Komentari u Pascalu

Obratite pažnju na to kako Koriste se Pascal komentari. U primjeru, komentari, tj. servisni tekst koji "nije vidljiv" kompajleru je zatvoren u vitičastim zagradama. Obično, komentare daju programeri kako bi razjasnili isječke koda.

Zadatak 3. Stanovništvo Moskve je a = 9.000.000 stanovnika. Stanovništvo Novog Vasjukova je jednako b=1000 stanovnika. Napišite program koji utvrđuje razliku u broju stanovnika između dva grada. Koristite varijable

Stvarni tipovi podataka u Pascalu

Realni brojevi u Pascalu i općenito u programiranju su nazivi razlomaka.

Tip Domet Potrebna memorija (bajtovi)
pravi 2.9*10E-39..1.7*10E38 6
single 1,5 * 10 E-45 .. 3,4 * 10E38 4
duplo 5*10E-324..1.7*10E308 8
produženo 1,9 * 10E-4951 .. 1,1 * 10E4932 10

Realni tip u Pascalu je najčešće korišten od realnih tipova.

Gore su predstavljeni jednostavni tipovi podataka u Pascalu, koji uključuju:

  • Redni
  • cijeli
  • mozgalica
  • Symbolic
  • nabrojano
  • Interval
  • Real

Za izlaz vrijednosti varijabli realnog tipa obično se koristi formatirani izlaz:

  • format koristi jedan broj, što znači broj pozicija dodijeljenih ovom broju u eksponencijalnom obliku;
  • p:=1234.6789; WriteIn(p:6:2); (1234.68)

    Uz jednostavne tipove, jezik se također koristi strukturirani tipovi podataka i pokazivači, što će biti tema narednih Pascal lekcija.

    Konstante u Pascalu

    Često program unaprijed zna da će varijabla poprimiti određenu vrijednost i da je neće mijenjati tokom izvršavanja cijelog programa. U ovom slučaju morate koristiti konstantu.

    Deklaracija konstante u Pascal-u se javlja prije deklaracije varijabli (prije servisne riječi var) i izgleda ovako:

    Primjer opisa konstante u Pascalu:

    1 2 3 4 5 6 const x= 17 ; var moje ime: string ; begin myname: = "Petar" ; writeln ("name: " , myname, ", age: " , x) end .

    const x=17; varmyname:string; begin myname:="Petar"; writeln ("ime: ", moje ime, ", starost: ", x) kraj.

    "Prekrasan" izlaz cijelih i realnih brojeva

    Kako bi se ostavile uvlake nakon izlaza vrijednosti varijabli, kako se vrijednosti ne bi "spajale" jedna s drugom, uobičajeno je da se kroz dvotočku naznači koliko znakova je potrebno dati za izlaz od vrijednosti:


    Aritmetičke operacije u Pascalu

    Redoslijed operacija

    1. evaluacija izraza u zagradama;
    2. množenje, dijeljenje, div, mod s lijeva na desno;
    3. sabiranje i oduzimanje s lijeva na desno.

    Pascal standardne aritmetičke procedure i funkcije

    Ovdje se vrijedi detaljnije zadržati na nekim aritmetičkim operacijama.

    • Operator inc u Pascalu, koji se izgovara kao inkrement, je Pascal standardna procedura, što znači povećanje za jedan.
    • Primjer rada Inc.:

      x:=1; inc(x); (Povećava x za 1, tj. x=2) writeln (x)

      Složenija upotreba inc procedure:
      Inc(x,n) gdje je x redni tip, n je cjelobrojni tip; procedura povećava x za n.

    • Dec procedura u Pascalu radi slično: Dec(x) - smanjuje x za 1 (dekrement) ili Dec(x,n) - smanjuje x za n.
    • Abs operator predstavlja modul broja. Radi ovako:
    • a: =- 9 ; b:=abs(a); (b=9)

      a:=-9; b:=abs(a); (b=9)

    • Operator div u Pascal-u se često koristi, budući da su brojni zadaci povezani sa radnjom cijelog broja dijeljenja.
    • Ostatak dijeljenja ili mod operator u Pascalu također je neophodan za rješavanje brojnih problema.
    • Zanimljiva je Pascalova standardna neparna funkcija, koja određuje da li je cijeli broj neparan. To jest, vraća true (true) za neparne brojeve, false (false) za parne brojeve.
    • Primjer korištenja neparne funkcije:

      varx:integer; beginx:=3; writeln(sqr(x)); (odgovor 9) kraj.

    • Eksponencijacija operacije u Pascalu nestala kao takva. Ali da biste podigli broj na stepen, možete koristiti funkciju exp.
    • Formula je: exp(ln(a)*n) , gdje je a broj, n je stepen (a>0).

      Međutim, u pascal abc kompajleru, eksponencijacija je mnogo lakša:

      varx:integer; beginx:=9; writeln(sqrt(x)); (odgovor 3) kraj.

    Zadatak 4. Poznate su dimenzije kutije šibica: visina - 12,41 cm, širina - 8 cm, debljina - 5 cm. Izračunajte osnovnu površinu kutije i njenu zapreminu
    (S=širina * debljina, V=površina*visina)

    Zadatak 5. U zoološkom vrtu postoje tri slona i dosta zečeva, a broj zečeva se često mijenja. Slon treba da pojede sto šargarepa dnevno, a zec dve. Svako jutro čuvar zoološkog vrta prijavljuje broj zečeva na kompjuter. Računar, kao odgovor, treba da kaže pratiocu ukupan broj šargarepa koje danas treba hraniti zečevima i slonovima.

    Zadatak 6. To je poznato x kg slatkiša a rublja. Odredite koliko y kg ovih slatkiša, kao i na koliko kilograma slatkiša se može kupiti k rublja. Sve vrijednosti unosi korisnik.

    Federalna agencija za obrazovanje

    apstraktno

    "VRSTE PODATAKA U PASCAL-u"

    1. Tipovi podataka

    Bilo koji podatak, tj. Konstante, varijable, svojstva, vrijednosti funkcije ili izrazi karakteriziraju njihovi tipovi. Tip definira skup važećih vrijednosti koje objekt može imati, kao i skup važećih operacija koje se mogu primijeniti na njega. Pored toga, tip takođe određuje format internog prikaza podataka u memoriji računara.

    Generalno, jezik Object Pascal karakteriše razgranata struktura tipova podataka (slika 1.1). Jezik pruža mehanizam za kreiranje novih tipova, tako da ukupan broj tipova koji se koriste u programu može biti proizvoljno velik.

    Podaci koji se obrađuju u programu podijeljeni su na varijable, konstante i literale:

    Konstante su podaci čije su vrijednosti postavljene u odjeljku deklaracije konstante i ne mijenjaju se tokom izvršavanja programa.

    Varijable su deklarisani u sekciji deklaracije varijable, ali za razliku od konstanti, one dobijaju svoje vrednosti već tokom izvršavanja programa i te vrednosti se mogu menjati. Konstante i varijable se mogu pozvati po imenu.

    Doslovno nema identifikator i predstavljen je direktno vrijednošću u tekstu programa.

    Tip definira skup vrijednosti koje elementi podataka mogu preuzeti i skup operacija dozvoljenih na njima.

    Ovo i sljedeća četiri poglavlja pružaju detaljan opis svake vrste.

    1.1 Jednostavni tipovi

    Jednostavni tipovi uključuju redni, realni i tipove datuma i vremena.

    Redni tipovi razlikuju se po tome što svaki od njih ima konačan broj mogućih vrijednosti. Ove vrijednosti se mogu poredati na određeni način (otuda naziv tipova) i, stoga, svaka od njih može biti povezana s nekim cijelim brojem - rednim brojem vrijednosti.

    Pravi tipovi, striktno govoreći, takođe imaju konačan broj vrednosti, što je određeno formatom unutrašnjeg prikaza realnog broja. Međutim, broj mogućih vrijednosti realnih tipova je toliko velik da nije moguće pridružiti cijeli broj (njegov broj) svakom od njih.

    tip datuma i vremena dizajniran za pohranjivanje datuma i vremena. U stvari, koristi pravi format za ove svrhe.

    1.1.1 Redni tipovi

    Redni tipovi uključuju (pogledajte sliku 1.1) cijeli broj, boolean, karakter, enum i raspon. Za bilo koji od njih primjenjiva je funkcija Ord(x) koja vraća redni broj vrijednosti izraza X.


    Rice. 1.1 - Struktura tipova podataka

    Za cijeli tipa, funkcija ord(x) vraća vrijednost samog x, to jest, Ord(X) = x za x koji pripada bilo kojem cijeli tip. Primjena Naredbe(x) na logicno , simbolički i nabrojani tipovi daje pozitivan cijeli broj u rasponu od 0 do 1 ( boolean tip), od 0 do 255 ( simbolički), od 0 do 65535 ( enumerable). Tip-opsegčuva sva svojstva osnovnog ordinalnog tipa, tako da rezultat primjene funkcije ord(x) na njega ovisi o svojstvima tog tipa.

    Funkcije se također mogu primijeniti na redne tipove:

    predvidjeti(x)- vraća prethodnu vrijednost rednog tipa (vrijednost koja odgovara rednom redu (x) -1, tj. ord(pred(x)) = ord(x) - 1;

    succ(x)- vraća sljedeću vrijednost ordinalnog tipa koja odgovara ordinalu ord(x) + 1, tj. ord(Succ(x)) = ord(x) + 1.

    Na primjer, ako program definira varijablu

    tada će funkcija PRED(c) vratiti znak "4", a funkcija SUCC(c) će vratiti znak "6".

    Ako zamislimo bilo koji redni tip kao uređeni skup vrijednosti koje se povećavaju s lijeva na desno i zauzimaju određeni segment na brojevnoj osi, tada funkcija pred (x) nije definirana za lijevi kraj, a succ (x) - za desni kraj ovog segmenta.

    Cjelobrojni tipovi . Raspon mogućih vrijednosti za cjelobrojne tipove ovisi o njihovoj internoj reprezentaciji, koja može biti jedan, dva, četiri ili osam bajtova. U tabeli. 1.1 navodi imena cjelobrojnih tipova, dužinu njihove interne reprezentacije u bajtovima i raspon mogućih vrijednosti.

    Tabela 1.1 - Cjelobrojni tipovi

    Ime Dužina, bajtovi Raspon vrijednosti
    kardinal 4 0. .. 2 147 483 647
    bajtova 1 0...255
    Shortint 1 -128...+127
    Smallint 2 -32 768...+32 767
    Riječ 2 0...65 535
    Integer 4
    Longint 4 -2 147 483 648...+2 147 483 647
    int64 8 -9*1018...+9*1018
    duga rijec 4 0. . .4 294 967 295

    Vrste duga rijec i int64 prvi put predstavljen u verziji 4 i tipovima Smallint i kardinal nedostaje u Delphiju 1. Tip cijeli broj za ovu verziju, potrebno je 2 bajta i ima raspon vrijednosti od -32768 do +32767, tj. isto kao Smallint .

    Kada se koriste procedure i funkcije sa cjelobrojnim parametrima, treba se voditi „ugniježđenjem“ tipova, tj. gde god se može koristiti riječ, dozvoljena je upotreba bajtova(ali ne i obrnuto) Longint"ulazi" Smallint, što zauzvrat uključuje Shortint .

    Lista procedura i funkcija primjenjivih na cjelobrojne tipove data je u tabeli. 1.2. Slova b, s, w, i, l označavaju izraze, respektivno, tipa bajtova , Shortint, Word, Integer i Longint ,

    x je izraz bilo kojeg od ovih tipova; slova vb, vs, vw, vi, vl, vx označavaju varijable odgovarajućih tipova. Opcioni parametar je naveden u uglastim zagradama.

    Tabela 1.2 – Standardne procedure i funkcije primjenjive na tipove cijelih brojeva

    Žalba Vrsta rezultata Akcija
    trbušnjaci (x) x Vraća modul x
    chr(b) Char Vraća znak po njegovom kodu
    dec(vx[, i]) - Smanjuje vrijednost vx za i, a u nedostatku i - za 1
    inc(vx[,i]) - Povećava vrijednost vx za i, a u nedostatku i - za 1
    bok(w) bajtova Vraća najviši luk argumenta
    zdravo(ja) Isto Vraća treći bajt
    Lo(i) Vraća niži bajt argumenta
    niska (w) Isto
    neparan(l) Boolean Vraća True ako je argument neparan broj
    Slučajno(w) Kao parametar Vraća pseudo-slučajni broj ravnomjerno raspoređen u rasponu 0...(w-l)
    sqr(x) X Vraća kvadrat argumenta
    zamijeniti(i) Integer Zamijenite bajtove u jednoj riječi
    swap(w) Riječ Također

    Kada se radi s cijelim brojevima, tip rezultata će odgovarati tipu operanda, a ako su operandi različitih cjelobrojnih tipova, zajedničkom tipu koji uključuje oba operanda. Na primjer, kada djelujete sa shortint i riječ zajednički će biti tip cijeli broj. Podrazumevano, Delphi kompajler ne generiše kod koji kontroliše da li je vrednost van opsega, što može dovesti do zabune.

    Boolean tipovi . Boolean tipovi su Boolean, ByteBool, Bool, wordBool i longbool. U standardnom Pascalu definiran je samo tip Boolean, drugi Booleov tipovi su uvedeni u Object Pascal radi kompatibilnosti sa Windows: tipovima Boolean i ByteBool zauzimaju po jedan bajt svaki, Bool i wordbool- 2 bajta, longbool- 4 bajta. Booleove vrijednosti mogu biti jedna od unaprijed deklariranih konstanti False (false) ili True (true).

    Budući da je Boolean tip redni tip, može se koristiti u naredbi petlje tipa brojanja. U Delphiju 32 for Boolean značenje

    Ord (Tačno) = +1, dok za ostale tipove ( bool, wordbool itd.)

    Ord (True) = -1, tako da ove vrste operatora treba pažljivo koristiti! Na primjer, za verziju Delphi 6, izvršni showMessage (" ---") izraz u sljedećoj petlji za nikada neće biti izvršeno:

    za L:= Netačno do Tačno

    ShowMessage("--);

    Ako zamijenimo tip parametra petlje L u prethodnom primjeru sa Boolean, petlja će se pokrenuti i poruka će se pojaviti dva puta na ekranu. [Za Delphi verzije 1 i 2 ord (Tačno) =+1 za bilo koji logički tip.]

    Tip karaktera . Vrijednosti tipa znakova su skup svih PK znakova. Svakom znaku je dodijeljen cijeli broj u rasponu od 0...255. Ovaj broj služi kao kod za interni prikaz karaktera, a vraća ga funkcija ord.

    Windows kodiranje koristi ANSI kod (nazvan po Američkom nacionalnom institutu za standarde, američkom institutu za standarde koji je predložio ovaj kod). Prva polovina PC karaktera sa kodovima 0...127 odgovara tabeli 1.3. Druga polovina znakova sa kodovima 128...255 mijenja se za različite fontove. Standardni Windows fontovi Arial Cyr, Courier New Cyr i Times New Roman za predstavljanje ćiriličnih znakova (bez slova “ë” i “Ë”) koriste posljednja 64 koda (od 192 do 256): “A”... “Â ” su kodirane vrijednosti 192..223, “a”... “i” - 224...255. Znakovi "Ë" i "ë" imaju šifre 168 i 184, respektivno.

    Tabela 1.3 - Kodiranje znakova prema ANSI standardu

    Šifra Simbol Šifra. Simbol Šifra. Simbol Šifra Simbol
    0 NUL 32 BL 64 @ 96 "
    1 ZON 33 ! 65 ALI 97 a
    2 STX 34 66 AT 98 b
    3 ETX 35 # 67 With 99 sa
    4 EOT 36 $ 68 D 100 d
    5 ENQ 37 % 69 E 101 e
    6 ACK 38 & 70 F 102 f
    7 BEL 39 " 71 G 103 d
    8" BS 40 ( 72 H 104 h
    9 HT 41 ) 73 I 105 i
    10 LF 42 * 74 J 106 j
    11 VT 43 + 75 To 107 k
    12 FF 44 F 76 L 108 1
    13 CR 45 - 77 M 109 m
    14 SO 46 78 N 110 n
    15 SI 47 / 79 0 111 o
    16 DEL 48 0 80 R 112 P
    17 DC1 49 1 81 Q 113 q
    18 DC2 50 2 82 R 114 r
    19 DC3 51 3 83 S 115 s
    20 DC 4 52 4 84 T 116 t
    21 NAK 53 5 85 U 117 u
    22 SYN 54 6 86 V 118 v
    23 ETB 55 7 87 W 119 W
    24 CAN 56 8 88 X 120 x
    25 EM 57 9 89 Y 121 At
    26 SUB 58 : 90 Z .122 z
    27 ITD 59 ; 91 t 123 {
    28 FS 60 < 92 \ 124 1
    29 GS 61 = 93 ] 125 }
    30 RS 62 > 94 L 126 ~
    31 US 63 F 95 127 r

    Simboli sa kodovima 0...31 odnose se na servisne kodove. Ako se ovi kodovi koriste u simboličkom tekstu programa, smatraju se razmacima.

    Top Related Articles