Koje vrste varijabli se koriste u Pascalu. Tipovi podataka u Pascalu (varijable, konstante), njihovi tipovi i opis

Redni tipovi uključuju (pogledajte sliku 4.1) cjelobrojne, logičke, karakterne, nabrojane i opsege. Funkcija ORD(X) je primjenjiva na bilo koju od njih, koja vraća redni broj vrijednosti izraza X. Za cjelobrojne tipove, funkcija ORD(X) vraća vrijednost samog X, tj. ORD(X) = X za X koji pripada bilo kojem tipu ljuske. Primjena ORD(X) na boolean, karakter i tipove nabrajanja proizvodi pozitivan cijeli broj u rasponu od 0 do 1 (boolean), 0 do 155 (znak), 0 do 65535 (nabrajanje). Tip raspona zadržava sva svojstva osnovnog ordinalnog tipa, tako da rezultat primjene funkcije ORD(X) na njega ovisi o svojstvima tog tipa.

Funkcije možete primijeniti i na redne tipove:

PRED (X) - vraća prethodnu vrijednost rednog tipa (vrijednost koja odgovara rednom broju ORD(X) - 1), tj.

ORD(PRED(X)) = ORD(X) - 1;

SUCC (X) - vraća sljedeću rednu vrijednost koja odgovara rednom broju ORD(X) +1, tj.

ORD(SUCC(X)) = ORD(X) + 1.

Na primjer, ako program definira varijablu

tada će funkcija PRED(C) vratiti vrijednost "4", a SUCC(C) funkcija će vratiti vrijednost "6".

Ako zamislimo bilo koji redni tip kao uređen skup vrijednosti koji se povećava s lijeva na desno i zauzima određeni segment na brojevnoj osi, tada funkcija PRED(X) nije definirana za lijevu, a SUCC(X) za desnu kraj ovog segmenta.

Cijeli tipovi. Raspon mogućih vrijednosti cjelobrojnih tipova ovisi o njihovoj internoj reprezentaciji, koja može biti jedan, dva ili četiri bajta. U tabeli 4.1 prikazuje nazive cjelobrojnih tipova, dužinu njihove interne reprezentacije u bajtovima i raspon mogućih vrijednosti.

Tabela 4.1

Kada koristite procedure i funkcije sa cjelobrojnim parametrima, trebali biste se voditi „ugniježđenjem“ tipova, tj. gdje god se WORD može koristiti, BYTE se može koristiti (ali ne i obrnuto), LONGINT „uključuje“ INTEGER, koji zauzvrat uključuje SHORTINT.

Lista procedura i funkcija primjenjivih na cjelobrojne tipove data je u Tabeli 4.2. Pisma b, s, w, i, l izrazi tipa BYTE, SHORTINT, WORD, INTEGER i LONGINT su označeni, respektivno, x je izraz bilo kojeg od ovih tipova; pisma vb, vs, vw, vi, vl, vx označavaju varijable odgovarajućih tipova. Opcioni parametar je naveden u uglastim zagradama.

Tabela 4.2

Standardne procedure i funkcije primjenjive na cijele tipove
Ž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) Byte Vraća visoki bajt argumenta
bok(w) Isto Isto
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) Isto kao parametar Vraća pseudoslučajni broj ravnomjerno raspoređen u rasponu 0...(w-l)
sgr(x) X Vraća kvadrat argumenta
zamijeniti(i) Integer Zamjenjuje bajtove u jednoj riječi
swap(w) Riječ

Kada se radi s cijelim brojevima, tip rezultata će odgovarati tipu operanada, a ako su operandi različitih cjelobrojnih tipova, tipu operanda koji ima maksimalnu snagu (maksimalni raspon vrijednosti). Eventualno prekoračenje rezultata se ni na koji način ne kontrolira, što može dovesti do nesporazuma, na primjer:

a:= 32767; (Maksimalna moguća INTEGER vrijednost)

x:= a + 2; (Prelivanje prilikom evaluacije ovog izraza !}

y:= LongInt(a)+2; (Nema prelivanja nakon prebacivanja varijable na moćniji tip)

WriteLn(x:10:0, y:10:0)

