Įveskite Pascal pavyzdžius. Santrauka: duomenų tipai Pascal

Kad mašina apdorotų bet kokius įvesties duomenis, ji turi „suprasti“, kokiam tipui priklauso kintamieji, kuriuose saugomos reikšmės. Nesant informacijos apie duomenų formatą, kompiuteris negalės nustatyti, ar ta ar kita operacija yra leistina konkrečiu atveju: pavyzdžiui, intuityviai aišku, kad neįmanoma raidės pakelti į galią ar paimti. stygos integralas. Taigi vartotojas turi nustatyti, kokius veiksmus leidžiama atlikti su kiekvienu kintamuoju.

Kaip ir kitose aukšto lygio programavimo kalbose, Pascal kintamųjų tipai yra optimizuoti atlikti įvairių tipų užduotis, turi skirtingą reikšmių diapazoną ir ilgį baitais.

Kintamųjų tipų skirstymas

Pascal kintamųjų tipai skirstomi į paprastus ir struktūrinius. Paprasti tipai apima tikrus ir eilinius tipus. Struktūriniai apima masyvus, įrašus, rinkinius ir failus. Atskirai išskiriami rodyklės, objektai ir procedūriniai tipai.

Pažvelkime į eilinius ir tikrus tipus. Eiliniai tipai apima 5 sveikųjų skaičių tipus, sąrašo tipą ir diapazono tipą.

Eiliniai tipai

Yra 5 sveikųjų skaičių tipai, kurie skiriasi baitų ilgiu ir reikšmių diapazonu.

Byte ir ShortInt ilgis yra 1 baitas. Skirtumas tarp jų yra tas, kad Byte saugo tik neneigiamas reikšmes, o ShortInt leidžia saugoti neigiamas (nuo -128 iki +127). „Word“ ir „Integer“ tipai yra susiję vienas su kitu panašiai, vienintelis skirtumas yra tas, kad jų dydis yra 2 baitai.

Galiausiai, „LongInt“ leidžia saugoti ir neigiamas, ir teigiamas reikšmes naudojant 4 baitus – 16-oje skaitmeninio matmens laipsnyje abiejose nulio pusėse. Įvairūs Pascal kintamųjų tipai prisideda prie efektyvaus vartotojo užduočių sprendimo, nes kiekvienu konkrečiu atveju gali prireikti tiek mažo, tiek didelio reikšmių diapazono, taip pat gali būti taikomi skiriamos atminties kiekio apribojimai.

Svarbu suprasti, kad nulis užima tiek pat atminties vietos, kiek ir bet kuris kitas skaičius. Taigi, formuojant reikšmių diapazoną, mažiausias neigiamas skaičius absoliučia verte bus vienu didesnis už teigiamą: pavyzdžiui, nuo -128 iki +127.

Kintamieji, priklausantys, gali turėti reikšmę TRUE (true) arba FALSE (false) ir jiems reikia 1 baito atminties.

CHAR tipas leidžia išsaugoti bet kurį iš daugelio kompiuterio atmintyje esančių simbolių. Tuo pačiu metu simboliniuose Pascal kintamuosiuose faktiškai saugomas tik ženklo kodas, pagal kurį rodoma jo grafinė forma.

Tikri tipai

Tarp Pascal kintamųjų tipų yra keletas skaitinių su galimybe rašyti trupmeninę dalį. Single, Real, Double ir Extended tipų skirtumai priklauso nuo priimtų reikšmių diapazono, reikšmingų skaitmenų po kablelio ir dydžio baitais.

Pagal aukščiau pateiktą tvarką kiekvieno tipo kintamasis užims 4, 6, 8 arba 10 baitų.

Masyvai

Struktūriniai duomenų tipai yra sudėtingi ir leidžia sujungti keletą paprastų reikšmių viename kintamajame. Puikus pavyzdys yra masyvas, kurį galima apibrėžti taip:

String=chary masyvas;

Taigi, gavome tipą, vadinamą String, kuris leidžia apibrėžti iki 100 simbolių ilgio kintamuosius. Paskutinė eilutė nurodoma tiesiogiai vienmatis masyvas Y, kuris yra eilutės tipo. Paskalio kintamieji aprašomi dedant identifikatorių kairėje, o kintamojo reikšmę dešinėje, po lygybės ženklo.

Įrašytų indeksų diapazonas leidžia pasiekti kiekvieną konkretų masyvo elementą:

Šiuo atveju skaitome antrą anksčiau sukurto masyvo Y elementą.

Eilučių kintamieji Pascal taip pat yra ypatingas vienmačio masyvo atvejis, nes eilutė yra simbolių seka, ty char tipo elementai.

Įrašai

Įrašas susideda iš kelių laukų, užpildytų bet kokio tipo duomenimis, išskyrus failą. Apskritai šio tipo kintamasis yra panašus į duomenų bazės elementą. Pavyzdžiui, galite įvesti asmens vardą ir telefono numerį:

tipas NTel = Įrašas

Pirmoje eilutėje kairėje nurodomas tipo pavadinimas, o dešinėje - paslaugų žodžio įrašas. Antroje eilutėje yra laukas su pavadinimu, trečioje - telefono numeris. Žodis „pabaiga“ reiškia, kad įvedėme visus norimus laukus, ir tai užbaigia įrašo kūrimo procesą.

Galiausiai paskutinėje eilutėje apibrėžiame kintamąjį One, kuris yra NTel tipo.

