Kako postaviti pametne telefone i računala. Informativni portal

U Pascalu, pravi tip podataka je. Vrste podataka o adresi

najčešći u matematici numeričke vrste- to cijeli brojevi koji predstavljaju beskonačan broj diskretnih vrijednosti, i valjano brojevi koji predstavljaju neograničeni kontinuum vrijednosti.

Opis brojčanih tipova podataka (cijeli brojevi) Pascal

Unutar istog jezika mogu se implementirati različiti podskupovi skupa cijelih brojeva. Raspon mogućih vrijednosti cjelobrojnih numeričkih tipova ovisi o njihovoj internoj reprezentaciji, koja može biti jedan, dva ili četiri bajta. Dakle, Pascal 7.0 koristi sljedeće cjelobrojne numeričke tipove podataka:

S cijelim numeričke vrste podataka Pascal može izvesti sljedeće operacije:

  • aritmetika:
    dodatak (+);
    oduzimanje(-);
    množenje(*);
    ostatak dijeljenja (mod);
    eksponencijalnost;
    unarni plus (+);
    unarni minus (-).
  • Operacije veza:
    odnos jednakosti (=);
    odnos nejednakosti (<>);
    omjer manji (<);
    omjer veći od (>);
    omjer ne manji od (>=);
    omjer nema više (<=).

Kada djeluje sa cjelobrojni brojčani tipovi podataka tip rezultata će odgovarati tipu operanda, a ako su operandi različitih cjelobrojnih tipova, tip operanda koji ima maksimalnu kardinalnost (maksimalni raspon vrijednosti). Moguće prekoračenje rezultata ne kontrolira se ni na koji način (to je važno!) , što može dovesti do grešaka.

Posebnu pozornost treba posvetiti operaciji dijeljenja cjelobrojnih brojčanih tipova podataka. U Pascalu su dopuštene dvije operacije dijeljenja koje se označavaju "/" i razd. Morate znati da rezultat dijeljenja "/" nije cijeli broj, već pravi broj(ovo je istina čak i ako podijelite 8 sa 2, tj. 8/2=4,0). Div podjela je cjelobrojna podjela, tj. cjelobrojni tip rezultata.

Opis brojčanih tipova podataka (realni) Pascal

Realni brojčani tip podataka odnosi se na podskup realnih brojeva koji se mogu predstaviti u takozvanom formatu s pomičnim zarezom s fiksnim brojem znamenki. S pomičnim zarezom, svaki brojčani tip podataka je predstavljen kao dvije skupine znamenki. Prva skupina znamenki naziva se mantisa, druga - red. Općenito, brojčani tip podataka u obliku s pomičnim zarezom može se predstaviti na sljedeći način: X= (+|-)MP (+ | -) r , gdje je M mantisa broja; r je red broja (r je cijeli broj); P je baza brojevnog sustava. Na primjer, za decimalnu bazu, prikaz 2E-1 (ovdje je E baza decimalnog brojevnog sustava) izgledat će ovako: 2*10 -1 =0,2, a reprezentacija 1,234E5 će odgovarati: 1,234* 10 5 = 123400,0.

Pascal koristi sljedeće vrste realnih brojeva, koji definiraju proizvoljan broj samo s određenom konačnom preciznošću, ovisno o internom formatu realnog broja:

Prilikom opisivanja realne varijable realnog tipa, u memoriji računala stvorit će se varijabla od 4 bajta. U ovom slučaju, 3 bajta će biti data ispod mantise, a jedan - pod redoslijedom.

Na stvarnim numeričkim tipovima podataka možete izvesti sljedeće operacije:

  • aritmetika:
    zbrajanje (+);
    oduzimanje(-);
    množenje(*);
    podjela(/);
    eksponencijalnost;
    unarni plus (+);
    unarni minus (-).
  • Operacije veza:
    odnos nejednakosti (<>);
    omjer manji (<);
    omjer veći od (>);
    omjer ne manji od (>=);
    omjer nema više (<=).

Kao što možete vidjeti, Pascal karakterizira bogat raspon stvarnih tipova, ali pristup brojčanim tipovima podataka singl, dvostruko i proširena moguće samo pod posebnim načinima kompilacije. Ovi numerički tipovi podataka dizajnirani su za hardversku podršku aritmetike s pomičnim zarezom, a za njihovu učinkovitu upotrebu računalo mora sadržavati matematički koprocesor.