Kao rezultat pokretanja programa dobijamo

Boolean tip. Booleove vrijednosti mogu biti jedna od unaprijed deklariranih konstanti FALSE ili TRUE. Na njih važe pravila:

False< True;

succ(False)= Tačno;

pred(Tačno) = Netačno.

Budući da je Boolean tip redni tip, može se koristiti u operatoru prebrojivog tipa, na primjer:

za 1:= Netačno do Tačno uradi ....

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

ASCII kod se koristi za kodiranje ( Američki standardni kod za razmjenu informacija- Američki standardni kod za razmjenu informacija). Ovo je 7-bitni kod, tj. može kodirati samo 128 znakova u rasponu od 0 do 127. U isto vrijeme, u 8-bitnom bajtu koji je dodijeljen za pohranjivanje znaka u Turbo Pascalu, možete kodirati dvostruko više znakova u rasponu od 0 do 255. prva polovina znakova PC sa kodovima 0...127 odgovara ASCII standardu (tabela 4.3). Druga polovina znakova sa kodovima 128...255 nije ograničena krutim okvirom standarda i može se mijenjati na različitim tipovima računara (Dodatak 2 prikazuje neke uobičajene opcije kodiranja za ove znakove).

Tabela 4.3

Kodiranje znakova prema ASCII standardu
Kod Simbol Kod Simbol Kod Simbol Kod Simbol
NUL B.L. ® "
ZON ! A a
STX " IN b
ETX # WITH With
EOT $ D d
ENQ % E e
ASK & F f
BEL " G g
B.S. ( H h
NT ) I i
LF * J j
VT + k k
FF , L i
CR - M m
SO . N n
S.I. / O
DEL str P
DC1 Q q
DC2 R r
DC3 S s
DC4 T t
N.A.K. U u
SYN V V
ETB w w
CAN X X
E.M. U U
SUB : z z
ITD / [ {
FS < \ l
G.S. = ] }
R.S. > ^ ~
US ? - n

Znakovi sa kodovima 0...31 odnose se na servisne kodove. Ako se ovi kodovi koriste u tekstu znakova programa, smatraju se razmakom. Kada se koriste u I/O operacijama, mogu imati sljedeće nezavisno značenje:

Simbol Kod Značenje
BEL Call; Prikaz ovog simbola je praćen zvučnim signalom
NT Horizontalna tabela; kada je prikazano na ekranu, pomera kursor na poziciju koja je višestruka od 8 plus 1 (9, 17, 25, itd.)
LF Line translation; kada ga prikažete na ekranu, svi naredni znakovi će biti ispisani počevši od iste pozicije, ali u sljedećem redu
VT Vertical tab; kada se prikaže na ekranu, zamjenjuje se posebnim znakom
FF Page run; kada se izlazi na štampač, formira stranicu kada se izlazi na ekran, zamenjuje se posebnim znakom
CR Povrat kočije; uneseno pritiskom na tipku Enter (kada se unese pomoću READ ili READLN, to znači naredbu “Enter” i ne stavlja se u ulazni međuspremnik; kada se izlazi, znači naredbu “Nastavi izlaz s početka tekuće linije”)
SUB Kraj datoteke; unosi se sa tastature pritiskom na Ctrl-Z; pri izlazu se zamjenjuje posebnim znakom
SSC Kraj rada; uneseno sa tastature pritiskom na taster ESC; pri izlazu se zamjenjuje posebnim znakom

Relacijske operacije, kao i ugrađene funkcije, primjenjive su na tip CHAR: SNR(V) - funkcija tipa CHAR; pretvara izraz B tipa BYTE u znak i vraća ga sa njegovom vrijednošću;

UPCASE(CH) - funkcija tipa CHAR; vraća veliko slovo ako je CH malo latinično slovo, u suprotnom vraća sam znak CH, na primjer:

cl:= UpCase("s") ;

c2:= UpCase ("F") ;

ZapišiLn(cl," ",c2)

Budući da funkcija UPCASE ne obrađuje ćirilicu, rezultat je pokretanja ovog

programi će biti prikazani na ekranu