Galite pasiekti ir visą įrašą, ir atskirus jo komponentus, pavyzdžiui: one.NAME (t. y. kintamojo_pavadinimas. įrašo_lauko_pavadinimas).

Failai

Pascal leidžia dirbti su tekstu, įvestais ir neįvestais failais, kurie yra struktūrizuota to paties tipo komponentų seka.

Skaitant iš failo arba rašant į jį, gali būti naudojamas visas adresas arba trumpoji jo forma:

„C:\Folder\File2.txt“

Trumpoji forma naudojama, kai failas dedamas į aplanką, kuriame saugoma jį pasiekianti programa. Visa forma gali būti naudojama bet kokiomis aplinkybėmis.

Failo tipo kintamąjį galite nustatyti taip:

f1: sveikojo skaičiaus failas;

Norėdami dirbti su failais, naudojamos įvairios funkcijos ir procedūros, kurios susieja kintamąjį su diske esančiu failu, atidaro jį skaitymui, rašymui ir perrašymui, baigus uždaro, leidžia sukurti naują pavadinimą ir ištrinti failą iš kompiuterio.

Pagaliau

Neturėdamas galimybės Pascal programoje naudoti įvairių tipų kintamuosius, vartotojas negalės įgyvendinti net pačios paprasčiausios užduoties. Kad programa vykdytų algoritmą be klaidų, reikia išmokti ir funkcinius žodžius, ir sintaksę, nes mašina gali „suprasti“ komandas tik tada, kai jos parašytos vieninteliu teisingu būdu.

Dažniausiai pasitaiko matematikoje skaitiniai tipai- Tai visas skaičiai, kurie reiškia begalinį diskrečiųjų reikšmių skaičių, ir galioja skaičiai, kurie reiškia neribotą reikšmių tęstinumą.

Paskalio skaitmeninių duomenų tipų (sveikųjų skaičių) aprašymas

Toje pačioje kalboje gali būti įgyvendinami skirtingi sveikųjų skaičių rinkinio poaibiai. Galimų sveikųjų skaičių reikšmių diapazonas priklauso nuo jų vidinio atvaizdavimo, kuris gali būti vienas, du arba keturi baitai. Taigi Pascal 7.0 naudojami šie sveikųjų skaičių skaitmeniniai duomenų tipai:

Su visuma skaitmeninių duomenų tipai Pascal gali atlikti šias operacijas:

  • Aritmetika:
    papildymas (+);
    atimti (-);
    daugyba (*);
    padalijimo likutis (mod);
    didinimas;
    vienkartinis pliusas (+);
    vienetinis minusas ( - ).
  • Santykių operacijos:
    lygybės santykis (=);
    nelygybės santykis (<>);
    santykis yra mažesnis (<);
    santykis didesnis nei (>);
    santykis ne mažesnis kaip (>=);
    požiūrio nebėra (<=).

Kai veikia su sveikųjų skaičių skaitmeninių duomenų tipai rezultato tipas atitiks operandų tipą, o jei operandai yra skirtingų sveikųjų skaičių tipų – operando, kurio galia yra didžiausia (maksimali reikšmių diapazonas), tipą. Galimas rezultato perpildymas niekaip nekontroliuojamas (svarbu!) , todėl gali atsirasti klaidų.

Ypatingas dėmesys turėtų būti skiriamas sveikųjų skaičių skaitmeninių duomenų tipų padalijimo operacijai. Pascal leidžia atlikti dvi padalijimo operacijas, kurios atitinkamai žymimos "/" Ir div. Turite žinoti, kad „/“ padalijimo rezultatas yra ne sveikasis skaičius, o tikras numeris(tai tiesa, net jei dalijate 8 iš 2, t. y. 8/2 = 4,0). Skyrius divi yra sveikųjų skaičių padalijimas, t.y. rezultato tipas yra sveikasis skaičius.

Paskalio skaitmeninių duomenų tipų (realių) aprašymas

Tikrasis skaitmeninis duomenų tipas reiškia realiųjų skaičių poaibį, kuris gali būti pavaizduotas vadinamuoju slankiojo kablelio formatu su fiksuotu skaitmenų skaičiumi. Su slankiuoju kableliu kiekvienas skaitmeninių duomenų tipas vaizduojamas kaip dvi skaitmenų grupės. Pirmoji skaičių grupė vadinama mantisa, antroji – eksponentu. Apskritai skaitiniai duomenų tipai slankiojo kablelio pavidalu gali būti pavaizduoti taip: X= (+|-)MP (+ | -) r, kur M yra skaičiaus mantisa; r – skaičių tvarka (r – sveikasis skaičius); P – skaičių sistemos pagrindas. Pavyzdžiui, dešimtainio pagrindo atvaizdavimas 2E-1 (čia E yra dešimtainės skaičių sistemos pagrindas) atrodys taip: 2*10 -1 =0.2, o 1.234E5 atitiks: 1.234*10 5 =123400,0.

Paskalis naudoja šiuos realiųjų skaičių tipus, kurie savavališką skaičių apibrėžia tik tam tikru tikslumu, priklausomai nuo tikrojo skaičiaus vidinio formato:

Aprašant realų tipo real kintamąjį, kompiuterio atmintyje bus sukurtas 4 baitų kintamasis. Šiuo atveju mantisai bus skirti 3 baitai, o užsakymui – vienas baitas.