Posebnu poziciju u Pascalu zauzima numerički tip podataka. komp, koji se tretira kao realan broj bez eksponencijalnih i razlomaka. Zapravo, komp je predpisani "veliki" cijeli broj koji pohranjuje 19..20 značajnih decimalnih znamenki. Istodobno, brojčani tip podataka komp u izrazima, potpuno je kompatibilan s drugim realnim tipovima: na njemu su definirane sve realne operacije, može se koristiti kao argument matematičkih funkcija itd.

O pretvaranju brojčanih tipova podataka u Pascalu

Implicitne (automatske) pretvorbe numeričkih tipova podataka gotovo su nemoguće u Pascalu. Iznimka je napravljena samo za tip cijeli broj, što je dopušteno koristiti u izrazima poput stvaran. Na primjer, ako su varijable deklarirane na sljedeći način:

VarX: cijeli broj; Y: pravi

Zatim operater

će biti sintaktički ispravan, iako je cjelobrojni izraz desno od znaka dodjele, a realna varijabla lijevo, prevodilac će automatski izvršiti konverziju numeričkih tipova podataka. Obrnuta konverzija se automatski upisuje stvaran po vrsti cijeli broj nije moguće u Pascalu. Prisjetimo se koliko je bajtova dodijeljeno za varijable poput cijeli broj i stvaran: pod cjelobrojnim tipom podataka cijeli broj Dodijeljena su 2 bajta memorije, a pod realnim - 6 bajtova. Za pretvorbu stvaran v cijeli broj postoje dvije ugrađene funkcije: krug(x) zaokružuje realni x na najbliži cijeli broj, trunc(x) skraćuje realni broj odbacivanjem razlomka.

U Pascalu varijable karakteriziraju njihove tip. Tip je svojstvo varijable prema kojem varijabla može preuzeti skup vrijednosti koje dopušta ovaj tip i sudjelovati u skupu operacija dopuštenih za ovaj tip.

Tip definira skup valjanih vrijednosti koje varijabla određenog tipa može uzeti. Također definira skup dopuštenih operacija iz varijable ovog tipa i definira prikaz podataka u RAM-u računala.

Na primjer:

n:cijeli broj;

Pascal je statički jezik, što znači da se tip varijable određuje kada se deklarira i ne može se mijenjati. Jezik Pascal ima razvijen sustav tipova – svi podaci moraju pripadati prethodno poznatom tipu podataka (bilo standardni tip stvoren tijekom razvoja jezika ili korisnički definirani tip koji definira programer). Programer može kreirati vlastite tipove s proizvoljnom strukturom složenosti na temelju standardnih tipova ili tipova koje je korisnik već definirao. Broj kreiranih tipova je neograničen. Prilagođene vrste u programu su deklarirane u odjeljku TYPE formatom:

[ime] = [vrsta]

Standardni tipski sustav ima razgranatu, hijerarhijsku strukturu.

Primarni u hijerarhiji su jednostavni tipovi. Takvi su tipovi 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.

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

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

Objekti također su novi, a namijenjeni su za korištenje kao objektno orijentirani jezik.

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

Pri korištenju cjelobrojnih brojeva treba se voditi ugniježđenjem tipova, t.j. 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. Istodobno, tip Short Int, koji zauzima 1 bajt, ne može biti ugniježđen u tip Word, jer nema negativne vrijednosti.

Postoji 5 pravih vrsta:

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

2358.8395

0.23588395*10 4

0,23588395*E 4

Posebnu poziciju u Pascalu zauzima tip Comp, u stvari, to je veliki cijeli broj s 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, decimalna točka 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 kombiniraju nekoliko jednostavnih tipova. To uključuje:

  • sve vrste cjelobrojnih;
  • vrsta znakova;
  • boolean tip;
  • vrsta-raspon;
  • nabrojani tip.

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

Za vrijednosti rednog 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 rednog tipa. SUCC(A) = 5.

Vrsta lika

