• Pascal logičke operacije. Logički tipovi podataka. Primjer deklaracije tipa enum

    Opis: var n: boolean;

    Booleovi podaci mogu imati samo dvije vrijednosti: true i false. Za Boolean tip vrijednosti su dopuštene operacije usporedbe, i pravi> lažno.Također primijeniti 4 logičke operacije:

    i logično množenje

    ili logičan dodatak

    xor isključivo "ili"

    ne negacija

    Pravila za izvođenje logičkih operacija određena su pomoću sljedećih tablica istine:

    X i Y

    X ili Y


    Primjer 1:

    nije (5>2) = lažno

    (5>2) i (3<10) = true

    (8<>9) ili (4>5) = točno

    nije (5=2) xor (3>2) = netočno

    Primjer 2:

    Pri usporedbi BOOLEAN podataka uzima se u obzir interna konvencija Turbo Pascala, prema kojoj je FALSE nulti bajt, a TRUE je bajt s jedinicom u najmanje značajnom bitu. Imajte na umu da funkcija ORD pretvara ne samo simbole, već i logičke vrijednosti u cijeli broj

    2.5 Ograničeni tipovi

    Na temelju standardnih tipova možete izgraditi vlastite tipove, ograničavajući raspon mogućih vrijednosti: 1..10, -100..10, 'a'..'z', itd.

    Primjer:

    b: 'a'..'z';

    b:=0; (pogreška: neslaganje tipa - cijeli broj je dodijeljen varijabli znakovnog tipa)

    a:=0; (pogreška: izvan raspona 2..5)

    2.6 Tipovi enuma

    Oni se formiraju eksplicitnim navođenjem svih mogućih vrijednosti navedenih imenima. Na primjer, za program upravljanja semaforima može se definirati sljedeći tip:

    var svjetlo: (crveno, žuto, zeleno);

    opera: (plus, minus);

    Boolean tip je poseban slučaj nabrojenog tipa.

    2.7 Opis tipova

    Novi tipovi podataka u Pascalu definirani su deklaracijama koje počinju riječju TYPE. Opis se sastoji od naziva tipa i vrijednosti tipa, odvojenih znakom “=”.

    Primjer:

    abc='A'..'z';

    2.8 Pretvorba tipa

    Kao što je već spomenuto, vrsta varijable omogućuje vam ne samo postavljanje duljine njezine interne reprezentacije, već i kontrolu akcija koje se na njoj izvode u programu. Kontrola nad korištenjem varijabli čak iu fazi kompilacije programa važna je prednost Turbo Pascala u odnosu na druge programske jezike koji omogućuju automatsku konverziju tipa. Implicitne (automatske) pretvorbe tipa gotovo su nemoguće u Turbo Pascalu. Iznimka je napravljena samo za konstante i varijable tipa INTEGER (cijeli broj), koje je dopušteno koristiti u izrazima tipa REAL (stvarno). Ako su, na primjer, varijable X i Y definirane na sljedeći način:

    var x: cijeli broj;

    zatim operater

    bit će sintaktički ispravan: iako postoji cjelobrojni izraz s desne strane znaka dodjele i stvarna varijabla s lijeve strane, prevodilac će automatski izvršiti potrebne pretvorbe. Ujedno i operater

    bit će netočna, budući da je automatska konverzija tipa REAL (konstanta 2.0 sadrži decimalnu točku i stoga pripada tipu REAL) u tip INTEGER zabranjena u Turbo Pascalu.

    Dakle, varijablama se mogu dodijeliti samo vrijednosti vlastitog tipa; jedina je iznimka kada je varijabla realni broj, a vrijednost cijeli broj (u kojem slučaju će cijeli broj biti pretvoren u realni broj s razlomkom od 0).

    Naravno, zabrana automatske konverzije tipa ne znači da Turbo Pascal nema alate za konverziju podataka. Naravno, oni postoje, ali se moraju eksplicitno koristiti. Za transformaciju podataka u jeziku postoje ugrađene funkcije koje primaju vrijednost jedne vrste kao parametar i vraćaju rezultat kao vrijednost druge vrste. Konkretno, za pretvaranje REAL u INTEGER postoje čak dvije ugrađene funkcije ove vrste: ROUND zaokružuje REAL na najbliži cijeli broj, a TRUNC skraćuje REAL odbacivanjem razlomka (vidi odjeljak 1.5).

    Na primjer, operator bi bio pogrešan

    ali ispravan

    x:= okruglo (y/x);

    (pogledajte deklaracije varijabli gore).

    Na primjer, za pretvaranje podataka tipa CHAR (znak) u cijeli broj namijenjena je funkcija ORD, a obrnutu konverziju INTEGER u CHAR vrši funkcija CHR.

    Prisutnost dviju operacija dijeljenja još je jedna manifestacija temeljnog načela Turbo Pascala: programer mora izričito potvrditi prevoditelju da je spreman na moguće posljedice pretvorbe tipa. Ako se, na primjer, izraz 1/2 koristi u jeziku Fortran, tada će rezultat ovog izraza ovisiti o tome kojoj vrsti varijable će biti dodijeljen: ako je N varijabla cjelobrojnog tipa, a X je stvarnog tipa, zatim u Fortran programu dodjele

    dat će vrijednosti 0 za N i 0,5 za X. U Turbo Pascalu nema takve dvosmislenosti: izraz 1/2 uvijek ima vrijednost 0,5 i stoga operator

    jednostavno neprihvatljivo. U isto vrijeme, operatori dopušteni u Turbo Pascalu su:

    I na kraju o relacijskim i logičkim operacijama.

    Za tipove podataka REAL, INTEGER, CHAR, STRING definirane su sljedeće relacijske operacije (usporedbe):

    <>- nije jednako;

    < - меньше;

    > - više;

    <= - меньше или равно,

    >= - veće ili jednako.

    Operacije usporedbe moraju uključivati ​​operande istog tipa. Ponovno je napravljena iznimka za REAL i INTEGER, koji se mogu međusobno usporediti. Rezultat primjene relacijskog operatora na bilo koji operand je tipa BOOLEAN.

    Softver - Pascal Operacije jezika Pascal

    Operacije jezika Pascal

    Operacije specificiraju akcije na operandima. U jeziku Pascal postoje binarne i unarne operacije. Unarne operacije sadrže 1 operand, ispred kojeg stoji znak operatora. Binarne operacije imaju 2 operanda, između kojih se nalazi znak ili simbol operacije. Po prirodi radnji Operacije jezika Pascal mogu se podijeliti u 7 skupina:

    • aritmetika;
    • odnos;
    • logično;
    • niz;
    • bit, pomak;
    • operacije na skupovima;
    • poslovi uzimanja adresa.

    Aritmetičke operacije. U jeziku Pascal postoji jedna unarna operacija koja se zove dodjela znaka minus i druga dodjela znaka plus. Binarni su:

    • zbrajanje (+);
    • oduzimanje(-);
    • množenje (*);
    • realna podjela (/);
    • cjelobrojno dijeljenje (div);
    • ostatak cjelobrojnog dijeljenja (mod).

    Pascal ima tri operacije dijeljenja, rezultat operacije dijeljenja (/) je broj s razlomkom, rezultat operacije div je samo cijeli broj, a rezultat operacije mod je ostatak cjelobrojnog dijeljenja. Primjeri:

    U aritmetičkim operacijama mogu sudjelovati samo operandi numeričkog tipa. Njihov će rezultat također biti broj. Broj može biti cijeli ili realan.

    Relacijske operacije. Ovo uključuje sve binarne operacije:

    • više;
    • manje;
    • veći ili jednak;
    • manji ili jednak
    • jednaki
    • nejednak.

    Rezultat relacijskih operacija može biti samo varijabla tipa Boolean; može imati ili vrijednost True ili vrijednost False. Operandi u relacijskim operacijama mogu biti numerički tipovi ili tipovi koji se mogu svesti na numeričke tipove. Numeričke vrste:

    • simbolički - u relacijskim operacijama kodovi simbola se uspoređuju u skladu s tablicom kodova;
    • logično - koriste se vrijednosti True i False, uzimajući vrijednosti 1 - true i 0 - false;
    • string je složeni tip koji se sastoji od znakovnog tipa. Stoga se pri korištenju nizova uspoređuju uzastopni znakovi u dva niza.

    Na primjer:

    5.6 > 7 — Netočno;

    'P'< ‘Б’ — False;

    ‘Petrov’ > ‘Ivanov’ - Istina;

    'Ivanov'< ‘Иван’ — False.

    Rezultat logičkih operacija bit će logičke vrijednosti True ili False.

    Unarni: NE - negacija.

    Binarno: I - množenje (i); ILI - dodatak (ili); XOR - zbrajanje po modulu 2 (isključivo ILI).

    Operandi logičkog izraza mogu biti samo operacije logičkog tipa.

    Operacije nizova. Ulančavanje (ulančavanje) je binarna operacija. Operandi mogu biti samo varijable tipa string. Rezultat je niz, a radnja operacije je spajanje dva niza u jedan:

    O:='Ivanov'

    B:= 'Aleksandar'

    Rezultat: Ivanov Alexander.

    Redoslijed operacija u Pascalu određuju 3 čimbenika:

    • prioritet operacija;
    • redoslijed operacija;
    • korištenje zagrada.

    Razine prioriteta izvedenih operacija:

    • Prvo se izvode operacije prvog prioriteta;
    • Operacije niskog prioriteta izvode se posljednje;
    • operacije s jednakim prioritetima izvode se slijeva na desno redoslijedom kojim su napisane.

    U isto vrijeme, prevodilac ponekad može promijeniti redoslijed operanda istog prioriteta. Zagrade se koriste za promjenu prioriteta (povećanje). Prvo se procjenjuje izraz unutar zagrada, a zatim se procjenjuje izvan zagrada.

    Ova lekcija predstavlja logički tip Boolean u Pascalu. Algoritam kako pronaći minimum I maksimalno broj u Pascalu


    Web stranica nudi laboratorijske zadatke na tu temu za učvršćivanje teorijskog gradiva i stjecanje praktičnih vještina programiranja u Pascalu. Kratke teorijske informacije omogućit će vam da dobijete minimalno znanje potrebno za to. Riješeni vizualni primjeri i laboratorijski zadaci prikazani su prema rastućoj složenosti, što olakšava proučavanje gradiva od nule. Želimo vam puno sreće!

    Već smo naučili pisati programe temeljene na linearnim algoritmima u Pascalu. I čak već sastavljamo nelinearne algoritme - s grananjem - koji koriste , koji uzimaju vrijednosti true ili false.

    Booleove vrijednosti:

    U donjem primjeru rezultat logičkog izraza prikazan je na ekranu:

    1 2 3 4 5 6 var A: cijeli broj; početak A := 5 ; napisati (A > 0);

    (Istinit će se)

    kraj.

    var A: cijeli broj; početak A:= 5;

    1 2 3 4 5 6 7 8 napisati (A > 0); (True će biti ispisan) kraj. početak A := 5 ; napisati (A > 0);

    Za snimanje rezultata logičkog izraza koristi se posebna logička varijabla, koja je u Pascalu boolean tipa i također može uzeti jednu od dvije vrijednosti - true ili false.

    Primjer: Pogledajmo kako isti zadatak radi s booleovom varijablom:

    var a:boolean; započeti a:=istina; if a=true then writeln("true") else writeln("false"); kraj.

    Za stvaranje složenih uvjeta koriste se posebni: i, ili, ne i xor.

    Booleov zadatak 1. Dan je pozitivan cijeli broj. Provjerite istinitost izjave: "parno je"

    Pogledajmo primjer koristeći logičku operaciju XOR:

    Primjer: Zahtjev za dva cijela broja: X, Y. Provjerite istinitost tvrdnje: “Samo je jedan od brojeva X i Y neparan”

    programBoolean; var x,y: cijeli broj;

    c:boolean; begin write("Unesite X, Y: ");

    pročitaj(x,y); c:= (Nepar(x)) xor (Nepar(y));

    writeln("Samo jedna od varijabli X i Y ima neparnu vrijednost - ", c);

    Primjer: kraj.

    Razmotrimo drugo rješenje problema u Pascalu korištenjem logičke varijable:

    1 2 3 4 5 6 7 8 9 10 11 12 13 Booleov zadatak 2.<>Dana su tri cijela broja: A, B, C. Provjerite istinitost tvrdnje: “B je između brojeva A i C.”<>Razmotrimo rješavanje složenijeg problema s varijablom logičkog tipa:<>Zadan je troznamenkasti broj. Provjerite istinitost tvrdnje: "Sve znamenke danog broja su različite."

    Prikaži rješenje:<>const a= 348;<>var d_n, s_n, e_n: cijeli broj;<>zastava:boolean;

    početna zastavica: = lažno;

    s_n: = div 100; d_n: = ((a mod 100 ) div 10 ) ;

    e_n: = a mod 10; ako (s_n

    d_n) i (d_n

    e_n) i (e_n

    • s_n) zatim zastavica: = istina;
    • writeln(zastavica);
    • Zatim uzmemo drugu i usporedimo je s najvećom; ako se ova druga pita pokaže većom, odložimo je na mjesto “bivše najveće” i kažemo da je sada najveća.
    • Uzmite sljedeći i ponovite korake. Dakle, ovaj postupak provodimo sa svim pitama.

    Ponekad se najmanji mogući broj dodjeljuje kao početni maksimum (ovisno o kontekstu problema). I kao minimum, naprotiv, najveći mogući broj. Na primjer, ako kažete da trebate pronaći maksimum/minimum među pozitivnim brojevima manjim od 1000, tada:

    max: = 0;

    min: = 1000 ; Logički izrazi (uvjeti)

    u jeziku Pascal koriste se u naredbama if i pri organiziranju ponavljanja, naime u petljama while i repeat–until.

    1 Primjeri logičkih izraza:

    2 . a > 2*b<= exp(cos(b))–2.3

    3 . grijeh(sqr(a))<= 3) and (b >. (a

    a/2) Logički izrazi temelje se na

    (<, >, <= , >=, =, <>)

    relacijske operacije I

    i logičke operacije

    ili(logično i),

    ne(logično ili),

    xor(logička negacija),

    (isključivo ili). Rezultat pravi izvršavanje Booleovog izraza je Booleova vrijednost lažno(istina) ili

    (laž). U složenim logičkim izrazima prvo se izvode aritmetičke operacije, zatim logičke operacije, a posljednje relacijske operacije.

    24 Pascal. Uvjetna izjava if. Format i princip rada.

    Struktura if uvjetne naredbe izgleda ovako:<условие>Ako<оператор1>zatim<оператор2>;

    drugo

    <условие>gdje su if, then, else rezervirane riječi (ako, onda, inače);

    <оператор1>– logično izražavanje;<оператор2>I

    Primjer: – sve operatore jezika Pascal (jednostavne ili složene).

    ako je sin(a)>b onda y:= a

    <условие>Iskaz if radi ovako:

    (točno (istinito) ili lažno (lažno)).<условие>Ako vrijednost<оператор1>– istinito (istinito), pa izvršeno<оператор2>, A

    (točno (istinito) ili lažno (lažno)).<условие>ignorirani.<оператор2>– istinito (istinito), pa izvršeno<оператор1>, A

    – lažno (lažno), zatim izvršeno

    Stenografska izjava if< условие >ako< оператор >;

    zatim: Primjeri< 2*b then y: = a/2 ;

    Primjeri< 2*b then begin

    ako a

    U primjeru 1 operator y:=a/2; je jednostavan Pascal operator.

    U primjeru 2 operator begin y:=2*a; napisatiln(y)kraj; je složeni operator u Pascalu. Složeni operator

    je skupina naredbi u operatorskim zagradama begin end:<операторы>;

    početi Koristi se kada se može samo jedan operater

    prema pravilima Pascal sintakse, a zadatak pretpostavlja izvršenje grupe operatora.

    Skraćeni if ​​iskaz se izvodi na sljedeći način.<условие>.

    Izračunava se vrijednost logičkog izraza<оператор>.

    Ako je rezultat istinit, kontrola se prenosi na<оператор>Ako je rezultat uvjeta lažan,

    25 Pascal. Slučaj… operatora selekcije. Format i princip rada. Operator odabira slučaja

    Ako vam uvjetna naredba if omogućuje implementaciju jednog od dva moguća nastavka programa, tada naredba case pruža mogućnost odabira jednog od nekoliko nastavka programa.

    Ovaj operator ima strukturu:

    spis<выражение-селектор>od

    <список1>: <оператор1>;

    <список2>: <оператор2>;

    <список N>: <оператор N>

    drugo<оператор>

    Ovdje<выражение-селектор>– izraz ili, u posebnom slučaju, varijabla bilo kojeg skalarnog tipa osim realnog (obično varijabla tipa byte, integer, boolean ili char);

    <список1, список2, ... списокN>– liste konstanti čije vrijednosti selektorski izraz može poprimiti. Svaki popis može biti konstanta, niz konstanti ili nekoliko konstanti (raspona) odvojenih zarezom.

    Klauzula else možda neće biti prisutna u iskazu case.

    Naredba slučaja se izvodi na sljedeći način.

      Analizira se vrijednost izraza selektora.

      Ako vrijednost izraza selektora ne odgovara niti jednoj konstanti u popisima konstanti, kontrola se prenosi na naredbu nakon else riječi, a ako nema else riječi, na naredbu koja slijedi nakon naredbe case.

    Svi podaci - konstante, varijable, vrijednosti funkcija - karakterizirani su u Pascalu tipom podataka.

    Definirajmo pojam vrsta podataka. Kao što je već poznato, svi programski objekti (varijable, konstante itd.) moraju biti opisani.

    Opisi informiraju prevoditelja, prvo, o postojanju varijabli i drugih korištenih objekata, i drugo, oni ukazuju na svojstva tih objekata. Na primjer, opis varijable čija je vrijednost broj označava svojstva brojeva. Formalno, brojevi mogu biti cijeli i realni (frakcijski). U Pascalu, kao i u drugim programskim jezicima, brojevi se dijele na dvije vrste: cijeli(rezervirana riječ cijeli broj) i stvaran(rezervirana riječ pravi).

    Odvajanje cijelih brojeva u zasebnu vrstu objašnjava se činjenicom da su u računalu cijeli i stvarni brojevi različito predstavljeni: cijeli broj se može prikazati apsolutno točno, ali pravi broj neizbježno ima neku konačnu pogrešku, koja je određena svojstvima prevoditelja.

    Na primjer, neka je varijabla x tipa real i neka joj je vrijednost jednaka jedan: x=1. Odgovarajuća vrijednost u memoriji računala može biti 0,999999999, 1,000000001 ili 1,000000000. Ali ako se varijabla x deklarira kao varijabla cjelobrojnog tipa, tada će jedinica u računalu biti predstavljena apsolutno precizno i ​​varijabla x neće moći poprimiti stvarne (frakcijske) vrijednosti - uostalom, opisana je kao varijabla cjelobrojnog tipa.

    Dakle, tip podataka definira:

    • interni prikaz podataka u memoriji računala;
    • skup vrijednosti koje količine ove vrste mogu poprimiti;
    • operacije koje se mogu izvesti na vrijednostima ovog tipa.

    Uvođenje tipova podataka jedan je od osnovnih koncepata jezika Pascal, a to je da kada se izvodi operacija dodjele varijabli vrijednosti izraza, varijabla i izraz moraju biti istog tipa. Ovu provjeru izvodi kompilator, što uvelike pojednostavljuje traženje pogrešaka i dovodi do povećane pouzdanosti programa.

    Mnogi tipovi podataka Turbo Pascal jezika mogu se podijeliti u dvije skupine:

    • standardni (unaprijed definirani) tipovi ;
    • korisnički definirane vrste (korisnički definirane vrste) .

    Standardni Turbo Pascal tipovi uključuju:

    • integer type – cijeli broj;
    • pravi tip – pravi;
    • tip znaka – char;
    • boolean type – boolean;
    • vrsta niza – niz ;
    • pointer type – pokazivač;
    • vrsta teksta – tekst .

    Prilagođeni tipovi podataka su različite kombinacije standardnih tipova.

    Prilagođene vrste uključuju:

    • nabrojani tip;
    • vrsta intervala;
    • tip pokazivača;
    • strukturirani tipovi;
    • proceduralni tip.

    Komentar. Moguća je i druga klasifikacija tipova podataka prema kojoj se tipovi dijele na jednostavne i složene.

    Jednostavni tipovi uključuju: cjelobrojni tip, realni tip, znakovni tip, logički tip, nabrojani tip i intervalni tip.

    Složen tip su različite kombinacije jednostavnih tipova (nizovi, zapisi, skupovi, datoteke itd.)

    Standardne vrste

    Standardni tip podataka definiran je samim jezikom Pascal. Kada koristite standardne tipove u programu, dovoljno je naznačiti pododjeljke potrebnih tipova (const, var), a zatim opisati konstante i varijable koje se koriste u programu. Nema potrebe za korištenjem pododjeljka Vrsta.

    Na primjer, ako program koristi samo varijable:

    i,j – cijeli broj (cijeli brojevi);

    x,y - stvarno (stvarno);

    t,s - char (karakter);

    a,b – Boolean (logički),

    tada je potreban samo pododjeljak varijabli - Var. Stoga se u opisnom dijelu programa deklaracije varijabli pišu na sljedeći način:

    Cjelobrojni tipovi

    Podaci ove vrste mogu prihvatiti samo cjelobrojne vrijednosti. U računalu su vrijednosti cjelobrojnog tipa predstavljene apsolutno precizno. Ako je varijabla negativna, ispred nje mora stajati znak "–", ako je varijabla pozitivna, tada se znak "+" može izostaviti. Ovaj tip je neophodan u slučaju kada se neka veličina ne može prikazati približno kao realan broj. Na primjer, broj ljudi, životinja itd.

    Primjeri pisanja cjelobrojnih vrijednosti: 17, 0, 44789, -4, -127.

    Raspon varijacije podataka cjelobrojnog tipa određen je s pet standardnih tipova cijelih brojeva i prikazan je u tablici:

    Tip Raspon Veličina u bajtovima
    Shortint -128...+128 1
    Cijeli broj -32768...32767 2
    Longint -2147483648...2147483647 4
    Bajt 0...255 1
    Riječ 0...65535 2

    Posljednje dvije vrste predstavljaju samo pozitivne brojeve, a prve tri predstavljaju i pozitivne i negativne brojeve.

    U tekstu programa ili prilikom unosa podataka cjelobrojnog tipa, vrijednosti se pišu bez decimalne točke . Stvarne vrijednosti varijabli ne smije prelaziti dopuštene vrijednosti tip (Shortint, Integer, Longint, Byte, Word) koji je korišten za opis varijable. Moguća prekoračenja tijekom izračuna se ni na koji način ne kontroliraju, što će dovesti do neispravnog rada programa.

    Primjer korištenja cjelobrojne varijable

    Var a:cijeli broj; b:riječ; c:bajt; Započnite a:=300; (a je postavljeno na 300) b:=300; (b postavljen na 300) c:=200; (c je postavljen na 200) a:=b+c; (a je postavljeno na 500) c:=b; (Pogreška! Varijabla c može poprimiti samo vrijednosti od 255. Ovdje je varijabla c postavljena na 500, što će uzrokovati prekoračenje rezultata.) Kraj.

    Pravi tipovi

    Vrijednosti realnih tipova su približno predstavljene u računalu. Raspon varijacije podataka stvarnog tipa određen je s pet standardnih tipova: pravi (Real), jednostruka preciznost (Single), dvostruka preciznost (Double), proširena preciznost (Extended), složeni (Comp) i prikazan je u tablici:

    Tip Raspon Broj značajnih brojki Veličina u bajtovima
    Stvaran 2,9E-39...1,7E+38 11-12 6
    Singl 1,5E-45...3,4E+38 >7-8 4
    Dvostruko 5E-324...1.7E+308 15-16 8
    Prošireno 3.4E-4951...1.1E+4932 19-20 10
    Comp -2E+63+1...+2E+63-1 19-20 8

    Realni brojevi mogu se prikazati u dva formata: fiksni zarez i pokretni zarez.

    Format za pisanje broja s fiksnom točkom isti je kao i uobičajeni matematički zapis za decimalni broj s razlomkom. Razlomak se odvaja od cijelog dijela točkom, na primjer

    34.5, -4.0, 77.001, 100.56

    Format zapisa s pomičnim zarezom koristi se pri pisanju vrlo velikih ili vrlo malih brojeva. U ovom formatu, broj ispred "E" se množi s brojem 10 na potenciju iza "E".

    1E-4 1*10-4
    3.4574E+3 3.4574*10+3
    4.51E+1 4.51*10+1

    Primjeri brojeva s pomičnim zarezom:

    Broj Snimanje u Pascalu
    0,0001 1E-4
    3457,4 34574E-1
    45,1 451E-1
    40000 4E+4
    124 0,124E+3
    124 1.24E+2
    124 12.4E+1
    124 1240E-1
    124 12400E-2

    Tablica od 5 do 9 redaka prikazuje zapis istog broja 124. Promjenom položaja decimalne točke u mantisi (točka “lebdi”, otuda i naziv “snimanje broja s pomičnim zarezom”) i istovremeno mijenjajući vrijednost narudžbe, možete odabrati najprikladnije brojeve zapisa.

    Primjer opisa varijabli realnog tipa.

    Vrsta lika

    Vrijednosti znakova su znakovi koji se mogu upisati na tipkovnici računala. To vam omogućuje predstavljanje teksta u programu i izvođenje raznih operacija na njemu: umetanje, brisanje pojedinačnih slova i riječi, formatiranje itd.

    Vrsta znaka je označena rezerviranom riječju Char i dizajnirana je za pohranu jednog znaka. Podaci o znakovima zauzimaju jedan bajt u memoriji.

    Format deklaracije simboličke varijable:

    <имя переменной>: Char;

    Prilikom definiranja vrijednosti znakovne varijable, znak se piše u apostrofima. Osim toga, možete navesti traženi znak izravnim navođenjem njegove numeričke vrijednosti ASCII koda. U tom slučaju ispred broja koji označava ASCII kod potrebnog znaka morate staviti znak #.

    Primjer korištenja varijabli znakovnog tipa:

    Var c:char; (c je varijabla karakternog tipa) Begin c:=’A’; (varijabli c dodijeljen je znak 'A') c:=#65; (varijabli c također je dodijeljen znak A. Njen ASCII kod je 65) c:=’5’; (varijabli c dodijeljen je simbol 5, kraj. Ovdje 5 više nije broj)

    Booleov tip

    Logički tip podataka naziva se Boolean po engleskom matematičaru Georgeu Booleu, tvorcu područja matematike – matematičke logike.

    Format za deklaraciju varijable tipa Boolean:

    <имя переменной>: booleov;

    Podaci ove vrste mogu imati samo dvije vrijednosti:

    • Istina - istina;
    • Laž je laž.

    Logički podaci naširoko se koriste u provjeri valjanosti određenih uvjeta i u usporedbi količina. Rezultat može biti istinit ili lažan.

    Za usporedbu podataka predviđene su sljedeće relacijske operacije:

    Primjer korištenja relacijskih operacija:

    relacija 5>3, rezultat istinit;

    relacija 5=3, rezultat netočan.

    Primjer korištenja varijabli tipa Boolean.

    Varijanta a,b:boolean; (a,b su varijable logičkog tipa) Begin a:=True; (varijabla a je postavljena na true) b:=false; (varijabla b je postavljena na false) Kraj.

    Konstante

    Cijeli brojevi, realni brojevi, znakovi, znakovni nizovi i logičke konstante mogu se koristiti kao konstante.

    Konstanta mora biti deklarirana u svom opisnom dijelu korištenjem rezervirane riječi const.

    Konstantni format deklaracije

    Konst<имя константы>= <значение>;

    Ako program koristi više konstanti, dopuštena je samo jedna ključna riječ Const, a opis svake konstante završava točkom i zarezom. Konstantni blok završava deklaracijom drugog odjeljka ili deklaracijom bloka izvršnih naredbi.

    Konst (deklaracija o konstantnom odjeljku) godina=2003; (konstanta cjelobrojnog tipa, jer u zapisu nema decimalne točke) time=14.05; (konstanta realnog tipa) N=24; (konstanta cjelobrojnog tipa, jer u zapisu nema decimalne točke) P=3,14; (konstanta realnog tipa) A=true; (booleova konstanta) str1=’7’; (konstanta tipa znaka) str2=’A’; (konstanta tipa znaka) str3=’Turbo’; (konstanta tipa niza) Var (deklaracija odjeljka varijable) X,y:cijeli broj; (varijable cjelobrojnog tipa)

    Prilagođene vrste

    Od skupa tipova korisnika razmotrit ćemo samo

    • nabrojani tip;
    • intervalni tip.

    Ova dva tipa će nam trebati kada proučavamo nizove.

    Tip enuma

    Nabrojani tip podataka opisuje nove tipove podataka čije vrijednosti definira programer. Nabrojani tip određen je nabrajanjem vrijednosti koje može primiti. Svaka vrijednost imenovana je nekim identifikatorom i nalazi se na popisu okruženom zagradama. Enumerijski tip je korisnički definiran tip podataka, tako da njegova deklaracija tipa počinje rezerviranom riječi TYPE.

    Format vrste enuma:

    <имя типа>= (konstanta1, konstanta2,..., konstantaN);

    Gdje
    konstanta1 , konstanta2 ,..., konstantaN – uređen skup vrijednosti identifikatora koji se tretiraju kao konstante.

    Primjer opisa nabrojane vrste:

    Vrsta lopte=(jedan, dva, tri, četiri, pet); var t: lopta;

    Ovdje je lopta naziv nabrojane vrste; jedan, dva, tri, četiri, pet – konstante; t je varijabla koja može uzeti bilo koju konstantnu vrijednost.

    U enumeriranom tipu, konstanta je identifikator, pa se ne navodnici i ne može biti broj. Dakle, u nabrojenom tipu, konstanta je posebna vrsta konstante koja ne može biti:

    • konstante numeričkog tipa: 1, 2, 3, 4 itd.;
    • konstante znakovnog tipa: "a", "s", "1", "3" itd.;
    • konstante tipa string: "prvi", "drugi" itd.

    Osim toga, aritmetičke operacije i standardni postupci unosa i izlaza Read i Write nisu primjenjivi na vrijednosti ove vrste.

    Primjer korištenja numeriranih varijabli:

    Tip dana = (ponedjeljak, utorak, srijeda, četvrtak, petak, subota, nedjelja); Var dan: dana; begin if day = Sunday then writeln('Danas je nedjelja!'); Kraj.

    Smatra se da su elementi uključeni u definiciju nabrojanog tipa poredani redoslijedom kojim su nabrojani. Numeriranje počinje od nule. Stoga u navedenom primjeru dani u tjednu imaju sljedeće redne brojeve

    Za programsko određivanje rednog broja koristi se funkcija Ord().

    U našem primjeru, redni brojevi su jednaki:

    Red(ponedjeljak) = 0;

    Red(subota) = 5;

    Red (nedjelja) = 6.

    Intervalni tip

    Ako varijabla ne prihvaća sve vrijednosti svog tipa, već samo vrijednosti sadržane u određenom rasponu, tada se taj tip podataka naziva intervalni tip. Tip intervala često se naziva ograničeni tip i tip raspona. Tip intervala definiran je granicama njegovih vrijednosti:

    <минимальное значение>..<максимальное значение>

    • dva znaka ".." tretiraju se kao jedan znak, pa razmaci između njih nisu dopušteni;
    • lijeva granica raspona ne smije prelaziti desnu granicu.

    Intervalni tip je korisnički definiran tip podataka, tako da njegova deklaracija tipa počinje funkcijskom riječi TYPE.

    Primjer opisa tipa intervala:

    Tip znamenke = 1..10; mjesec = 1..31; lat = 'A'..'Z';