Su realiais skaitmeninių duomenų tipais galima atlikti šias operacijas:

  • Aritmetika:
    papildymas (+);
    atimti (-);
    daugyba (*);
    skyrius (/);
    didinimas;
    vienkartinis pliusas (+);
    vienetinis minusas ( - ).
  • Santykių operacijos:
    nelygybės santykis (<>);
    santykis yra mažesnis (<);
    santykis didesnis nei (>);
    santykis ne mažesnis kaip (>=);
    požiūrio nebėra (<=).

Kaip matote, Paskaliui būdingas gausus realių tipų asortimentas, tačiau prieiga prie skaitmeninių duomenų tipų vienišas, dvigubai Ir pratęstas galima tik naudojant specialius kompiliavimo režimus. Šie skaitmeninių duomenų tipai yra skirti aparatinei slankiojo kablelio aritmetikos palaikymui, o norint juos efektyviai naudoti, jūsų kompiuteryje turi būti matematinis koprocesorius.

Skaitmeninis duomenų tipas užima ypatingą vietą Pascal. komp, kuris traktuojamas kaip tikrasis skaičius be eksponentinių ir trupmeninių dalių. Tiesą sakant, komp yra „didelis“ ženklu pažymėtas sveikasis skaičius, kuris išlaiko 19...20 reikšmingų dešimtainių skaitmenų. Tuo pačiu metu skaitmeninis duomenų tipas komp išraiškose jis visiškai suderinamas su kitais realiais tipais: jame yra apibrėžtos visos realios operacijos, jis gali būti naudojamas kaip matematinių funkcijų argumentas ir kt.

Apie Paskalio skaitmeninių duomenų tipų konvertavimą

Pascal programoje numanomos (automatinės) skaitmeninių duomenų tipų konversijos yra beveik neįmanomos. Išimtis daroma tik tipui sveikasis skaičius, kurį leidžiama naudoti tokiose išraiškose kaip tikras. Pavyzdžiui, jei kintamieji deklaruojami taip:

Var X: sveikasis skaičius; Y: tikras;

Tai operatorius

bus sintaksiškai teisingas, nors priskyrimo ženklo dešinėje yra sveikojo skaičiaus išraiška, o kairėje – tikrasis kintamasis, kompiliatorius automatiškai konvertuos skaitmeninių duomenų tipus. Atvirkštinis konvertavimas įvedamas automatiškai tikras tipo sveikasis skaičius neįmanoma Paskalyje. Prisiminkime, kiek baitų skiriama tipo kintamiesiems sveikasis skaičius Ir tikras: pagal sveikojo skaičiaus tipas duomenis sveikasis skaičius Atminties skiriami 2 baitai, o realiam - 6 baitai. Konvertuoti tikras V sveikasis skaičius Yra dvi integruotos funkcijos: apvalus(x) apvalina tikrąjį x iki artimiausio sveikojo skaičiaus, sutrumpinti(x) sutrumpina realųjį skaičių, atmesdamas trupmeninę dalį.

Svarbiausi programos elementai yra kintamieji. Jie įtakoja įvykių eigą programoje jos vykdymo metu. Pavyzdžiui, jei nebūtume nurodę kintamojo Name reikšmės, kam būtų skirtas programos sveikinimas?

Kintamieji gali turėti visiškai skirtingus duomenis. Pavyzdžiui, viename kintamajame gali būti saugomas kažkieno vardas, kitame – gimimo metai, trečiame – ūgis ir pan. Tokius skirtingus duomenis kompiuteris vaizduoja įvairiais būdais. Vardas – tai simbolių eilutė, gimimo metai – sveikasis skaičius, o ūgis – realus skaičius (pavyzdžiui, ūgis – 1,72 m).

Tai, kaip kompiuteris vaizduoja duomenis, lemia jo tipo. Be to, duomenų tipas nustato, kokius veiksmus leidžiama atlikti su tais duomenimis.

Toliau pateikiami pagrindiniai standartiniai Turbo Pascal kalbos duomenų tipai:

  1. SVEIKI SKAIČIUS– sveikieji duomenys diapazone nuo –32768 iki 32767, atmintyje užimantys du baitus;
  2. TIKRAS– realieji skaičiai diapazone nuo 2.9´10 -39 (2.9E-39) iki 1.7´10 38 (1.7E38), užima šešis baitus;
  3. CHAR– atskiras simbolis, vienas baitas;
  4. STRING– simbolių eilutė, simbolių skaičius eilutėje (eilutės ilgis) ribojamas skaičiumi N laužtiniuose skliaustuose, užima N+1 baitą (jei skaičius N nenurodytas, tai maksimalus eilutės ilgis yra 255 simboliai);
  5. BOLIO– loginis tipas, turi dvi reikšmes: FALSE (false) ir TRUE (true), vienas baitas.

Atminkite, kad tipai INTEGER, CHAR ir BOOLEAN klasifikuojami kaip eilinis eiliniai tipai.

Kaip tikriausiai prisimenate, aprašant kintamąjį, po jo pavadinimo dedamas dvitaškis, o tada nurodomas tipas. Jei keli kintamieji turi tą patį tipą, jų pavadinimus galima atskirti kableliais.

Įvairių tipų kintamųjų aprašymo pavyzdys:

Delphi / Pascal

var a, b, c: sveikasis skaičius; suma: realus; Alfa, Beta: char; S:string; S_1: eilutė; t: loginis;

a, b, c: sveikasis skaičius;

suma: realus;

Alfa, Beta: char;

S: eilutė [25];

S_1: eilutė;

t: loginis;

Atkreipkite dėmesį, kad kintamasis S_1 yra simbolių eilutė, bet jo deklaracija nenurodo ilgio. Tokiu atveju pats kompiliatorius nustato didžiausią galimą ilgį – 255 simbolius.