Vrijednosti tipa znakova su 256 znakova od skupa koje dopušta tablica kodova računala koje se koristi. Početno područje ovog skupa, odnosno raspon od 0 do 127, odgovara skupu ASCII kodova gdje se učitavaju znakovi abecede, arapski brojevi i posebni znakovi. Znakovi početnog područja uvijek su prisutni na tipkovnici računala. Starije područje naziva se alternativno, sadrži znakove nacionalnih abeceda i razne posebne znakove, te pseudografske znakove koji ne odgovaraju ASCII kodu.

Vrijednost vrste znakova 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 s kodom mora biti znak #.

C:= 'A'

Boolean (boolean) tip

Postoje dvije vrijednosti tipa Boolean: True (True) i False (False). Varijable ovog tipa određene su servisnom riječju BOOLEAN. Booleova vrijednost zauzima jedan bajt u RAM-u. Vrijednosti True i False odgovaraju brojčanim vrijednostima 1 i 0.

Vrsta-raspon

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]

Vrsta raspona može se navesti u odjeljku Vrsta kao posebna vrsta ili izravno u odjeljku Var.

Prilikom definiranja vrste raspona treba se voditi:

  • lijeva granica ne smije prelaziti desnu granicu;
  • tip raspona nasljeđuje sva svojstva osnovnog tipa, ali s ograničenjima koja se odnose na njegovu nižu kardinalnost.

Nabrojana vrsta

Ovaj tip se odnosi na redne tipove i specificiran je navođenjem onih vrijednosti koje može nabrojati. Svaka vrijednost je imenovana nekim identifikatorom i nalazi se na popisu uokvirenom u zagradama. Nabrojani tip je naveden u vrsti:

narodi = (muškarci, žene);

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

Maksimalna snaga 65535 vrijednosti.

vrsta niza

Tip stringa pripada skupini strukturiranih tipova i sastoji se od osnovnog tipa Char. Vrsta stringa nije redni tip. Definira skup znakovnih nizova proizvoljne duljine do 255 znakova.

U programu se vrsta stringa deklarira riječju String. Budući da je String osnovni tip, deklarira se u jeziku, a deklaracija varijable tipa String vrši se u Var. Prilikom deklariranja varijable tipa niza iza Stringa, preporučljivo je navesti duljinu niza u uglastim zagradama. Određuje cijeli broj između 0 i 255.

Fam: Žica;

Određivanje duljine niza omogućuje prevoditelju da dodijeli određeni broj bajtova u RAM-u za danu varijablu. Ako duljina niza nije navedena, onda će prevodilac dodijeliti najveći mogući broj bajtova (255) za vrijednost ove varijable.

Federalna agencija za obrazovanje

sažetak

"VRSTE PODATAKA U PASCAL-u"

1. Vrste podataka

Bilo koji podatak, tj. Konstante, varijable, svojstva, vrijednosti funkcija ili izrazi karakterizirani su svojim tipovima. Tip definira skup valjanih vrijednosti koje objekt može imati, kao i skup valjanih operacija koje se na njega mogu primijeniti. Osim toga, tip također određuje format internog prikaza podataka u memoriji računala.

Općenito, jezik Object Pascal karakterizira razgranana struktura tipova podataka (slika 1.1). Jezik pruža mehanizam za stvaranje 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 tijekom izvršavanja programa.

Varijable su deklarirane u odjeljku deklaracije varijable, ali za razliku od konstanti, one dobivaju svoje vrijednosti već tijekom izvršavanja programa, a te se vrijednosti mogu mijenjati. Konstante i varijable mogu se nazivati ​​imenom.

Doslovna nema identifikator i predstavljen je izravno vrijednošću u tekstu programa.

Vrsta definira skup vrijednosti koje elementi podataka mogu preuzeti i skup operacija dopuštenih na njima.

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

1.1 Jednostavni tipovi

Jednostavni tipovi uključuju redni, stvarni i datumsko-vremenski tip.

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 se svakoj od njih može pridružiti neki cijeli broj - redni broj vrijednosti.

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

tip datum-vrijeme dizajniran za pohranjivanje datuma i vremena. Zapravo, koristi pravi format za te svrhe.

1.1.1 Redni tipovi

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


Riža. 1.1 - Struktura tipova podataka