Enum tip. Nabrojani tip je specificiran nabrajanjem vrijednosti koje može primiti. Svaka vrijednost je imenovana nekim identifikatorom i nalazi se na listi okruženoj zagradama, na primjer:

boje =(crvena, bijela, plava);

Upotreba nabrojanih tipova čini programe vizualnijim. Ako, na primjer, program koristi podatke povezane s mjesecima u godini, tada slijedi sljedeći fragment programa:

TypeMonth=(jan, februar, mar, april, maj, jun, jul, avgust, septembar, oktobar, novembar, decembar);

mjesec: TypeMonth;

ako je mjesec = aug onda WriteLn("Bilo bi lijepo otići na more!");

Bilo bi, vidite, vrlo jasno. Avaj! U Turbo Pascalu ne možete koristiti ćirilicu u identifikatorima, pa smo primorani pisati ovako:

TypeMonth=(jan,feb,mar,maj,jun,jul,avg,sep,okt,nov,dec);

mjesec: TypeMonth;

ako je mjesec = aug onda WriteLn("Bilo bi lijepo otići na more!");

Korespondencija između vrijednosti nabrojanog tipa i rednih brojeva ovih vrijednosti utvrđuje se redoslijedom nabrajanja: prva vrijednost na listi prima redni broj 0, druga - 1 itd. Maksimalni kapacitet nabrojanog tipa je 65536 vrijednosti, tako da zapravo nabrojani tip definira određeni podskup cijelog tipa WORD i može se smatrati kompaktnom deklaracijom grupe cjelobrojnih konstanti sa vrijednostima 0, 1 itd.

Korišćenje nabrojanih tipova povećava pouzdanost programa omogućavajući vam da kontrolišete vrednosti koje primaju odgovarajuće varijable. Na primjer, neka se zadaju sljedeći nabrojani tipovi:

boje = (crna, crvena, bijela);

ordenal= (jedan, dva, tri);

dani = (ponedjeljak, utorak, srijeda);

U smislu moći i unutrašnjeg predstavljanja, sva tri tipa su ekvivalentna:

ord(crno)=0, ..., ord(bijelo)=2,

ord(jedan)=0, ...ord(tri)=2,

ord(ponedeljak)=0, ...ord(srijeda)=2.

Međutim, ako su varijable definirane

col:colors; num:ordenal;

tada je operaterima dozvoljeno

num:= succ(dva);

dan:= pred(utorak);

ali neprihvatljivo

Kao što je već spomenuto, postoji korespondencija jedan-na-jedan između vrijednosti nabrojanog tipa i skupa cijelih brojeva, specificiranih funkcijom ORD(X). Turbo Pascal takođe dozvoljava obrnutu konverziju: bilo koji izraz tipa WORD može se konvertovati u vrednost tipa enum, sve dok vrednost celobrojnog izraza ne prelazi power1™ tipa nabrajanja. Ova konverzija se postiže korištenjem automatski deklarirane funkcije s imenom nabrojanog tipa (pogledajte odjeljak 4.4). Na primjer, za deklaraciju tipa o kojoj je bilo riječi gore, sljedeće dodjele su ekvivalentne:

col:= boje(0);

Naravno, zadatak

biće neprihvatljivo.

Varijable bilo kojeg nabrojanog tipa mogu se deklarirati bez prethodnog deklariranja tog tipa, na primjer:

boja: (crna, bijela, zelena);

Tip-opseg. Tip raspona je podskup njegovog osnovnog tipa, koji može biti bilo koji redni tip osim tipa raspona. Tip raspona definiran je granicama njegovih vrijednosti unutar osnovnog tipa:

<мин.знач.>..<макс.знач.>

Evo<мин.знач. >- minimalna vrijednost raspona tipa;

<макс.знач.>- njegovu maksimalnu vrijednost.

Na primjer:

cifra = "0".."9";

Tip raspona ne mora biti opisan u odjeljku TYPE, ali se može navesti direktno prilikom deklariranja varijable, na primjer:

Ichr: "A".."Z";.