Yra ir kitų iš anksto nustatytų duomenų tipų, skirtų saugoti sveikuosius ir tikrus skaičius. Jų charakteristikos pateiktos toliau pateiktose lentelėse. Palyginkite šiuos tipus su INTEGER ir REAL tipais, taip pat parodytais lentelėse.

diapazonas

Dydis baitais

SHORTINT
SVEIKI SKAIČIUS
ILGAI

2147483648 .. 2147483647

BAITAS
ŽODIS

Tikri duomenų tipai

diapazonas

Reikšmingų skaičių skaičius

Dydis baitais

TIKRAS

2,9'10 -39 .. 1,7'10 3 8

VIENIS

1,5´10 – 45 .. 3,4´10 3 8

DVIGUBAS

5,0'10 -3 24 .. 1,7'10 3 08

PRAŠTINTAS

3,4'10 -4932 .. 1,1'10 49 32

COMP

2 63 +1 .. 2 63 -1

Kokio tipo duomenis naudoti

Galima sakyti, kad yra tiek daug skirtingų tipų, tad kurį turėtumėte naudoti?
Tai priklauso nuo jums paskirtos užduoties. Pavyzdžiui, reikia kintamojo, kuriame saugosite tam tikro asmens ūgį (tikrąją reikšmę): tokiu atveju pakanka naudoti SINGLE tipą. Jei tam tikrų objektų skaičiui suskaičiuoti naudojate kokį nors kintamąjį (teigiamas sveikasis skaičius), tada išsiaiškinkite, ar šis skaičius gali būti didesnis nei 255, jei ne, naudokite BYTE, jei gali, neapsieisite be WORD, o kai kuriuose atvejų gali prireikti ir LONGINT.

Norėdami sužinoti daugiau apie skirtingus tipus, paspauskite „Shift“ + F1 „Turbo Pascal“ programoje (pasirodys pagalbos rodyklės langas), tada pasirinkite jus dominantį objektą (pavyzdžiui, įveskite „type“ arba „real“).

Bet kokie duomenys - konstantos, kintamieji, funkcijų reikšmės - Pascal apibūdinami duomenų tipu.

Apibrėžkime sąvoką duomenų tipas. Kaip jau žinoma, visi programos objektai (kintamieji, konstantos ir kt.) turi būti aprašyti.

Aprašymai informuoja vertėją, pirma, apie naudojamų kintamųjų ir kitų objektų egzistavimą, antra, nurodo šių objektų savybes. Pavyzdžiui, kintamojo, kurio reikšmė yra skaičius, aprašymas nurodo skaičių savybes. Formaliai skaičiai gali būti sveikieji ir realieji (trupmeniniai). Pascal, kaip ir kitose programavimo kalbose, skaičiai skirstomi į du tipus: visas(rezervuotas žodis sveikasis skaičius) ir tikras(rezervuotas žodis tikras).

Sveikųjų skaičių atskyrimas į atskirą tipą paaiškinamas tuo, kad kompiuteryje sveikieji ir realieji skaičiai pateikiami skirtingai: sveikasis skaičius gali būti pavaizduotas absoliučiai tiksliai, tačiau realusis skaičius neišvengiamai turi tam tikrą baigtinę paklaidą, kurią lemia savybės vertėjo.

Pavyzdžiui, tegul kintamasis x yra tikro tipo, o jo reikšmė lygi vienetui: x=1 . Atitinkama reikšmė kompiuterio atmintyje gali būti 0,999999999, 1,000000001 arba 1,000000000. Bet jei kintamasis x deklaruojamas kaip sveikojo skaičiaus kintamasis, tada vienetas kompiuteryje bus pavaizduotas absoliučiai tiksliai ir kintamasis x negalės priimti realių (trupmeninių) reikšmių – juk jis buvo aprašytas kaip sveikojo skaičiaus tipo kintamasis.

Taigi duomenų tipas apibrėžia:

  • vidinis duomenų atvaizdavimas kompiuterio atmintyje;
  • verčių rinkinys, kurį gali priimti tokio tipo kiekiai;
  • operacijos, kurias galima atlikti su tokio tipo reikšmėmis.

Duomenų tipų įvedimas yra viena iš pagrindinių Paskalio kalbos sąvokų, kuri yra ta, kad atliekant kintamojo priskyrimo išraiškos reikšmei operaciją, kintamasis ir išraiška turi būti to paties tipo. Šį patikrinimą atlieka kompiliatorius, o tai labai supaprastina klaidų paiešką ir padidina programos patikimumą.

Daugelį Turbo Pascal kalbos duomenų tipų galima suskirstyti į dvi grupes:

  • standartiniai (iš anksto nustatyti) tipai ;
  • vartotojo nustatyti tipai (vartotojo nustatyti tipai) .

Standartiniai Turbo Pascal tipai apima:

  • integer type – integer;
  • tikras tipas – tikras;
  • simbolio tipas – char;
  • boolean tipas – loginis;
  • string type – string ;
  • rodyklės tipas – rodyklė;
  • teksto tipas – tekstas .

Priskirti duomenų tipai yra įvairūs standartinių tipų deriniai.

Priskirti tipai apima:

  • išvardintas tipas;
  • intervalo tipas;
  • rodyklės tipas;
  • struktūriniai tipai;
  • procedūrinis tipas.

komentuoti. Galima ir kita duomenų tipų klasifikacija, pagal kurią tipai skirstomi į paprastus ir sudėtingus.