Za cijeli vrste, funkcija ord(x) vraća vrijednost samog x, to jest, Ord(X) = x za x koji pripada bilo kojem cijeli tip. Primjenom Naredbe(x) na logično , simbolički i nabrojani vrste daje pozitivan cijeli broj u rasponu od 0 do 1 ( boolean tip), od 0 do 255 ( simbolički), od 0 do 65535 ( nabrojiv). Vrsta-rasponč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 vrste:

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

uspješan(x)- vraća sljedeću vrijednost rednog 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) 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 tablici. 1.1 navodi nazive cjelobrojnih tipova, duljinu njihove interne reprezentacije u bajtovima i raspon mogućih vrijednosti.

Tablica 1.1 - Cjelobrojni tipovi

Ime Duljina, 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
Cijeli broj 4
Longint 4 -2 147 483 648...+2 147 483 647
int64 8 -9*1018...+9*1018
duga riječ 4 0. . .4 294 967 295

Vrste duga riječ i int64 prvi put uveden u verziji 4 i vrste Smallint i kardinal nedostaje u Delphiju 1. Tip cijeli broj za ovu verziju traje 2 bajta i ima raspon vrijednosti od -32768 do +32767, tj. isto kao Smallint .

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

Popis postupaka i funkcija primjenjivih na cjelobrojne tipove dat je u tablici. 1.2. Slova b, s, w, i, l označavaju izraze tog 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. Neobavezni parametar je naveden u uglastim zagradama.

Tablica 1.2 - Standardne procedure i funkcije primjenjive na cjelobrojne vrste

Apel Vrsta rezultata Akcijski
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) Također Vraća treći bajt
Lo(i) Vraća niži bajt argumenta
niska (w) Također
neparan(l) Boolean Vraća True ako je argument neparan broj
Slučajno (w) Kao parametar Vraća pseudoslučajni broj ravnomjerno raspoređen u rasponu 0...(w-l)
sqr(x) x Vraća kvadrat argumenta
zamijeniti (i) Cijeli broj Zamijenite bajtove u jednoj riječi
zamijeniti (w) Riječ Isto

Kada se radi s cijelim brojevima, tip rezultata odgovara tipu operanada, a ako su operandi različitih cjelobrojnih tipova, općem tipu koji uključuje oba operanda. Na primjer, kada djeluje sa kratak i riječ zajednički će biti tip cijeli broj. Prema zadanim postavkama, Delphi prevodilac ne generira kod koji kontrolira je li vrijednost izvan raspona, što može dovesti do zabune.

Booleovi tipovi . Booleovi 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 (True) = +1, dok za ostale vrste ( bool, wordbool itd.)

Ord (True) = -1, stoga ove vrste operatora treba koristiti oprezno! Na primjer, za verziju Delphi 6, izvršni izraz showMessage (" ---") u sljedećoj petlji za nikada se neće izvršiti:

za L:= False to True učiniti

Prikaži poruku("--);

Zamijenimo li tip parametra petlje L u prethodnom primjeru sa Boolean, petlja će se pokrenuti i poruka će se pojaviti dvaput na ekranu. [Za Delphi verzije 1 i 2 ord (True) =+1 za bilo koji booleov tip.]

Vrsta lika . Vrijednosti vrste znakova skup su svih PK znakova. Svakom znaku je dodijeljen cijeli broj u rasponu od 0...255. Ovaj broj služi kao kod za interni prikaz znaka, 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 polovica PC znakova s ​​kodovima 0...127 odgovara tablici 1.3. Druga polovica znakova s ​​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 kodove 168, odnosno 184.

Tablica 1.3 - Kodiranje znakova prema ANSI standardu

Kod Simbol Kod. Simbol Kod. Simbol Kod Simbol
0 NUL 32 BL 64 @ 96 "
1 ZON 33 ! 65 A 97 a
2 STX 34 66 V 98 b
3 ETX 35 # 67 S 99 S
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 ja 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 DO 107 k
12 FF 44 F 76 L 108 1
13 CR 45 - 77 M 109 m
14 TAKO 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 P 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 LIMENKA 56 8 88 x 120 x
25 EM 57 9 89 Y 121 Na
26 POD 58 : 90 Z .122 z
27 ESC 59 ; 91 t 123 {
28 FS 60 < 92 \ 124 1
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 L 126 ~
31 NAS 63 F 95 127 r

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

Pascal vrste podataka

Svi podaci (konstante, varijable, vrijednosti funkcija ili izrazi) u Turbo Pascalu karakterizirani su svojim tipovima. Tip definira skup valjanih vrijednosti koje objekt može imati, kao i skup valjanih operacija koje se na njega mogu primijeniti. Tip također određuje format internog prikaza podataka u memoriji računala.

Sljedeći tipovi podataka postoje u Turbo Pascalu.

1) Jednostavne vrste:

- pravi;

- simbolički;

- boolean (logički);

- na popisu;

– ograničen (domet).

2) Kompozitne (strukturirane) vrste:

– regularni (nizovi);

– kombinirani (zapisi);

- datoteka;

- višestruki;

- struna;

- objekti.

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

4) Proceduralni tipovi.

Turbo Pascal pruža mehanizam za stvaranje novih tipova podataka, tako da ukupan broj tipova koji se koriste u programu može biti proizvoljno velik.

cjelobrojnog tipa. Vrijednosti cjelobrojnog tipa elementi su podskupa cijelih brojeva. U Turbo Pascalu postoji pet cjelobrojnih tipova. Njihovi nazivi, raspon vrijednosti, duljina prikaza u bajtovima dati su u tablici. 6.

Tablica 6

Cjelobrojni tipovi podataka

Cjelobrojne varijable deklariraju se korištenjem gornjih 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 broj negativan) i 15 bitova za pohranjivanje broja u računanju binarnog sustava. Maksimalni decimalni broj koji se može zapisati kao 15-bitni binarni broj je 32767.

Kada se koriste procedure i funkcije s cjelobrojnim parametrima, treba se voditi "ugniježđenjem" tipova, t.j. gdje god se koristi riječ, bajt je dopušten (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 (zbrajanje, oduzimanje, množenje, cjelobrojno dijeljenje i ostatak dijeljenja cijelog broja). U aritmetičkim izrazima, operacije *, div, mod imaju veći prioritet od operacija +, -. Primjeri pisanih izraza:

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

Tablica 7

Standardne procedure i funkcije primjenjive na cjelobrojne vrste

Apel Vrsta rezultata Akcijski
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
Zdravo, ja) bajtova Vraća visoki bajt argumenta
Zdravo, ja) bajtova Također
Lo(i) bajtova Vraća niži bajt argumenta
nisko (w) bajtova Također
Nepar (l) bajtova Vraća true ako je argument neparan broj
Slučajno (w) Kao parametar Vraća pseudoslučajni broj jednoliko raspoređen u rasponu 0...(w-1)
Kvadrat (x) x Vraća kvadrat argumenta
Zamijeni(i) Cijeli broj
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 najveći raspon vrijednosti. Moguće prelijevanje rezultata se ne kontrolira, što može dovesti do grešaka u programu.

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

Tablica 8

Stvarni tipovi podataka

Realne varijable se deklariraju korištenjem gornjih rezerviranih riječi:

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

Znak znaka broja;

Eksponencijalni dio;

Mantisa broja.

Mantisa ima duljinu od 23 (pojedinačne) do 63 (proširene) binarne znamenke, što osigurava točnost od 7-8 za pojedinačne i 19-20 za proširene decimalne znamenke. Decimalna točka (zarez) podrazumijeva se ispred lijeve (najznačajnije) znamenke mantise, ali kada se radi s brojem, njezin se položaj pomiče ulijevo ili udesno u skladu s binarnim redoslijedom broja pohranjenog u eksponencijalnom dijelu , stoga se operacije nad realnim brojevima nazivaju aritmetičkim s pomičnim zarezom (zarezom).

Tipovima Single, Double i Extended pristupa se samo u posebnim načinima kompilacije. Da biste omogućili ove načine rada, odaberite stavku izbornika Mogućnosti, Prevoditelj... 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 znamenki. Istodobno, Comp je u potpunosti kompatibilan sa svim drugim realnim tipovima u izrazima: na njemu su definirane sve stvarne operacije, može se koristiti kao argument matematičkih operacija itd.



Realni brojevi su dati u decimalnom zapisu u jednom od dva oblika.

V oblik fiksne točke zapis se sastoji od cijelog broja i razlomka, međusobno odvojenih točkom, na primjer:

0.087 4.0 23.5 0.6

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

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

Na objektima realnog tipa definirane su sljedeće operacije: +, -, *, /.

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

Ako je barem jedan operand stvaran, 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 tablici 1. 9. Rezultat ovih funkcija je također stvaran.

Tablica 9

Matematičke funkcije koje rade sa stvarnim podacima

Nije dopušteno 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 od x (x je realan);

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

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

Vrijednosti ove vrste biraju se iz uređ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 znakova je jedan znak zatvoren u apostrofe, na primjer:

'F' '8' '*'

Varijable znakova mogu se međusobno uspoređivati ​​uspoređivanjem znakovnih kodova.

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

ord(s) - daje broj simbola iz;

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

Ove su funkcije inverzne jedna od druge.

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

p1, p2: boolean;

Booleove varijable uzimaju dvije vrijednosti: pravi(pravi), lažno(Laganje).

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

Booleovim varijablama može se ili izravno dodijeliti vrijednost ili se može koristiti logički izraz. Na primjer,

a, d, g, b: boolean;

Relacijske operacije (<, <=, >, >=, =, <>) primijenjen na cjelobrojne, realne i znakovne varijable daju booleov rezultat.

Logičke operacije nad operandima booleovog tipa također daju logički rezultat (operacije su navedene silaznim redoslijedom prioriteta) (za detalje pogledajte tablice 3 i 5):

ne – negacija (NE operacija);

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

ili – logičko zbrajanje (operacija ILI);

xor - isključivo OR.

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

Izraz (a i b) vrijedi samo ako su i a i b istiniti, inače je vrijednost ovog izraza netočna.

Izraz (a ili b) se daje netočno samo ako su i a i b lažni, u svim ostalim slučajevima rezultat je istinit.

Nabrojana vrsta. Nestandardni nabrojani tip je specificiran nabrajanjem kao nazivi vrijednosti koje varijabla može uzeti. Svaka vrijednost je imenovana nekim identifikatorom i nalazi se na popisu zatvorenom u zagradama. Opći oblik opisa nabrojanog tipa:

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

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

Ove vrijednosti su poredane 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: =,<>, <=, >=, <, >.

Dopušteno je specificirati konstante nabrojanog tipa izravno u odjeljku var bez korištenja odjeljka tip, Na primjer

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

Tip raspona (ograničeni).. Kada definirate ograničeni tip, određujete početne i krajnje vrijednosti koje varijabla tipa raspona može uzeti. Vrijednosti su odvojene s dvije točke.

Opis ograničenog tipa je

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

Prilikom navođenja ograničene vrste, moraju se poštivati ​​sljedeća pravila:

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

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

col = crvena..žuta;

slovo = 'a'..'f';

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

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

– minimalna granica mora uvijek biti manja od maksimalne granice.

Nizovi. Niz je složeni tip, što je struktura koja se sastoji od fiksnog broja komponenti istog tipa. Tip komponente naziva se osnovni tip. Sve komponente polja mogu se jednostavno 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 od t2;

gdje je a ime niza, niz, od– 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), znakovni, booleovski, nabrojani i rasponski tipovi. Indeksi su odvojeni zarezima i stavljeni u uglaste zagrade. Komponente polja 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 naziv niza, prvi indeks je broj retka i uzima vrijednosti od 1 do 2, drugi je broj stupca 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 tablice u prvom retku i trećem stupcu, tj. broj -4).

Indeksi mogu biti proizvoljni izrazi, koji odgovaraju vrsti indeksa iz deklaracije polja:

a: niz realnih;

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

Skup operacija nad elementima polja u potpunosti je određen vrstom tih elemenata.

vrsta niza. Vrsta stringa - skup nizova znakova proizvoljne duljine (od nule do zadanog broja). Varijable tipa string opisuju se pomoću servisne riječi niz:

b: niz ;

Osobitosti:

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

– dopušteno je koristiti operaciju konkatenacije u operatoru dodjele, budući da nizovi mogu dinamički mijenjati svoju duljinu: a:= a + ‘izračuni’;

– maksimalna duljina varijable niza je 255 znakova, ovaj se pokazatelj duljine može izostaviti:

a: niz;

a1: niz ;

Varijable a i a1 su iste (ekvivalentan opis).

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