Prilikom određivanja vrste raspona, morate slijediti sljedeća pravila:

  • dva znaka ".." tretiraju se kao jedan znak, tako da razmaci između njih nisu dozvoljeni;
  • lijeva granica opsega ne smije prelaziti desnu granicu. Tip opsega nasljeđuje sva svojstva svog osnovnog tipa, ali s ograničenjima svoje niže snage. Konkretno, ako je varijabla definirana

dani = (pon, ut, we, th, fr, su, su);

WeekEnd = sa .. su;

tada će ORD(W) vratiti vrijednost 5 dok će PRED(W) rezultirati greškom.

Standardna biblioteka Turbo Pascal uključuje dvije funkcije koje podržavaju rad s tipovima raspona:

HIGH(X) - vraća maksimalnu vrijednost tipa opsega kojem varijabla X pripada;

LOW(X) - vraća minimalnu vrijednost tipa raspona.

Sljedeći kratki program će ispisati liniju

WriteLn(niska(k),"..",Visoka(k))

Skup cijelih brojeva je beskonačan, ali uvijek možemo odabrati broj bitova koji će predstavljati bilo koji cijeli broj koji se pojavi prilikom rješavanja određenog problema. Skup realnih brojeva nije samo beskonačan, već je i kontinuiran, pa bez obzira na to koliko bitova uzmemo, neizbježno ćemo naići na brojeve koji nemaju tačnu reprezentaciju. Brojevi s pomičnim zarezom su jedan od mogućih načina predstavljanja realnih brojeva, što je kompromis između preciznosti i raspona prihvaćenih vrijednosti.

Broj s pomičnim zarezom sastoji se od skupa pojedinačnih cifara, konvencionalno podijeljenih na znak, eksponent i mantisu. Eksponent i mantisa su cijeli brojevi koji, zajedno sa predznakom, daju sljedeći prikaz broja s pomičnim zarezom:

Matematički to piše ovako:

(-1) s × M × B E, gdje je s znak, B je osnova, E je eksponent, a M je mantisa.

Baza određuje sistem brojeva. Matematički je dokazano da su brojevi s pomičnim zarezom sa osnovom B=2 (binarni prikaz) najotporniji na greške zaokruživanja, pa se u praksi susreću samo baze 2 i rjeđe 10 Za daljnji prikaz uvijek ćemo pretpostaviti B= 2, a formula za broj s pomičnim zarezom će izgledati ovako:

(-1) s × M × 2 E

Šta je mantisa i red? Mantissa je cijeli broj fiksne dužine koji predstavlja najznačajnije bitove realnog broja. Recimo da se naša mantisa sastoji od tri bita (|M|=3). Uzmimo, na primjer, broj "5", koji će u binarnom sistemu biti jednak 101 2. Najznačajniji bit odgovara 2 2 =4, srednji bit (koji je jednak nuli) je 2 1 =2, a najmanji bitni bit je 2 0 =1. Red– ovo je snaga baze (dva) najviše cifre. U našem slučaju E=2. Pogodno je pisati takve brojeve u takozvanom "naučnom" standardnom obliku, na primjer "1.01e+2". Odmah je jasno da se mantisa sastoji od tri znaka, a redosled dva.

Recimo da želimo dobiti razlomak koristeći ista 3 bita mantise. To možemo učiniti ako uzmemo, recimo, E=1. Tada će naš broj biti jednak

1,01e+1 = 1×2 1 +0×2 0 +1×2 -1 =2+0,5=2,5

Očigledno, na ovaj način isti broj može biti predstavljen na različite načine. Razmotrimo primjer sa dužinom mantise |M|=4. Broj "2" se može predstaviti na sljedeći način:

2 = 10 (binarno) = 1.000e+1 = 0.100e+2 = 0.010e+3.

Stoga su već u prvim mašinama brojevi bili predstavljeni u tzv normalizovan oblik, kada se za prvi bit mantise uvijek pretpostavljalo da je jednak jedan.