Paprasti tipai yra: sveikojo skaičiaus tipas, tikrasis tipas, simbolių tipas, loginis tipas, išvardintas tipas ir intervalo tipas.

Kompleksinis tipas reiškia įvairius derinius paprasti tipai(masyvai, įrašai, rinkiniai, failai ir kt.)

Standartiniai tipai

Standartinį duomenų tipą apibrėžia pati Pascal kalba. Programoje naudojant standartinius tipus, užtenka nurodyti reikiamų tipų poskyrius (const, var), o tada aprašyti programoje naudojamas konstantas ir kintamuosius. Nereikia naudoti poskyrio Tipas.

Pavyzdžiui, jei programa naudoja tik kintamuosius:

i,j – sveikasis skaičius (sveikieji skaičiai);

x,y - realus (tikrasis);

t,s - char (simbolis);

a,b – loginis (loginis),

tada reikia tik kintamųjų poskyrio - Var. Todėl aprašomojoje programos dalyje kintamųjų deklaracijos rašomos taip:

Sveikųjų skaičių tipai

Šio tipo duomenys gali priimti tik sveikųjų skaičių reikšmes. Kompiuteryje sveikojo skaičiaus vertės pateikiamos visiškai tiksliai. Jei kintamasis yra neigiamas, prieš jį turi būti ženklas „–“, jei kintamasis yra teigiamas, „+“ ženklo galima praleisti. Šis tipas reikalingas tuo atveju, kai kurio nors kiekio negalima apytiksliai pavaizduoti kaip realų skaičių. Pavyzdžiui, žmonių, gyvūnų ir kt.

Sveikųjų skaičių reikšmių rašymo pavyzdžiai: 17, 0, 44789, -4, -127.

Sveikojo skaičiaus duomenų kitimo diapazonas nustatomas pagal penkis standartinius sveikųjų skaičių tipus ir pateikiamas lentelėje:

Tipas diapazonas Dydis baitais
Shortint -128...+128 1
Sveikasis skaičius -32768...32767 2
Longint -2147483648...2147483647 4
baitas 0...255 1
Žodis 0...65535 2

Paskutiniai du tipai reiškia tik teigiamus skaičius, o pirmieji trys – ir teigiamus, ir neigiamus skaičius.

Programos tekste arba įvedant sveikojo skaičiaus duomenis įrašomos reikšmės be kablelio . Faktinės kintamųjų reikšmės neturi viršyti leistinų verčių tipas (Shortint, Integer, Longint, Byte, Word), kuris buvo naudojamas apibūdinti kintamąjį. Galimi pertekliai skaičiavimų metu jokiu būdu nekontroliuojami, o tai sukels netinkamą programos veikimą.

Sveikojo skaičiaus kintamojo naudojimo pavyzdys

Var a:integer; b:žodis; c:baitas; Pradžia a:=300; (a nustatytas į 300) b:=300; (b nustatytas į 300) c:=200; (c nustatytas į 200) a:=b+c; (a nustatytas į 500) c:=b; (Klaida! Kintamasis c gali turėti tik 255 reikšmes. Čia kintamasis c nustatytas į 500, todėl rezultatas bus perpildytas.) Pabaiga.

Tikri tipai

Realių tipų reikšmės kompiuteryje pateikiamos apytiksliai. Realaus tipo duomenų kitimo diapazoną lemia penki standartiniai tipai: realus (Real), vienkartinis (Single), dvigubas tikslumas (Double), išplėstinis tikslumas (Extended), kompleksinis (Comp) ir pateikiamas lentelėje:

Tipas diapazonas Reikšmingų skaičių skaičius Dydis baitais
Tikras 2.9E-39...1.7E+38 11-12 6
Vienišas 1.5E-45...3.4E+38 >7-8 4
Dvigubas 5E-324...1.7E+308 15-16 8
Prailgintas 3.4E-4951...1.1E+4932 19-20 10
Komp -2E+63+1...+2E+63-1 19-20 8

Realieji skaičiai gali būti pateikiami dviem formatais: fiksuoto kablelio ir slankiojo kablelio.

Fiksuoto taško skaičiaus rašymo formatas yra toks pat, kaip įprasto matematinio žymėjimo dešimtainis skaičius Su trupmeninė dalis. Pavyzdžiui, trupmeninė dalis atskiriama nuo visos, naudojant tašką

34.5, -4.0, 77.001, 100.56

Slankaus kablelio žymėjimo formatas naudojamas rašant labai didelius arba labai mažus skaičius. Šiame formate skaičius prieš raidę E padauginamas iš skaičiaus 10 iki laipsnio po raidės E.

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

Slankaus kablelio skaičių pavyzdžiai:

Skaičius Įrašymas Pascal
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

Lentelėje nuo 5 iki 9 eilučių rodomas to paties skaičiaus įrašas 124. Keičiant kablelio vietą mantisoje (taškas „plaukia“, iš čia ir pavadinimas „įrašomas slankiojo kablelio skaičius“) ir tuo pačiu keisdami užsakymo vertę, galėsite pasirinkti tinkamiausius įrašų numerius.

Realaus tipo kintamųjų aprašymo pavyzdys.

Charakterio tipas

Simbolių tipo reikšmės yra simboliai, kuriuos galima įvesti kompiuterio klaviatūra. Tai leidžia programoje pateikti tekstą ir atlikti su juo įvairias operacijas: įterpti, ištrinti atskiras raides ir žodžius, formatuoti ir pan.