– operacije usporedbe definirane su na vrijednostima tipova nizova:< <= > >= = <>. Kratki niz je uvijek manji od dugog. Ako su nizovi iste duljine, tada se kodovi znakova uspoređuju.

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

Postupci i funkcije usmjerene na rad sa nizovima.

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

kopija(e, indeks, broj)– funkcija izdvajanja niza iz izvornog niza s dugo računati znakova koji počinju brojem znaka indeks.

izbrisati(e, indeks, broj) je postupak za uklanjanje iz niza s podniza duljine računati znakova, počevši od znaka s brojem indeks.

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

duljina(e)– funkcija za određivanje trenutne duljine niza, vraća broj jednak trenutnoj duljini niza.

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 ovaj redak ne postoji).

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

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

Dvije vrste smatraju se kompatibilnima ako:

- oba su istog tipa;

su obje stvarne;

- oba su netaknuta

– jedan tip je tip raspona drugog tipa;

– obje su vrste raspona istog temeljnog tipa;

– oba su skupovi sastavljeni od elemenata iste osnovne vrste;

– oba su pakirani nizovi (definirani prethodnom pakiranom riječju) iste maksimalne duljine;

- jedan je niz tipa, a drugi je tipski niz ili znak;

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

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

Kompatibilnost tipa poprima posebno značenje u iskazima 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 ova vrsta 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 stvarni 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 pakirani 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 jedne vrste mogu pretvoriti u podatke druge vrste. Takva konverzija može biti eksplicitna ili implicitna.

Eksplicitna konverzija tipa poziva posebne funkcije pretvorbe čiji su argumenti jedne vrste, a čije su vrijednosti druge vrste. Primjer su već razmatrane funkcije ord, trunc, round, chr.

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

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

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

Koncept tipa jedan je od temeljnih koncepata svakog programskog jezika. Objekti (konstante, varijable, funkcije, izrazi) s kojima program radi su određene vrste.

Vrsta je skup vrijednosti koje programski objekti mogu preuzeti i skup operacija dopuštenih na tim vrijednostima.

na primjer, vrijednosti 1 i 2 su cjelobrojnog tipa, mogu se zbrajati, množiti i izvoditi druge aritmetičke operacije. Značenja "monitor" i "Pascal" su lingvističke prirode, imaju svoj skup valjanih operacija. U najčešće korištenim jezicima mogu se koristiti samo dobro definirani, poznati tipovi. Pascal, zajedno sa standardnim tipovima koji se nalaze u drugim jezicima visoke razine, omogućuje programeru stvaranje vlastitih tipova.

Sve vrste dopuštene u jeziku Pascal podijeljene su u dvije velike grupe: jednostavno i složeno (strukturirano).

Vrsta Domet Mantisa, znakovi Potrebna memorija (bajtovi)
STVARAN 2,9*10E-39..1,7*10E38 11-12
SINGL 1,5*10E-45..3,4*10E38 7-8
DVOSTRUKO 5,0*10E-324..1,7*10E308 15-16
PRODUŽENA 1,9*10E-4951..1,1*10E4932 19-20
COMP -2E+63+1..2E+63-1 10-20

Učinkovita upotreba tipova SINGLE, DOUBLE, EXTEND, COMP moguća je samo kada je uključena direktiva ($N+). Prema zadanim postavkama, nalazi se u isključenom stanju. Za rješavanje inženjerskih i ekonomskih problema dovoljne su vrijednosti tipa REAL.

Primjer

Var Res, Summa, Itog: pravi;

Bulevsky tip podataka je opisan identifikatorom BOOLEAN. Varijable i konstante ovog tipa mogu imati samo jednu od dvije vrijednosti: TRUE (true) ili FALSE (false).

Primjer

Var Sel1, Sel2: boolean;

A,B,C,D: boolean;

Izrazi Booleovog tipa zauzimaju 1 bajt memorije i koriste se u logičkim i relacijskim izrazima, kao i za kontrolu redoslijeda izvršavanja programskih izraza.

doslovno (znak) tip je opisan standardnim identifikatorom CHAR. Konstante i varijable ovog tipa mogu uzeti jednu od vrijednosti tablice kodova ASCII. Vrijednost konstante ili varijable ovog tipa je zatvorena u apostrofima.