Ovo štedi jedan bit (pošto implicitni ne mora biti pohranjen u memoriji) i osigurava da je broj jedinstveno predstavljen. U našem primjeru, "2" ima jednu reprezentaciju ("1.000e+1"), a mantisa je pohranjena u memoriji kao "000", jer vodeća jedinica je implicitno implicirana. Ali novi problem se javlja u normaliziranom predstavljanju brojeva - nemoguće je predstaviti nulu u ovom obliku.

  • Analiza podataka pomoću naredbi za odabir parametara i traženje rješenja
  • Analiza i interpretacija podataka eksperimentalnih psiholoških istraživanja.
  • Analiza izvornih podataka. Tehnički standardi za gradske puteve.
  • ANALIZA DOBIJENIH PODATAKA. DONOŠENJE ODLUKE O DOVOLJNOSTI ILI NEDOVOLJNOSTI KARAKTERISTIKA VODOSNABDIJEVANJA ZA POTREBE SISTEMA ZA NAVODNJAVANJE.
  • Oprema komunikacijskih linija: oprema za prijenos podataka, terminalna oprema, međuoprema.

  • Lekcija pokriva glavne standardne tipove podataka u Pascalu, koncept 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 mora direktno naznačiti koji podaci se 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 izvršiti sa ovim varijablama i kako ih pravilno izvesti.

    Na primjer, dodavanje tekstualnih podataka, ili kako se to ispravno naziva u programiranju - konkatenacija - je uobičajeno spajanje nizova, dok se dodavanje numeričkih podataka odvija po bitovima, osim toga, razlomci i cijeli brojevi se također različito sabiraju. Isto važi i za druge operacije.

    Pogledajmo 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

    To morate imati na umu kada pišete programe u Pascal-u cijeli broj(prevedeno s engleskog u cjelini) najčešće se koristi, jer je raspon vrijednosti najtraženiji. Ako je potreban širi raspon, koristite longint(dugi cijeli broj, s engleskog prevedeno kao dug cijeli broj). Tip bajt u Pascalu se koristi kada nema potrebe da se radi sa negativnim vrijednostima, isto vrijedi i za tip riječ(samo je raspon vrijednosti ovdje mnogo veći).

    Primjeri kako su varijable opisane (deklarirane) u Pascalu:

    program a1; var x,y:integer; (tip cjelobrojnog) myname:string; (tip stringa) begin x:=1; y:=x+16; myname:="Petar"; writeln("name: ",myname, ", age: ", y) end.

    rezultat:
    ime: Petar, godina: 17

    Komentari u Pascalu

    Obratite pažnju kako komentari se koriste u Pascalu. U komentarima primjera, tj. servisni tekst koji "nije vidljiv" kompajleru je zatvoren u vitičastim zagradama. Obično, komentare daju programeri kako bi objasnili dijelove koda.

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

    Pravi tipovi podataka u Pascalu

    Realni brojevi u Pascalu i općenito u programiranju su naziv za razlomke.

    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šteni realni tip.

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

    • Redni
    • Cijeli
    • mozgalica
    • karakter
    • Listable
    • Interval
    • Real

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

  • format koristi jedan broj, što ukazuje na broj pozicija dodijeljenih ovom broju u eksponencijalnom obliku;
  • p:=1234.6789; Writeln(p:6:2); (1234.68)

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

    Konstante u Pascalu

    Često je u programu unaprijed poznato 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 Pascalu javlja se prije deklaracije varijabli (prije servisne riječi var) i izgleda ovako:

    Primjer konstantnog opisa 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; var myname:string; begin myname:="Petar"; writeln("name: ",myname, ", age: ", x) end.

    “Prekrasan” izlaz cijelih i realnih brojeva

    Kako bi se osiguralo da nakon prikaza vrijednosti varijabli postoje uvlake, tako da se vrijednosti ne "spajaju" jedna s drugom, uobičajeno je da se kroz dvotočku naznači koliko znakova je potrebno dati za prikaz vrijednost:


    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.

    • Operacija inc u Pascalu, izgovara se inkrement, standardna je Pascal procedura koja znači povećanje za jedan.
    • Primjer inc operacije:

      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 Pascalu se često koristi, budući da brojni zadaci uključuju rad cijelog podjela.
    • Ostatak dijeljenja ili mod operator u Pascalu je također neophodan za rješavanje brojnih problema.
    • Zanimljiva je Pascalova standardna neparna funkcija, koja određuje da li je cijeli broj neparan. Odnosno, vraća true za neparne brojeve, false za parne brojeve.
    • Primjer korištenja neparne funkcije:

      var x:integer; početak x:=3; writeln(sqr(x)); (odgovor 9) kraj.

    • Operacija eksponencijalnosti u Pascalu nedostaje kao takav. Ali da biste podigli broj na stepen, možete koristiti funkciju exp.
    • Formula je: exp(ln(a)*n), gdje je a broj, n stepen (a>0).

      Međutim, u Pascal abc kompajleru, eksponencijacija je mnogo jednostavnija:

      var x:integer; početak x:=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 površinu osnove kutije i njenu zapreminu
    (S=širina*debljina, V=površina*visina)

    Zadatak 5. Zoološki vrt ima 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 govori kompjuteru broj zečeva. Kompjuter, kao odgovor na ovo, mora reći dežurnom ukupan broj šargarepa koje danas treba hraniti zečevima i slonovima.

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

    Koncept podataka jedan je od ključnih u programiranju, ali iu informatici općenito. Grubo govoreći, podaci u računarstvu su informacije koje su u stanju skladištenja, obrade ili prenosa tokom određenog vremenskog perioda. U Turingovim mašinama, informacija ima tip, a to zauzvrat zavisi od vrste informacije.

    Tipovi podataka u Pascalu definiraju moguće vrijednosti varijabli, konstanti, izraza i funkcija. Ugradne su i prilagođene. Ugrađeni tipovi su inicijalno prisutni u programskom jeziku, a prilagođene tipove kreira programer.

    Prema načinu prezentacije i obrade, tipovi podataka su:

    • jednostavno
    • strukturirano
    • pokazivači
    • objekata
    • procedure

    Ovaj članak će razmotriti samo najjednostavnije tipove podataka, jer će u početnim fazama obuke vašem programu biti lakše bez, na primjer, datoteka i zapisa nego bez cjelobrojnih ili string varijabli.

    Integer type

    Ovo uključuje nekoliko cjelobrojnih tipova, koji se razlikuju po rasponu vrijednosti, broju bajtova dodijeljenih za njihovo pohranjivanje i riječi kojom je tip deklariran.

    Tip Domet Veličina u bajtovima
    shortint -128…127 1
    cijeli broj -32 768…32 767 2
    longint -2 147 483 648…2 147 483 647 4
    bajt 0…255 1
    riječ 0…65 535 2

    Možete deklarirati cjelobrojnu varijablu u odjeljku Var, na primjer:

    Sve aritmetičke i logičke operacije mogu se izvesti nad varijablama u ovoj kategoriji sa izuzetkom dijeljenja (/), za koje je potreban realni tip. Mogu se primijeniti i neke standardne funkcije i procedure.

    Pravi tip

    U Pascal-u postoje sljedeći stvarni tipovi podataka:

    Tip Domet Memorija, bajt Broj cifara
    Real 2.9e-39 … 1.7e38 6 11-12
    Single 1.5e-45 … 3.4e38 4 7-8
    Dvostruko 5.0e-324…1.7e308 8 15-16
    Prošireno 3.4e-4932 … 1.1e493 10 19-20
    Comp -9.2e63…(9.2e63)-1 8 19-20

    Na njima se može izvesti više operacija i funkcija nego na cijelim brojevima. Na primjer, ove funkcije vraćaju pravi rezultat:

    sin(x) – sinus;

    cos(x) – kosinus;

    arctan(x) – arktangens;

    ln(x) – prirodni logaritam;

    sqrt(x) – kvadratni korijen;

    exp(x) – eksponent;

    Boolean tip

    Varijabla Booleovog tipa podataka može imati samo dvije vrijednosti: true i false. Ovdje true odgovara vrijednosti 1, a false odgovara nuli. Booleovu varijablu možete deklarirati ovako:

    Poređenje i logičke operacije mogu se izvesti nad podacima ovog tipa: ne, i, ili, xor.

    Tip karaktera

    Tip podataka karaktera je skup znakova koji se koriste na određenom računaru. Varijabla ovog tipa uzima vrijednost jednog od ovih znakova i zauzima 1 bajt u memoriji računala. Riječ Char definira vrijednost ovog tipa. Postoji nekoliko načina za pisanje karakterne varijable (ili konstante):

    1. kao jedan znak zatvoren u apostrofe: 'W', 'V', 'p';
    2. specificiranjem koda karaktera čija vrijednost mora biti u rasponu od 0 do 255.
    3. koristeći konstrukciju ^K, gdje je K kod kontrolnog karaktera. Vrijednost K mora biti 64 veća od odgovarajućeg koda kontrolnog karaktera.

    Relacijske operacije i sljedeće funkcije primjenjive su na vrijednosti tipa podataka znakova:

    succ(x)- vraća sljedeći znak;

    Pred(x)- vraća prethodni znak;

    red(x)- vraća vrijednost koda karaktera;

    Chr(x)- vraća vrijednost simbola po njegovom kodu;

    gornji dio (x)- pretvara slova iz intervala ‘a’..’z’ u velika slova.

    Za efikasan rad s tipom karaktera, preporučujem korištenje .

    Vrsta stringa

    Niz u Pascalu je niz znakova zatvoren u apostrofima, a označen je riječju String. Broj znakova (dužina reda) ne smije biti veći od 255. Ako dužina reda nije navedena, automatski će se odrediti da iznosi 255 znakova. Opšti oblik deklaracije string varijable izgleda ovako:

    Var<имя_переменной>:string[<длина строки>];

    Svaki znak u redu ima svoj indeks (broj). Indeks prvog bajta je 0, ali ne pohranjuje prvi znak, već dužinu cijelog niza, što znači da će varijabla ovog tipa zauzimati 1 bajt više od broja varijabli u njoj. Broj prvog znaka je 1, na primjer, ako imamo niz S=‘stroka’, onda je S=s;. U jednoj od sljedećih lekcija, o tipu podataka niza će se detaljnije govoriti.

    Nabrojani tip podataka

    Nabrojani tip podataka predstavlja ograničen broj identifikatora. Ovi identifikatori su zatvoreni u zagradama i odvojeni zarezima.

    Tip Dan=(ponedeljak, utorak, srijeda, četvrtak, petak, subota, nedjelja);

    Varijabla A može uzeti samo vrijednosti navedene u odjeljku Tip. Također možete deklarirati varijablu nabrojanog tipa u odjeljku Var:

    Var A: (ponedeljak, utorak);

    Relacijske operacije su primjenjive na ovaj tip, a unaprijed je određen taj ponedjeljak

    Intervalni tip podataka

    Kada je potrebno specificirati raspon vrijednosti, tada se u takvim situacijama koristi intervalni tip podataka. Konstrukcija koja se koristi za deklaraciju je m..n, Gdje m je minimalna (početna) vrijednost, i n– maksimum (konačan); ovdje su m i n konstante, koje mogu biti cijelog broja, karaktera, nabrajanja ili logičkog tipa. Vrijednosti tipa intervala mogu se opisati i u odjeljku tipova i u odjeljku opisa varijable.

    Opšti oblik:

    TYPE<имя_типа> = <мин. значение>..<макс. значение>;

    Federalna agencija za obrazovanje

    Esej

    "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.

    Općenito, jezik Object Pascal karakterizira razgranata struktura tipova podataka (slika 1.1). Jezik pruža mehanizam za kreiranje novih tipova, zahvaljujući kojem ukupan broj tipova koji se koriste u programu može biti koliko god želite.

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

    Konstante predstavljaju podatke čije su vrijednosti postavljene u sekciji deklaracije konstante i ne mijenjaju se tokom izvršavanja programa.

    Varijable su deklarirane u odjeljku deklaracije varijable, ali za razliku od konstanti, one primaju svoje vrijednosti tokom izvršavanja programa i te vrijednosti se mogu mijenjati. Konstante i varijable se mogu pozivati ​​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 četiri naredna poglavlja pružaju detaljne opise svake vrste.

    1.1 Jednostavni tipovi

    Jednostavni tipovi uključuju ordinalne, realne i tipove datuma i vremena.

    Redni tipovi razlikuju se po tome što svaki od njih ima konačan broj mogućih vrijednosti