Simbolių tipas žymimas rezervuotu žodžiu Char ir skirtas saugoti vieną simbolį. Simbolių duomenys atmintyje užima vieną baitą.

Simbolinio kintamojo deklaracijos formatas:

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

Apibrėžiant simbolio kintamojo reikšmę, simbolis rašomas apostrofais. Be to, galite nustatyti reikiamą simbolį, nurodydami jį tiesiogiai skaitinė reikšmė ASCII kodas. Tokiu atveju prieš skaičių, nurodantį reikiamo simbolio ASCII kodą, turite įrašyti # ženklą.

Simbolių tipo kintamųjų naudojimo pavyzdys:

Var c:char; (c yra simbolio tipo kintamasis) Begin c:='A'; (kintamajam c priskiriamas simbolis 'A') c:=#65; (kintamajam c taip pat priskiriamas simbolis A. Jo ASCII kodas yra 65) c:=’5’; (kintamajam c priskiriamas simbolis 5, pabaiga. Čia 5 nebėra skaičius)

Būlio tipas

Loginių duomenų tipas pavadintas Būlio vardu anglų matematiko Džordžo Būlio, matematikos srities – matematinės logikos – kūrėjo, vardu.

Būlio tipo kintamojo deklaravimo formatas:

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

Šio tipo duomenys gali turėti tik dvi reikšmes:

  • Tiesa – tiesa;
  • Netiesa yra melas.

Loginiai duomenys plačiai naudojami tikrinant tam tikrų sąlygų pagrįstumą ir lyginant kiekius. Rezultatas gali būti teisingas arba klaidingas.

Norint palyginti duomenis, pateikiamos šios reliacinės operacijos:

Reliacinių operacijų naudojimo pavyzdys:

santykis 5>3, rezultatas teisingas;

santykis 5=3, rezultatas klaidingas.

Būlio tipo kintamųjų naudojimo pavyzdys.

Var a,b:bulio; (a,b yra loginio tipo kintamieji) Begin a:=True; (kintamajam a priskiriama reikšmė "true") b:=false; (kintamasis b nustatytas į false) Pabaiga.

Konstantos

Sveikieji skaičiai, tikrieji skaičiai, simboliai, simbolių eilutės ir loginės konstantos gali būti naudojamos kaip konstantos.

Konstanta turi būti deklaruojama aprašomojoje dalyje naudojant rezervuotą žodį const.

Pastovios deklaracijos formatas

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

Jei programa naudoja kelias konstantas, leidžiama tik viena. raktažodį Const , kiekvienos konstantos aprašymas baigiasi kabliataškiu. Pastovus blokas baigiasi kitos sekcijos deklaravimu arba vykdomų teiginių bloko deklaracija.

Const (pastovaus skyriaus deklaracija) metai=2003; (sveiko skaičiaus konstanta, nes įraše nėra kablelio) laikas=14,05; (tikrojo tipo konstanta) N=24; (sveiko skaičiaus konstanta, nes žymėjime nėra kablelio) P=3,14; (tikrojo tipo konstanta) A=tiesa; (bulio konstanta) str1='7'; (simbolių tipo konstanta) str2='A'; (simbolių tipo konstanta) str3='Turbo'; (eilutės tipo konstanta) Var (kintamojo skyriaus deklaracija) X,y:integer; (sveiko skaičiaus tipo kintamieji)

Individualūs tipai

Mes apsvarstysime tik vartotojų tipų rinkinį

  • išvardintas tipas;
  • intervalo tipas.

Šių dviejų tipų mums prireiks studijuojant masyvus.

Enum tipas

Išvardintas duomenų tipas apibūdina naujus duomenų tipus, kurių reikšmes apibrėžia programuotojas. Išvardintas tipas nurodomas reikšmių, kurias jis gali gauti, sąrašu. Kiekviena reikšmė pavadinta tam tikru identifikatoriumi ir yra sąraše, apsuptame skliaustuose. Išvardintas tipas yra vartotojo apibrėžtas duomenų tipas, todėl jo tipo deklaracija prasideda rezervuotu žodžiu TIPAS.

Enum tipo formatas:

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

Kur
konstanta1 , konstanta2 ,..., konstantaN – sutvarkytas identifikatoriaus reikšmių rinkinys, traktuojamas kaip konstantos.

Išvardinto tipo aprašo pavyzdys:

Įveskite kamuolį = (vienas, du, trys, keturi, penki); var t:ball;

Čia kamuolys yra išvardinto tipo pavadinimas; vienas, du, trys, keturi, penki – konstantos; t yra kintamasis, kuris gali turėti bet kokią pastovią reikšmę.

Išvardintame tipe konstanta yra identifikatorius, todėl ji nėra cituojama ir negali būti skaičius. Taigi išvardintame tipe konstanta yra ypatinga konstantos rūšis, kuri negali būti:

  • skaitinio tipo konstantos: 1, 2, 3, 4 ir kt.;
  • simbolių tipo konstantos: „a“, „s“, „1“, „3“ ir kt.;
  • eilutės tipo konstantos: „pirmas“, „antras“ ir kt.

Be to, aritmetinės operacijos ir standartinės įvesties bei išvesties procedūros Read and Write netaikomos šio tipo reikšmėms.

Išvardintų kintamųjų naudojimo pavyzdys:

Tipo dienos = (pirmadienis, antradienis, trečiadienis, ketvirtadienis, penktadienis, šeštadienis, sekmadienis); Var diena: dienos; begin if day = Sunday then writeln('Šiandien sekmadienis!'); Galas.