na primjer, Var Bukva, Znak, Simbol: čar;

Slovo:='A'; Znak:='+'; Simbol:='!'

Varijable tipa znakova zauzimaju 1 bajt u memoriji. Zabranjena je upotreba podataka tipa char u aritmetičkim izrazima. Operacije usporedbe mogu se primijeniti na literalne vrijednosti, čiji rezultat ovisi o broju literalne varijable ili konstante u tablici koda.

Uz standardne tipove podataka, Pascal podržava skalarne tipove, korisnik definiran. To uključuje nabrojiv i interval vrste . Ovi tipovi podataka zauzimaju 1 bajt memorije, tako da bilo koji korisnički definirani tip ne može sadržavati više od 255 elemenata. Njihovo korištenje značajno poboljšava vidljivost programa, olakšava pronalaženje pogrešaka i štedi memoriju.

Nabrojana vrsta je specificirano izravno navođenjem svih vrijednosti koje varijabla određenog tipa može uzeti. Pojedinačne vrijednosti su odvojene zarezima, a cijeli popis je zatvoren u zagradama.

Format

tip<имя типа>=(<значение1, значение2, ..., значениеN>);

Var<идентификатор, ...>: < имя типа>;

Primjer

Vrsta Sezona =(Proljeće, Ljeto, Jesen, Zima);

Var S1, S2: Sezona;

Jesen: (rujan, listopad, studeni);

U ovom primjeru prikazan je eksplicitno deklarirani tip podataka korisnika sezone. Njihova su značenja određena – oznake godišnjih doba. Varijable S1 i S2 mogu imati samo jednu od navedenih vrijednosti. Pokušaj da im se dodijeli bilo koja druga vrijednost prouzročit će softverski prekid. Treća vrsta nabrajanja je anonimna (nema imena) i specificira se nabrajanjem vrijednosti u odjeljku Var. Jesen je varijabla ovog tipa i može imati vrijednosti rujan, listopad, studeni. Dakle, može se dati bilo koja vrsta, ali to nije uvijek prihvatljivo. Prvi način je svakako razumljiviji i više u skladu s prirodom Pascal jezika.

tip intervala omogućuje postavljanje dvije konstante koje definiraju granice raspona vrijednosti za ovu varijablu. Kad god se operacija izvodi na varijabli tipa intervala, prevodilac generira rutine provjere kako bi utvrdio ostaje li vrijednost varijable unutar svog specificiranog raspona. Obje konstante moraju pripadati jednom od standardnih tipova, osim realnih. Vrijednost prve konstante mora nužno biti manja od vrijednosti druge.

Format

tip<имя типа> = <константа1> .. <константа2>;

Var<идентификатор>: < имя типа>;

Primjer

Tip Dani = 1.. 31;

Var Work_d, Free_d: Dani;

U ovom primjeru varijable Rad_d, Slobodan_d su tipa dana i može uzeti bilo koju vrijednost iz raspona 1 . . 31.

Izvan dometa pokreće softverski prekid.

Možete definirati vrstu intervala navodeći granice raspona ne konstantnim vrijednostima, već njihovim nazivima:

Const Min = 1; max=31;

Vrsta Dani = Min .. Max;

Var Work_d, Free_d: Dani;

Strukturirani tipovi podaci se temelje na skalarnim tipovima i mogu sadržavati različite njihove kombinacije. Oni definiraju uređeni skup skalarnih elemenata i karakteriziraju ih tipom njihovih komponenti. Pascal nudi sljedeće strukturirane vrste podataka:

crta - niz znakova zatvoren u apostrofe;

niz - strukturirani tip podataka koji se sastoji od fiksnog broja elemenata istog tipa, kojima se pristupa putem indeksa ;

gomila - skup objekata odabranih prema nekom atributu ili skupini atributa, koji se mogu promatrati kao cjelina;

rekord - skup fiksnog broja komponenti različitih vrsta;

datoteka- niz komponenti iste vrste i iste duljine.

Još dva strukturirana tipa - proceduralni i tipski objekt (objektivni) - teško je povezati s podacima u konvencionalnom prikazu.

Slika 1- Skup osnovnih tipova Pascal jezika

Vrhunski povezani članci