Elementai, įtraukti į išvardinto tipo apibrėžimą, laikomi išdėstytais tokia tvarka, kokia jie yra išvardyti. Numeravimas prasideda nuo nulio. Todėl pateiktame pavyzdyje savaitės dienos turi šiuos eilės numerius

Norint programiškai nustatyti eilės skaičių, naudojama funkcija Ord().

Mūsų pavyzdyje eilės numeriai yra lygūs:

Eil.(pirmadienis) = 0;

Ord(šeštadienis) = 5;

Eilė (sekmadienis) = 6.

Intervalo tipas

Jei kintamasis nepriima visų jo tipo reikšmių, o tik reikšmes, esančias tam tikrame diapazone, tada šis duomenų tipas vadinamas intervalo tipu. Intervalo tipas dažnai vadinamas ribotu tipu ir diapazono tipu. Intervalo tipas apibrėžiamas jo reikšmių ribomis:

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

  • du „..“ simboliai traktuojami kaip vienas simbolis, todėl tarpai tarp jų neleidžiami;
  • kairioji diapazono riba neturėtų viršyti dešinės.

Intervalo tipas yra vartotojo apibrėžtas duomenų tipas, todėl šio tipo deklaracija prasideda funkcinis žodis TIPAS.

Intervalo tipo aprašymo pavyzdys:

Tipo skaitmuo = 1..10; mėnuo = 1..31; lat = 'A'..'Z';

Duomenų tipas apibrėžia galiojančių reikšmių rinkinį ir galiojančių operacijų rinkinį.

Paprasti tipai.

Paprasti tipai skirstomi į ORDINAL ir REAL.

1. UŽSAKYMO TIPAI , savo ruožtu yra:

visas

Pascal apibrėžia 5 sveikųjų skaičių tipus, kurie apibrėžiami atsižvelgiant į ženklą ir reikšmę, kurią imsis kintamasis.

Įveskite pavadinimą

Ilgis (baitais)

Vertybių diapazonas

32 768...+32 767

2 147 483 648...+2 147 483 647

b) logiška

Šio tipo pavadinimas yra BOOLEAN. Būlio reikšmės gali būti viena iš Būlio konstantų: TRUE (tiesa) arba FALSE (false).

c) simbolinis

Šio tipo pavadinimas yra CHAR – užima 1 baitą. Simbolių tipo reikšmė yra visų kompiuterio simbolių rinkinys. Kiekvienam simboliui priskiriamas sveikasis skaičius diapazone nuo 0 iki 255. Šis skaičius naudojamas kaip vidinio simbolio atvaizdavimo kodas.

2. TIKROS TIPAI .

Skirtingai nuo eilinių tipų, kurių reikšmės visada susietos su sveikųjų skaičių serijomis ir todėl yra visiškai tiksliai vaizduojamos asmeniniame kompiuteryje, realiųjų tipų reikšmės apibrėžia savavališką skaičių tik su tam tikru baigtiniu tikslumu, priklausomai nuo tikrojo skaičiaus vidinio formato. .

Skaitinių duomenų tipo ilgis, baitai

Skaitmeninis duomenų tipo pavadinimas

Skaitmeninio duomenų tipo reikšmingųjų skaitmenų skaičius

Skaitinių duomenų tipo dešimtainės tvarkos diapazonas

2*1063 +1..+2*1063 -1

STRUKTŪROS TIPAI

Struktūriniai duomenų tipai apibrėžia tvarkingą skaliarinių kintamųjų rinkinį ir apibūdina jų komponentų tipą.

Struktūriniai duomenų tipai, skirtingai nei paprasti, apibrėžia daug sudėtingų reikšmių vienu bendriniu pavadinimu. Galima sakyti, kad struktūriniai tipai nulemia tam tikrą būdą formuoti naujus tipus iš esamų.

Yra keletas struktūrizavimo būdų. Pagal sudėtingų duomenų tipų komponentų organizavimo metodą ir tipą išskiriamos šios atmainos: įprastas tipas (masyvai); kombinuotas tipas (įrašai); failo tipas(failai); kelių tipų; eilutės tipas (stygos); Turbo Pascal kalbos 6.0 ir senesnėse versijose buvo pristatytas objektų tipas (objektai).

Skirtingai nuo paprastų duomenų tipų, struktūrinio tipo duomenims būdingas elementų, sudarančių šį tipą, gausa, t.y. struktūrinio tipo kintamasis arba konstanta visada turi kelis komponentus. Kiekvienas komponentas savo ruožtu gali priklausyti struktūriniam tipui, t.y. galimas tipų lizdas.

1. Masyvai

Turbo Pascal masyvai daugeliu atžvilgių yra panašūs į panašius duomenų tipus kitose programavimo kalbose. Išskirtinis masyvų bruožas yra tas, kad visi jų komponentai yra to paties tipo (galbūt struktūriniai) duomenys. Šiuos komponentus galima lengvai organizuoti ir bet kurį iš jų pasiekti tiesiog nurodant serijos numerį.

Masyvo aprašymas nurodytas taip:

<имя типа>= masyvas[<сп.инд.типов>] apie<тип>

Čia<имя типа>- teisingas identifikatorius;

Array, of – rezervuoti žodžiai (masyvas, iš);

<сп.инд.типов>- vieno ar kelių indeksų tipų sąrašas, atskirtas kableliais; laužtiniai skliaustai, įrėminantys sąrašą, yra sintaksės reikalavimas;

<тип>- bet kokio tipo Turbo Pascal.

Bet kokie eiliniai tipai gali būti naudojami kaip indekso tipai Turbo Pascal, išskyrus LongInt ir diapazono tipus su pagrindiniu LongInt tipu.

Struktūrizuotų tipų įdėjimo gylis apskritai, taigi ir masyvų, yra savavališkas, todėl elementų skaičius tipų indeksų sąraše (masyvo dydis) neribojamas, tačiau bendras bet kurio masyvo vidinio atvaizdavimo ilgis negali būti. būti daugiau nei 65520 baitų.

2. Įrašai

Įrašas yra duomenų struktūra, susidedanti iš fiksuoto skaičiaus komponentų, vadinamų įrašo laukais. Skirtingai nuo masyvo, įrašo komponentai (laukai) gali būti įvairių tipų. Kad būtų galima nurodyti vieną ar kitą įrašo komponentą, laukai įvardijami.

Pašto tipo deklaracijos struktūra yra tokia:

< vardastipo>=ĮRAŠAS< bendra įmonė. laukai>PABAIGA

Čia<имя типа>- teisingas identifikatorius;

RECORD, END – rezervuoti žodžiai (įrašas, pabaiga);

<сп.полей>- laukų sąrašas; yra įrašo sekcijų seka, atskirta kabliataškiu.

3. Rinkiniai

Aibės yra to paties tipo objektų, kurie yra logiškai sujungti vienas su kitu, rinkinys. Ryšių tarp objektų pobūdį tik numano programuotojas ir jokiu būdu nekontroliuoja Turbo Pascal. į aibę įtrauktų elementų skaičius gali svyruoti nuo 0 iki 256 (aibė, kurioje nėra elementų, vadinama tuščia, jos elementų skaičiaus nepastovumas skiriasi nuo masyvų ir įrašų).

Dvi aibės laikomos lygiavertėmis tada ir tik tada, kai visi jų elementai yra vienodi, o aibės elementų tvarka yra abejinga. Jei visi vienos aibės elementai taip pat įtraukti į kitą, sakoma, kad pirmasis rinkinys įtrauktas į antrąjį.

Rinkinio tipo aprašymas yra toks:

< vardastipo>=RINKINYS< bazės. tipo>

Čia<имя типа>- teisingas identifikatorius;

SET, OF – rezervuoti žodžiai (set, of);

<баз.тип>- bazinis rinkinio elementų tipas, kuris gali būti bet koks eilės tipas, išskyrus WORD, INTEGER ir LONGINT.

Aibei apibrėžti naudojamas vadinamasis aibės konstruktorius: aibės elementų specifikacijų sąrašas, atskirtas kableliais; sąrašas pateikiamas laužtiniais skliaustais. Elementų specifikacijos gali būti bazinio tipo konstantos arba išraiškos, taip pat to paties bazinio tipo diapazono tipas.

4. Failai

Failas nurodo arba į pavadintą sritį išorinė atmintis Kompiuteris arba loginis įrenginys yra galimas informacijos šaltinis arba imtuvas.

Bet kuris failas turi tris būdingus bruožus

    jis turi pavadinimą, leidžiantį programai vienu metu dirbti su keliais failais.

    jame yra to paties tipo komponentų. Komponento tipas gali būti bet koks Turbo Pascal tipas, išskyrus failus. Kitaip tariant, negalite sukurti „failų failo“.

    deklaruojant naujai sukurto failo ilgis niekaip nenurodomas ir ribojamas tik išorinių atminties įrenginių talpa.

Failo tipą arba failo tipo kintamąjį galima nurodyti vienu iš trijų būdų:

< vardas>= FAILAS< tipo>;

< vardas>=TEKSTAS;

<имя>= FAILAS;

Čia<имя>- failo tipo pavadinimas (teisingas identifikatorius);

FILE, OF – rezervuoti žodžiai (failas, iš);

TEKSTAS – vardas standartinis tipas tekstiniai failai;

<тип>- bet kokio tipo Turbo Pascal, išskyrus failus.

Priklausomai nuo deklaravimo būdo, galima išskirti tris bylų tipus:

· įvestus failus (nustatytas FILE OF... sąlyga);

· tekstinius failus(apibrėžta pagal tipą TEXT);

· neįvesti failai (apibrėžti pagal FILE tipą).

Apie Paskalio skaitmeninių duomenų tipų konvertavimą

Pascal programoje numanomos (automatinės) skaitmeninių duomenų tipų konversijos yra beveik neįmanomos. Išimtis daroma tik sveikojo skaičiaus tipui, kurį leidžiama naudoti tikro tipo išraiškose. Pavyzdžiui, jei kintamieji deklaruojami taip:

Var X: sveikasis skaičius; Y: tikras;

tada operatorius

bus sintaksiškai teisingas, nors priskyrimo ženklo dešinėje yra sveikojo skaičiaus išraiška, o kairėje – tikrasis kintamasis, kompiliatorius automatiškai konvertuos skaitmeninių duomenų tipus. Automatinis atvirkštinis konvertavimas iš tikrojo tipo į sveikąjį skaičių neįmanomas naudojant Pascal. Prisiminkime, kiek baitų skiriama integer ir real tipo kintamiesiems: sveikojo skaičiaus duomenų tipui integer skiriama 2 baitai atminties, o realiesiems – 6 baitai. Yra dvi integruotos funkcijos, skirtos realųjį paversti sveikuoju skaičiumi: round(x) suapvalina realųjį x iki artimiausio sveikojo skaičiaus, trunc(x) sutrumpina realųjį, atmesdamas trupmeninę dalį.

Dalintis