Aina zote za vigezo katika Pascal. Aina za data za Pascal

Ya kawaida zaidi katika hisabati aina za nambari-Hii mzima nambari zinazowakilisha idadi isiyo na kikomo ya maadili tofauti, na halali nambari zinazowakilisha mwendelezo usio na kikomo wa maadili.

Maelezo ya aina za data za Pascal (integers)

Ndani ya lugha moja, seti ndogo tofauti za seti kamili zinaweza kutekelezwa. Anuwai ya thamani zinazowezekana za aina kamili za nambari hutegemea uwakilishi wao wa ndani, ambao unaweza kuwa baiti moja, mbili au nne. Kwa hivyo, katika Pascal 7.0 aina zifuatazo za data za nambari zinatumika:

Na nzima aina za data za nambari Pascal anaweza kufanya shughuli zifuatazo:

  • Hesabu:
    nyongeza(+);
    kutoa(-);
    kuzidisha (*);
    salio la mgawanyiko (mod);
    ufafanuzi;
    unary plus (+);
    unary minus (-).
  • Shughuli za uhusiano:
    uhusiano wa usawa (=);
    uhusiano usio na usawa (<>);
    uwiano ni mdogo (<);
    uwiano mkubwa kuliko (>);
    uhusiano usiopungua (>=);
    sio tabia tena (<=).

Wakati wa kuigiza na aina kamili za data za nambari aina ya matokeo itafanana na aina ya uendeshaji, na ikiwa uendeshaji ni wa aina tofauti kamili, kwa aina ya uendeshaji ambayo ina nguvu ya juu (kiwango cha juu cha maadili). Uwezekano wa kufurika kwa matokeo haudhibitiwi kwa njia yoyote (ni muhimu!) , ambayo inaweza kusababisha makosa.

Uangalifu hasa unapaswa kulipwa kwa uendeshaji wa mgawanyiko wa aina kamili za data za nambari. Pascal inaruhusu shughuli mbili za mgawanyiko, ambazo zinaonyeshwa ipasavyo "/" Na div. Unahitaji kujua kuwa matokeo ya mgawanyiko "/" sio nambari, lakini nambari halisi(hii ni kweli hata ukigawanya 8 kwa 2, yaani 8/2=4.0). Mgawanyiko wa mgawanyiko ni mgawanyiko kamili, i.e. aina ya matokeo ni integer.

Maelezo ya aina za data za Pascal (halisi)

Aina halisi ya data ya nambari inarejelea kikundi kidogo cha nambari halisi ambacho kinaweza kuwakilishwa katika kinachojulikana kama umbizo la sehemu inayoelea na nambari isiyobadilika ya nambari. Na sehemu inayoelea, kila aina ya data ya nambari inawakilishwa kama vikundi viwili vya nambari. Kundi la kwanza la nambari linaitwa mantissa, la pili ni kielelezo. Kwa ujumla, aina ya data ya nambari katika fomu ya uhakika inayoelea inaweza kuwakilishwa kama ifuatavyo: X= (+|-)MP (+ | -) r, ambapo M ni mantissa ya nambari; r - utaratibu wa nambari (r - integer); P - msingi wa mfumo wa nambari. Kwa mfano, kwa msingi wa decimal, uwakilishi 2E-1 (hapa E ni msingi wa mfumo wa nambari ya decimal) utaonekana kama: 2*10 -1 =0.2, na uwakilishi 1.234E5 utafanana na: 1.234*10 5 =123400.0.

Pascal hutumia aina zifuatazo za nambari halisi, ambazo hufafanua nambari ya kiholela tu kwa usahihi fulani kulingana na umbizo la ndani la nambari halisi:

Wakati wa kuelezea utofauti halisi wa aina halisi, tofauti ya ka 4 itaundwa kwenye kumbukumbu ya kompyuta. Katika kesi hii, byte 3 zitatolewa kwa mantissa, na byte moja kwa utaratibu.

Shughuli zifuatazo zinaweza kufanywa kwa aina halisi za data za nambari:

  • Hesabu:
    nyongeza (+);
    kutoa(-);
    kuzidisha (*);
    mgawanyiko (/);
    ufafanuzi;
    unary plus (+);
    unary minus (-).
  • Shughuli za uhusiano:
    uhusiano usio na usawa (<>);
    uwiano ni mdogo (<);
    uwiano mkubwa kuliko (>);
    uhusiano usiopungua (>=);
    sio tabia tena (<=).

Kama unaweza kuona, Pascal ina sifa ya anuwai ya aina halisi, lakini ufikiaji wa aina za data za nambari single, mara mbili Na kupanuliwa inawezekana tu chini ya njia maalum za mkusanyiko. Aina hizi za data za nambari zimeundwa kwa ajili ya usaidizi wa maunzi kwa hesabu ya sehemu zinazoelea, na ili kuzitumia vyema, Kompyuta yako lazima iwe na kichakataji hesabu.

Aina ya data ya nambari inachukua nafasi maalum katika Pascal. comp, ambayo inachukuliwa kama nambari halisi bila sehemu za kielelezo na za sehemu. Kweli, comp ni nambari kamili iliyotiwa saini "kubwa" ambayo hubakiza tarakimu 19..20 muhimu za desimali. Wakati huo huo, aina ya data ya nambari comp katika misemo inaendana kikamilifu na aina zingine halisi: shughuli zote halisi zimefafanuliwa juu yake, inaweza kutumika kama hoja ya kazi za hisabati, nk.

Kuhusu kubadilisha aina za data za Pascal

Katika Pascal, ubadilishaji kamili (otomatiki) wa aina za data za nambari karibu hauwezekani. Ubaguzi unafanywa tu kwa aina nambari kamili, ambayo inaruhusiwa kutumika katika misemo kama halisi. Kwa mfano, ikiwa vigezo vinatangazwa kama hii:

Var X: nambari kamili; Y: halisi;

Huyo ndiye mwendeshaji

itakuwa sahihi kisintaksia, ingawa kuna usemi kamili upande wa kulia wa ishara ya mgao na tofauti halisi upande wa kushoto, mkusanyaji atabadilisha aina za data za nambari kiotomatiki. Ugeuzaji wa kinyume ni aina ya kiotomatiki halisi katika aina nambari kamili haiwezekani katika Pascal. Wacha tukumbuke ni ka ngapi zimetengwa kwa anuwai ya aina nambari kamili Na halisi: kwa aina kamili ya data nambari kamili 2 byte za kumbukumbu zimetengwa, na kwa kweli - 6 byte. Ili kubadilisha halisi V nambari kamili Kuna kazi mbili zilizojumuishwa: pande zote(x) huzungusha x halisi hadi nambari kamili iliyo karibu zaidi, shina(x) hupunguza nambari halisi kwa kutupa sehemu ya sehemu.

Somo linashughulikia aina kuu za data za kawaida katika Pascal, dhana ya kutofautiana na mara kwa mara; inaelezea jinsi ya kufanya kazi na shughuli za hesabu

Pascal ni lugha ya programu iliyochapishwa. Hii ina maana kwamba vigeu vinavyohifadhi data ni vya aina mahususi ya data. Wale. Mpango lazima uonyeshe moja kwa moja data gani inaweza kuhifadhiwa katika kutofautiana fulani: data ya maandishi, data ya nambari, ikiwa ni nambari, basi integer au fractional, nk. Hii ni muhimu kimsingi ili kompyuta "ijue" ni shughuli gani zinaweza kufanywa na anuwai hizi na jinsi ya kuzifanya kwa usahihi.

Kwa mfano, kuongezwa kwa data ya maandishi, au kama inavyoitwa kwa usahihi katika programu - concatenation - ni kuunganisha kwa kawaida kwa kamba, wakati kuongeza kwa data ya nambari hutokea kidogo, kwa kuongeza, nambari za sehemu na integer pia huongezwa tofauti. Vile vile hutumika kwa shughuli zingine.

Wacha tuangalie aina za data za kawaida katika Pascal.

Aina kamili za data katika Pascal

Aina Masafa Kumbukumbu inayohitajika (baiti)
kwaheri 0..255 1
kifupi -128..127 1
nambari kamili -32768.. 32767 2
neno 0..65535 2
muda mrefu -2147483648..2147483647 4

Unahitaji kukumbuka kwamba wakati wa kuandika programu katika Pascal nambari kamili(iliyotafsiriwa kutoka kwa Kiingereza kwa ujumla) ndiyo inayotumiwa mara nyingi zaidi, kwani anuwai ya maadili ndiyo inayohitajika zaidi. Ikiwa safu pana inahitajika, tumia muda mrefu(nambari kamili, iliyotafsiriwa kutoka kwa Kiingereza kama nambari ndefu). Aina kwaheri katika Pascal inatumika wakati hakuna haja ya kufanya kazi na maadili hasi, sawa huenda kwa aina neno(anuwai tu ya maadili hapa ni kubwa zaidi).

Mifano ya jinsi viambishi vinavyoelezewa (vilivyotangazwa) katika Pascal:

programu a1; var x,y: integer; (integer type) myname:string; (aina ya kamba) anza x:=1; y:=x+16; jina langu:="Peter"; writeln("jina: ",jina langu, ", umri: ", y) mwisho.

Matokeo:
jina: Peter, umri: 17

Maoni katika Pascal

Angalia jinsi gani maoni hutumiwa katika Pascal. Katika maoni ya mfano, i.e. maandishi ya huduma ambayo "hayaonekani" kwa mkusanyaji imefungwa kwa braces curly. Kwa kawaida, maoni hutolewa na watayarishaji programu kuelezea vipande vya msimbo.

Jukumu la 3. Idadi ya wakazi wa Moscow ni = wakazi 9,000,000. Idadi ya watu wa New Vasyuki ni b=wakaaji 1000. Andika mpango unaoamua tofauti katika idadi ya wakazi kati ya miji miwili. Tumia Vigezo

Aina za data halisi katika Pascal

Nambari halisi katika Pascal na katika programu kwa ujumla ni jina la nambari za sehemu.

Aina Masafa Kumbukumbu inayohitajika (baiti)
halisi 2.9 * 10E-39 .. 1.7 * 10E38 6
single 1.5 * 10 E-45 .. 3.4 * 10E38 4
mara mbili 5 * 10E-324 .. 1.7 * 10E308 8
kupanuliwa 1.9 * 10E-4951 .. 1.1 * 10E4932 10

Aina halisi katika Pascal ndiyo aina halisi inayotumika sana.

Ya juu yaliwasilishwa aina rahisi za data katika Pascal, ambayo ni pamoja na:

  • Kawaida
  • Nzima
  • chemsha bongo
  • Tabia
  • Inayoorodheshwa
  • Muda
  • Kweli

Ili kuonyesha maadili ya anuwai ya aina halisi, pato la muundo kawaida hutumiwa:

  • umbizo hutumia ama nambari moja, ikionyesha idadi ya nafasi zilizogawiwa nambari hii katika fomu ya kielelezo;
  • p:=1234.6789; Andika(uk:6:2); (1234.68)

    Pamoja na aina rahisi, lugha pia hutumia aina za data zilizopangwa na viashiria, ambayo itakuwa somo la masomo yajayo juu ya Pascal.

    Mara kwa mara katika Pascal

    Mara nyingi katika programu inajulikana mapema kwamba kutofautiana kutachukua thamani maalum na haitabadilisha wakati wote wa utekelezaji wa programu nzima. Katika kesi hii, lazima utumie mara kwa mara.

    Tamko la mara kwa mara katika Pascal hutokea kabla ya tamko la vigezo (kabla ya neno la huduma ya var) na inaonekana kama hii:

    Mfano wa maelezo ya mara kwa mara katika Pascal:

    1 2 3 4 5 6 const x= 17 ; var myname: kamba; start myname: = "Peter" ; writeln("jina: ", jina langu, ", umri: ", x) mwisho.

    const x=17; var jina langu:kamba; anza jina langu:="Peter"; writeln("jina: ",jina langu, ", umri: ", x) mwisho.

    Pato "nzuri" la nambari kamili na nambari halisi

    Ili kuhakikisha kwamba baada ya kuonyesha maadili ya vigezo kuna indents, ili maadili haya "kuunganishwa" na kila mmoja, ni desturi ya kuonyesha kupitia koloni ni wahusika wangapi wanaohitaji kutolewa ili kuonyesha. thamani:


    Operesheni za hesabu huko Pascal

    Utaratibu wa uendeshaji

    1. tathmini ya maneno katika mabano;
    2. kuzidisha, mgawanyiko, div, mod kutoka kushoto kwenda kulia;
    3. kuongeza na kutoa kutoka kushoto kwenda kulia.

    Taratibu na Kazi za Hesabu za Pascal

    Hapa inafaa kukaa kwa undani zaidi juu ya shughuli zingine za hesabu.

    • Operesheni inc katika Pascal, inayotamkwa increment, ni utaratibu wa kawaida wa Pascal ambao unamaanisha kuongezeka kwa moja.
    • Mfano wa operesheni ya inc:

      x:=1; inc(x); (Huongeza x kwa 1, yaani x=2) writeln(x)

      Matumizi magumu zaidi ya utaratibu wa inc:
      Inc(x,n) ambapo x ni aina ya ordinal, n ni aina kamili; utaratibu inc nyongeza x kwa n.

    • Utaratibu wa Desemba katika Pascal hufanya kazi sawa: Dec(x) - hupungua x kwa 1 (kupungua) au Dec(x,n) - hupungua x kwa n.
    • Opereta ya abs inawakilisha moduli ya nambari. Inafanya kazi kama hii:
    • a: =- 9; b:=abs(a) ; (b=9)

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

    • Opereta wa div katika Pascal hutumiwa mara nyingi, kwa kuwa idadi ya kazi inahusisha uendeshaji wa mgawanyiko mzima.
    • Salio la mgawanyiko au opereta wa mod katika Pascal pia ni muhimu kwa kutatua shida kadhaa.
    • Ikumbukwe ni chaguo la kukokotoa la kawaida la Pascal, ambalo huamua ikiwa nambari kamili ni isiyo ya kawaida. Hiyo ni, inarudi kweli kwa nambari zisizo za kawaida, sivyo kwa nambari zilizo sawa.
    • Mfano wa kutumia kazi isiyo ya kawaida:

      var x: integer; anza x:=3; writeln(sqr(x)); (jibu 9) mwisho.

    • Uendeshaji wa ufafanuzi katika Pascal inakosekana hivyo. Lakini ili kuongeza nambari kwa nguvu, unaweza kutumia kitendakazi cha exp.
    • Fomula ni: exp(ln(a)*n), ambapo a ni nambari, n ni digrii (a>0).

      Walakini, katika mkusanyaji wa Pascal abc, ufafanuzi ni rahisi zaidi:

      var x: integer; anza x:=9; writeln(sqrt(x)); (jibu 3) mwisho.

    Jukumu la 4. Vipimo vya sanduku la mechi vinajulikana: urefu - 12.41 cm, upana - 8 cm, unene - 5 cm. Mahesabu ya eneo la msingi wa sanduku na kiasi chake.
    (S=upana*unene, V=eneo*urefu)

    Jukumu la 5. Bustani ya wanyama ina tembo watatu na sungura wachache, huku idadi ya sungura ikibadilika mara kwa mara. Tembo anatakiwa kula karoti mia moja kwa siku, na sungura - mbili. Kila asubuhi, mlinzi wa zoo anaiambia kompyuta idadi ya sungura. Kompyuta, kwa kukabiliana na hili, lazima imwambie mhudumu jumla ya idadi ya karoti zinazohitaji kulishwa kwa sungura na tembo leo.

    Jukumu la 6. Inajulikana kuwa x kilo ya gharama za pipi a rubles Kuamua ni kiasi gani cha gharama y kilo ya pipi hizi, na pia kilo ngapi za pipi zinaweza kununuliwa k rubles Thamani zote zinaingizwa na mtumiaji.

    3.2. Aina rahisi za data katika Turbo Pascal 7

    Aina rahisi hufafanua seti iliyoamuru ya maadili ya parameta. Turbo Pascal ina vikundi vifuatavyo vya aina rahisi:

    • aina kamili;
    • aina ya boolean;
    • aina ya tabia;
    • aina iliyohesabiwa;
    • aina ya aina;
    • aina halisi.

    Aina zote rahisi, isipokuwa aina halisi, huitwa aina za ordinal. Kwa idadi ya aina za kawaida, taratibu na utendaji wa kawaida hufafanuliwa: Dec, Inc, Ord, Pred, Succ (ona sehemu ya 13.1).

    3.2.1. Aina kamili

    Tofauti na Pascal, ambayo inafafanua aina moja ya integer, Integer, Turbo Pascal ina aina tano za kawaida za integer: Shortint, Integer, Longint, Byte, Word. Tabia za aina hizi zinaonyeshwa kwenye jedwali. 2.

    Jedwali 2. Aina za data kamili

    Aina Masafa Umbizo Ukubwa katika baiti
    Shortint -128 .. 127 Alama 1
    Nambari kamili -32768 .. 32767 Alama 2
    Muda mrefu -2147483648 .. 2147483647 Alama 4
    Byte 0 .. 255 Haijatiwa saini 1
    Neno 0 .. 65535 Haijatiwa saini 2

    3.2.2. Aina ya Boolean

    Aina ya kawaida ya Boolean (ukubwa - 1 byte) ni aina ya data, kipengele chochote ambacho kinaweza kuchukua maadili mawili tu: Kweli na Uongo. Katika kesi hii, hali zifuatazo ni halali:
    Agizo la Uongo (Uongo) = 0
    Amri (Kweli) = 1
    Succ (Uongo) = Kweli
    Pred (Kweli) = Uongo

    Turbo Pascal 7.0 aliongeza aina tatu zaidi za kimantiki ByteBool (ukubwa - 1 byte), WordBool (ukubwa - 2 ka) na LongBool (ukubwa - 4 byte). Zilianzishwa kwa kuunganishwa na lugha zingine za programu na mazingira ya Windows. Tofauti yao kutoka kwa aina ya kawaida ya Boolean ni thamani halisi ya parameter ya aina hii, inayofanana na thamani Kweli. Kwa aina zote za kimantiki, thamani ya Uongo inalingana na nambari 0, iliyoandikwa kwa idadi inayolingana ya ka. Thamani ya Kweli kwa aina ya Boolean inalingana na nambari 1 iliyoandikwa kwa baiti yake, na kwa aina zingine thamani ya Kweli inalingana na nambari yoyote isipokuwa sifuri (ingawa chaguo la kukokotoa la Ord katika kesi hii linatoa thamani 1).

    3.2.3. Aina ya tabia

    Aina ya herufi ya kawaida ya Char inafafanua seti kamili ya herufi za ASCII. Chaguo za kukokotoa za Ord kutoka kwa thamani ya aina ya Char hutoa msimbo wa herufi inayolingana. Maadili ya aina ya wahusika hulinganishwa kulingana na nambari zao.

    3.2.4. Aina ya Enum

    Aina iliyoorodheshwa si ya kawaida na inafafanuliwa na seti ya vitambulishi ambavyo thamani za vigezo zinaweza kuendana. Orodha ya vitambulisho imeonyeshwa kwenye mabano, vitambulishi vinatenganishwa na koma:

    aina
    = ();)

    Ni muhimu kwa utaratibu gani vitambulisho vimeorodheshwa wakati wa kufafanua aina, kwa sababu kitambulisho cha kwanza kinapewa nambari ya serial 0, ya pili - 1, nk Kitambulisho sawa kinaweza kutumika katika ufafanuzi wa aina moja tu iliyoorodheshwa. Chaguo za kukokotoa za Ord kutoka kwa thamani ya aina iliyoorodheshwa hutoa nambari ya ordinal ya thamani yake.

    Mfano. Aina iliyohesabiwa.

    aina Operesheni = (Plus, Minus, Mult, Gawanya);

    Aina ya boolean ni kesi maalum ya aina iliyoorodheshwa:

    aina Boolean = (Uongo, Kweli);

    3.2.5. Aina mbalimbali

    Katika aina yoyote ya ordinal, unaweza kuchagua seti ndogo ya maadili, iliyofafanuliwa na maadili ya chini na ya juu, ambayo yanajumuisha maadili yote ya aina ya awali ambayo ni ndani ya mipaka hii, ikiwa ni pamoja na mipaka yenyewe. Seti ndogo hii inafafanua aina ya masafa. Aina ya safu imebainishwa kwa kubainisha thamani za chini kabisa na za juu zaidi, zikitenganishwa na nukta mbili:

    aina =. . ;

    Thamani ya chini wakati wa kufafanua aina hii haipaswi kuwa kubwa kuliko kiwango cha juu.

    Mfano. Ufafanuzi wa aina mbalimbali.

    aina
    Dazeni = 1..12; (nambari kutoka 1 hadi 12)
    AddSub = Plus..Minus; (operesheni za kuongeza na kutoa)

    3.2.6. Aina halisi

    Tofauti na kiwango cha lugha ya Pascal, ambapo aina moja tu halisi hufafanuliwa, Turbo Pascal ina aina tano halisi za kawaida: Real, Single, Double, Extended, Comp. Kwa sifa za aina hizi, angalia jedwali. 3. Jedwali 3. Aina za data halisi

    Aina Masafa Idadi ya takwimu muhimu Ukubwa katika baiti
    Kweli 2.9*10-39..1.7*1038 11-12 6
    Mtu mmoja 1.5*10-45..3.4*1038 7-8 4
    Mara mbili 5.0*10-324.-1.7*10308 15-16 8
    Imepanuliwa 3.4*10-4932..1.1*104932 19-20 10
    Comp -263+1..263-1 19-20 8

    Aina ya Comp kwa kweli ni aina kamili ya masafa iliyopanuliwa, lakini haichukuliwi kama aina ya kawaida.

    Aina za Moja, Mbili, Zilizopanuliwa na Comp zinaweza kutumika katika programu tu ikiwa kuna kichakataji cha hesabu au ikiwa kiigaji kichakataji kimewashwa (ona aya 17.5.8 na 17.7.1).

    MUHADHARA WA 2

    Misingi ya programu.

    Utangulizi wa Pascal. Aina za data. Uendeshaji.

    Alfabeti ya lughaPascal

    Lugha yoyote asilia ina vipengele kama vile ishara, maneno, vishazi na sentensi. Lugha ya programu pia ina vipengele sawa: alama, maneno, maneno (misemo), waendeshaji (sentensi).

    Maneno huundwa kutoka kwa mkusanyiko wa alama. Maneno - haya ni makundi ya maneno, na waendeshaji - Hizi ni mchanganyiko wa maneno na misemo. Alama za lugha ni alama za kimsingi (herufi) ambazo hutumiwa kutunga baadhi ya matini. Kwa hivyo, seti ya alama hizi huunda alfabeti ya lugha.

    Alfabeti ya Pascal inajumuisha:

    1.herufi kubwa na ndogo za alfabeti ya Kilatini, ambayo inajumuisha herufi zifuatazo:

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - herufi kubwa;

    A b c d e f g h i j k l m n o p q r s t u v w x y z - herufi ndogo;

    2. decimal tarakimu za Kiarabu: 0 1 2 3 4 5 6 7 8 9;

    3. tarakimu za hexadecimal (zilizojengwa kutoka kwa tarakimu na barua kutoka A hadi F);

    4. 32 herufi kubwa na ndogo za alfabeti ya Kirusi;

    5. herufi maalum:

    Mchanganyiko wa wahusika maalum unaweza kuunda wahusika mchanganyiko:

    : = kazi;

    < >si sawa;

    >= kubwa kuliko au sawa na;

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

    Msururu wa maadili;

    (* *) au ( ) - maoni.

    Muundo wa mpango wa Pascal

    Ili mkusanyaji wa Passal aelewe kwa usahihi ni hatua gani zinazotarajiwa kutoka kwake, mpango wako lazima uumbizwa kulingana na syntax (sheria za ujenzi wa programu) ya lugha hii.

    Mpango wowote wa Pascal unaweza kuwa na vizuizi vifuatavyo (sehemu za hiari zimetiwa alama na mabano ya mraba hapo baadaye):

    programu<имя_программы>;

    [hutumia<имена_подключаемых_модулей>;]

    [ lebo<список_меток>;]

    [ const<имя_константы> = <значение_константы>;]

    [aina<имя_типа> = <определение_типа>;]

    [var<имя_переменной> : <тип_переменной>;]

    [utaratibu<имя_процедуры> <описание_процедуры>;]

    [ kazi<имя_функции> <описание_функции>;]

    anza (mwanzo wa chombo kikuu cha programu)

    <операторы>

    mwisho. (* mwisho wa sehemu kuu ya programu *)

    Matoleo ya baadaye ya wakusanyaji wa lugha ya Pascal hayahitaji tena kutaja jina la programu, yaani, mstari wa programu<имя_программы>; inaweza kuachwa. Lakini hii inawezekana tu ikiwa programu nzima iko kwenye faili moja ya moduli. Ikiwa mpango una vipande kadhaa vya kujitegemea - modules, basi kila mmoja wao lazima awe na kichwa (mpango au kitengo).

    Sehemu yoyote ya hiari iliyoorodheshwa inaweza kuonekana zaidi ya mara moja katika maandishi ya programu, mlolongo wao wa jumla unaweza pia kubadilika, lakini kanuni kuu ya lugha ya Pascal lazima ifuatwe daima: kabla ya kitu kutumika, lazima itangazwe na kuelezewa.

    Wakusanyaji wa Pascal hawatofautishi kati ya herufi ndogo na kubwa na hupuuza herufi za nafasi nyeupe, kwa hivyo maandishi ya programu yanaweza kupangwa kwa njia ambayo itaifanya iwe rahisi kusoma na kutatua.

    Maagizo ya mkusanyaji

    Mstari unaoanza na alama ($ sio maoni, lakini maagizo ya mkusanyaji - amri maalum ambayo mchakato wa ujumuishaji na utekelezaji wa programu inategemea. Tutazingatia maagizo katika sehemu hizo ambayo yanahusiana "kwa maana".

    Kwa mfano, mstari ($I-,Q+) huzima uthibitishaji wa I/O lakini huwezesha udhibiti wa kufurika kwa hesabu.

    Vitambulisho

    Majina yaliyopewa vitu vya programu (mara kwa mara, aina, vigezo, kazi na taratibu, na programu nzima) huitwa vitambulisho. Zinaweza tu kujumuisha nambari, herufi za Kilatini na ishara "_" (chini). Walakini, nambari haiwezi kuanza jina. Vitambulisho vinaweza kuwa na urefu wowote, lakini ikiwa majina mawili yana herufi 63 za kwanza, basi majina huchukuliwa kuwa sawa.

    Unaweza kupeana vitu vya programu yako jina lolote, lakini lazima uhakikishe kuwa ni tofauti na maneno yaliyohifadhiwa yaliyotumiwa na Pascal, kwa sababu mkusanyaji bado hatakubali vigeuzo vilivyo na majina ya "kigeni".

    Hapa kuna orodha ya maneno ya kawaida yaliyohifadhiwa:

    utekelezaji wa safu shl

    kamba ya kiolesura cha kesi

    const label basi

    kiashiria cha faili hutumia

    utaratibu wa mbali var

    kwa programu wakati

    mbele rekodi na

    kazi kurudia xor

    Vigezo na aina za data

    Tofauti ni kitu cha programu ambacho thamani yake inaweza kubadilika wakati programu inaendesha.

    Aina ya data ni sifa ya anuwai ya thamani ambazo vigeu vya aina hiyo vya data vinaweza kuchukua.

    Vigezo vyote vinavyotumiwa katika programu lazima vielezewe katika sehemu maalum ya var kwa kutumia kiolezo kifuatacho:

    var<имя_переменной_1> [, <имя_переменной_2, _>] : <имя_типа_1>;

    <имя_переменной_3> [, <имя_переменной_4, _>] : <имя_типа_2>;

    Lugha ya Pascal ina seti kubwa ya aina tofauti za data, lakini sasa tutaonyesha chache tu kati yao. Tutazungumza juu ya aina zote za data zaidi.

    Mara kwa mara

    Mara kwa mara ni kitu ambacho thamani yake inajulikana kabla ya programu kuanza kufanya kazi.

    Mara kwa mara ni muhimu kwa muundo wa programu za kuona, ni muhimu wakati wa kutumia maadili yaliyorudiwa mara kwa mara katika maandishi ya programu, na ni rahisi ikiwa ni muhimu kubadilisha maadili haya katika programu nzima mara moja.

    Kuna aina tatu za mara kwa mara katika Pascal:

    Vipengele visivyo na jina (tarakimu na nambari, alama na masharti, seti);

    Aitwaye constants zisizoandikwa;

    Alama zilizochapwa zilizopewa jina.

    Mara kwa Mara Isiyotajwa

    Vipindi visivyo na majina havina majina na kwa hivyo havihitaji kutangazwa.

    Aina ya mara kwa mara isiyo na jina imedhamiriwa kiatomati, kwa chaguo-msingi:

    Mfuatano wowote wa nambari (labda hutanguliwa na ishara "-" au "+", au iliyogawanywa na nukta moja) hutambuliwa na mkusanyaji kama nambari isiyobadilika isiyo na jina - nambari (jumla au halisi);

    Mfuatano wowote wa herufi zilizoambatanishwa katika apostrofi huchukuliwa kama mfuatano usio na jina - kamba;

    Mfuatano wowote wa nambari kamili au alama zinazotenganishwa na koma, zikiwa zimeandaliwa na mabano ya mraba, huchukuliwa kuwa nambari isiyobadilika isiyo na jina - seti.

    Kwa kuongeza, kuna viambishi viwili maalum vya kweli na sivyo vinavyohusiana na aina ya data ya Boolean.

    Mifano ya kutumia vidhibiti visivyo na majina ni pamoja na waendeshaji wafuatao:

    halisi2:= 12.075 + x;

    string4:= "abc" + string44;

    set5:= * set55;

    boolean6:= kweli;

    Vipindi Visivyochapishwa

    Viunga vilivyopewa jina, kama jina lao linavyopendekeza, lazima ziwe na jina. Kwa hivyo, majina haya lazima yaripotiwe kwa mkusanyaji, ambayo ni, iliyoelezewa katika sehemu maalum ya const.

    Ikiwa hutaja aina ya mara kwa mara, basi kwa kuonekana kwake mkusanyaji yenyewe ataamua ni aina gani (msingi) inapaswa kupewa. Yoyote ya mara kwa mara ambayo tayari imeelezwa inaweza kutumika wakati wa kutangaza vipengele vingine, vigezo na aina za data. Hapa kuna mifano kadhaa ya kuelezea viboreshaji visivyo na jina:

    Vipindi Vilivyoandikwa

    Vigezo vilivyowekwa alama ni vigeu (!) vyenye thamani ya awali ambayo tayari inajulikana wakati programu inapoanza. Kwa hivyo, kwanza, viboreshaji vilivyochapwa haviwezi kutumiwa kufafanua vidhibiti vingine, aina za data na vijiwezo, na pili, maadili yao yanaweza kubadilishwa wakati programu inaendelea.

    Vipindi vilivyoandikwa vinaelezewa kwa kutumia kiolezo kifuatacho:

    const<имя_константы> : <тип_константы> = <начальное_значение>;

    Mifano hapa chini inaonyesha jinsi ya kufanya hivi:

    const n: nambari kamili = -10;

    b: boolean = kweli;

    Tutatoa mifano ya vibadilishi vilivyochapwa vya aina nyingine tunaposoma aina za data zinazolingana.

    Aina za data za Pascal

    Wakusanyaji wa Pascal wanahitaji kwamba taarifa kuhusu kiasi cha kumbukumbu kinachohitajika ili kuendesha programu itolewe kabla ya kuendeshwa. Ili kufanya hivyo, katika sehemu ya maelezo ya kutofautiana (var), unahitaji kuorodhesha vigezo vyote vinavyotumiwa katika programu. Kwa kuongezea, unahitaji pia kumwambia mkusanyaji ni kumbukumbu ngapi kila moja ya anuwai hizi itachukua.

    Yote hii inaweza kuwasilishwa kwa programu kwa kuonyesha tu aina ya kutofautisha kwa siku zijazo. Kuwa na habari juu ya aina ya kutofautisha, mkusanyaji "anaelewa" ni ka ngapi zinahitaji kutengwa kwa ajili yake, ni hatua gani zinaweza kufanywa nayo, na katika ujenzi gani inaweza kushiriki.

    Kwa urahisi wa waandaaji wa programu, Pascal ina aina nyingi za data za kawaida na, kwa kuongeza, uwezo wa kuunda aina mpya za data kulingana na zilizopo (kawaida au tena hufafanuliwa na programu mwenyewe), ambayo huitwa kujengwa.

    Mgawanyiko katika aina za data za kimsingi na iliyoundwa katika Pascal unaonyeshwa kwenye jedwali:

    Aina za data za kawaida (za kipekee).

    Aina za data za anwani

    Aina za Data Iliyoundwa

    Aina za data za hesabu

    Aina za Takwimu za Msingi

    Mantiki

    Ya ishara

    Kweli

    Netipizi

    indexed

    Aina zilizoundwa

    Inayoorodheshwa

    wiki = (su, mo, tu, sisi, th, fr,sa);

    Kielekezi kilichoandikwa

    Safu

    Kamba ya kamba

    rekodi

    Kitaratibu

    Kitu

    Muda (safu)

    Aina za Data Iliyoundwa na Msanidi Programu

    Aina za data za kawaida

    Miongoni mwa aina za data za msingi, aina za kawaida zinajitokeza. Jina hili linaweza kuhesabiwa haki kwa njia mbili:

    1. Kila kipengele cha aina ya ordinal kinaweza kuhusishwa na nambari ya kipekee (ya kawaida). Idadi ya maadili huanza kutoka sifuri. Isipokuwa ni aina za data fupi, kamili na ndefu. Nambari zao zinalingana na maadili ya vitu.

    2. Kwa kuongeza, juu ya vipengele vya aina yoyote ya ordinal, utaratibu hufafanuliwa (kwa maana ya hisabati ya neno), ambayo inategemea moja kwa moja na hesabu. Kwa hivyo, kwa vipengele viwili vya aina ya ordinal, mtu anaweza kusema hasa ni ipi kati yao ni ndogo na ambayo ni kubwa.

    Taratibu za kawaida zinazoshughulikia aina za data za kawaida

    Kazi na taratibu zifuatazo zinafafanuliwa tu kwa aina za kawaida:

    1. Chaguo za kukokotoa za ord(x) hurejesha nambari ya ordinal ya thamani ya kigezo x (inayohusiana na aina ambayo kigezo cha x kinahusika).

    2. Chaguo za kukokotoa pred(x) hurejesha thamani iliyotangulia x (haitumiki kwa kipengele cha kwanza cha aina).

    3. Chaguo za kukokotoa succ(x) hurejesha thamani ifuatayo x (haitumiki kwa kipengele cha mwisho cha aina).

    4. Utaratibu inc(x) hurejesha thamani ifuatayo x (kwa aina za data za hesabu hii ni sawa na opereta x:=x+1).

    5. Utaratibu inc(x,k) hurejesha thamani ya kth ifuatayo x (kwa aina za data za hesabu hii ni sawa na opereta x:=x+k).

    6.Taratibu dek(x) hurejesha thamani iliyotangulia x (kwa aina za data za hesabu hii ni sawa na opereta x:=x-1).

    7.Taratibu dek(x,k) hurejesha thamani ya k-e iliyotangulia x (kwa aina za data za hesabu hii ni sawa na opereta x:=x-k).

    Kwa mtazamo wa kwanza, inaonekana kwamba matokeo ya kutumia inc(x) utaratibu ni sawa na matokeo ya kutumia succ(x) kazi. Walakini, tofauti kati yao inaonekana kwenye mipaka ya safu inayoruhusiwa. Kazi ya succ(x) haitumiki kwa kipengele cha juu cha aina, lakini utaratibu wa inc(x) hautatoa makosa yoyote, lakini, kwa kufuata sheria za kuongeza mashine, itaongeza inayofuata kwa nambari ya kipengele. . Nambari, bila shaka, itatoka nje ya masafa na, kwa sababu ya kupunguzwa, itageuka kuwa nambari ya thamani ya chini ya masafa. Inabadilika kuwa taratibu inc() na dec() huona aina yoyote ya ordinal kana kwamba "imefungwa kwa pete": mara tu baada ya thamani ya mwisho huja thamani ya kwanza tena.

    Hebu tueleze kila kitu ambacho kimesemwa kwa mfano. Kwa aina ya data

    aina ya kumi na sita = 0..15;

    kujaribu kuongeza 1 kwa nambari 15 itatoa matokeo yafuatayo:

    Sehemu ya awali itakatwa, na kwa hivyo inageuka kuwa inc(15)=0.

    Hali sawa katika kikomo cha chini cha safu inayoruhusiwa ya aina ya data ya kawaida huzingatiwa kwa utaratibu dec(x) na chaguo la kukokotoa pred(x):

    dec(min_element)= max_element

    Aina za data zinazohusiana na ordinal

    1. Aina ya boolean ina thamani mbili: uongo na kweli, na usawa ufuatao unazishikilia:

    ord(false)=0, ord(kweli)=1, uongo

    pred(kweli)=uongo, succ(uongo)=kweli,

    inc(kweli)=uongo, inc(uongo)=kweli,

    dec(kweli)=uongo, dec(uongo)=kweli.

    2. Aina ya herufi ina herufi 256 za ASCII zilizopanuliwa (kwa mfano, "a", "b", "i", "7", "#"). Nambari ya herufi iliyorejeshwa na kitendakazi cha ord() ni sawa na nambari ya herufi kwenye jedwali la ASCII.

    3. Wacha tufanye muhtasari wa aina kamili za data kwenye jedwali:

    Aina ya data

    Idadi ya baiti

    Masafa

    2147483648..2147483647

    4. Aina za data zilizohesabiwa zimebainishwa katika sehemu ya aina kwa kuorodhesha vipengele vyake kwa uwazi. Kwa mfano:

    aina wiki =(jua,mon,tue,wed,thu,fri,sat)

    Kumbuka kwamba kwa aina hii ya data:

    inc(sat) = jua, dec(jua) = sat.

    5. Aina za data za muda zinatajwa tu na mipaka ya masafa yao. Kwa mfano:

    aina mwezi = 1..12;

    budni = mon..fri;

    6. Aina za data zilizoundwa na mtayarishaji programu zimefafanuliwa katika sehemu ya aina kulingana na muundo ufuatao:

    aina<имя_типа> = <описание_типа>;

    Kwa mfano:

    chapa lat_bukvy = "a".."z","A".."Z";

    Aina za data za msingi ni za kawaida, kwa hivyo hakuna haja ya kuzielezea katika sehemu ya aina. Walakini, ikiwa inataka, hii inaweza pia kufanywa, kwa mfano, kwa kutoa ufafanuzi mrefu majina mafupi. Wacha tuseme kwa kuanzisha aina mpya ya data

    chapa int = nambari kamili;

    Unaweza kufupisha maandishi ya programu kidogo.

    Aina za data halisi

    Kumbuka kuwa aina hizi za data ni za hesabu, sio za kawaida.

    Aina ya data

    Idadi ya baiti

    Masafa (thamani kamili)

    1.5*10-45..3.4*1038

    2.9*10-39..1.7*1038

    5.0*10-324..1.7*10308

    3.4*10-4932..1.1*104932

    Aina za data zilizoundwa

    Tutazingatia aina hizi za data (pamoja na shughuli zilizofafanuliwa kwao) zaidi katika kipindi cha mihadhara kadhaa.

    Operesheni na Maonyesho

    Shughuli za hesabu

    Hebu tuzungumze kuhusu uendeshaji - vitendo vya kawaida vinavyoruhusiwa kwa vigezo vya aina moja au nyingine ya msingi ya data. Msingi utakuwa shughuli za hesabu na mantiki.

    Kumbuka: Waendeshaji wote walioorodheshwa hapa chini (isipokuwa kwa unary "-" na sio) wanahitaji operesheni mbili.

    1. Shughuli za kimantiki (na - za kimantiki NA, au - za kimantiki AU, si - za kimantiki SI, xor - kipekee AU) zinatumika tu kwa maadili ya aina ya boolean. Pia husababisha maadili ya boolean. Hapa kuna majedwali ya maadili ya shughuli hizi:

    kweli uongo ukweli

    uongo uongo uongo

    uongo wa kweli

    2. Operesheni za kulinganisha (=,<>, >, <, <=, >=) inatumika kwa aina zote za kimsingi. Matokeo yao pia ni maadili ya boolean.

    3. Uendeshaji wa hesabu kamili hutumika tu kwa aina kamili. Matokeo yao ni nambari kamili ambayo aina inategemea aina za operesheni.

    div b - mgawanyiko wa a na b kabisa (labda hakuna haja ya kukukumbusha kuwa mgawanyiko na 0 ni marufuku, kwa hivyo katika hali kama hizi operesheni hutoa kosa). Matokeo yatakuwa ya aina ya data ya kawaida kwa aina ambazo waendeshaji ni.

    Kwa mfano, (shortint div byte = integer). Hii inaweza kuelezewa kwa njia hii: nambari kamili ni aina ndogo ambayo byte na shortint ni sehemu ndogo.

    mod b - kuchukua salio wakati wa kugawanya a na b. Aina ya matokeo, kama ilivyo katika kesi ya awali, imedhamiriwa na aina za uendeshaji, na 0 ni thamani isiyo halali ya b. Tofauti na mod ya operesheni ya hisabati, matokeo ambayo daima ni nambari isiyo hasi, ishara ya matokeo ya "programmer" mod ya operesheni imedhamiriwa na ishara ya operesheni yake ya kwanza. Kwa hivyo, ikiwa katika hisabati (-2 mod 5) = 3, basi tuna (-2 mod 5) = -2.

    a shl k - badilisha thamani ya biti kwa k kwenda kushoto (hii ni sawa na kuzidisha thamani ya kutofautisha a kwa 2k). Matokeo ya operesheni yatakuwa ya aina sawa na operesheni zake za kwanza.

    a shr k - huhamisha thamani ya a by k bits kwenda kulia (hii ni sawa na kugawanya thamani ya kutofautisha a na 2k kabisa). Matokeo ya operesheni yatakuwa ya aina sawa na operesheni zake za kwanza.

    na, au, sio, xor - shughuli za hesabu za binary zinazofanya kazi na bits za uwakilishi wa binary wa nambari kamili, kulingana na sheria sawa na shughuli za kimantiki zinazofanana.

    4. Shughuli za jumla za hesabu (+, -, *, /) zinatumika kwa aina zote za hesabu. Matokeo yao ni ya aina ya data ya kawaida kwa waendeshaji zote mbili (isipokuwa tu ni operesheni ya mgawanyiko wa sehemu /, matokeo yake ambayo kila wakati ni aina halisi ya data).

    Shughuli nyingine

    Kuna utendakazi mwingine maalum kwa thamani za baadhi ya aina za data za Pascal. Tutazingatia shughuli hizi katika sehemu zinazofaa:

    #, katika, +, *, : tazama muhadhara wa 5 “Alama. Mistari. Umati"

    @, ^: ona mhadhara wa 7 “Anwani na viashiria”

    Kazi za kawaida za hesabu

    Uendeshaji wa hesabu pia hujumuisha utendaji wa kawaida wa hesabu. Tunatoa orodha yao na maelezo mafupi kwenye jedwali.

    Kazi

    Maelezo

    Aina ya hoja

    Aina ya matokeo

    Thamani kamili (moduli) ya nambari

    Hesabu

    Sawa na aina ya hoja

    Arctangent (katika radiani)

    Hesabu

    Kweli

    Cosine (katika radiani)

    Hesabu

    Kweli

    Kipeo (ex)

    Hesabu

    Kweli

    Kuchukua sehemu ya sehemu ya nambari

    Hesabu

    Kweli

    Kuchukua sehemu nzima ya nambari

    Hesabu

    Kweli

    Logarithm asili (msingi e)

    Hesabu

    Kweli

    Inakagua ikiwa nambari ni isiyo ya kawaida

    Maana ya nambari

    Kweli

    Zungusha hadi nambari kamili iliyo karibu zaidi

    Hesabu

    Zungusha chini - kwa nambari ndogo iliyo karibu zaidi

    Hesabu

    Sine (katika radiani)

    Hesabu

    Kweli

    Squaring

    Hesabu

    Kweli

    Kipeo

    Hesabu

    Kweli

    Vielezi vya Hesabu

    Shughuli zote za hesabu zinaweza kuunganishwa na kila mmoja - bila shaka, kwa kuzingatia aina za data zinazoruhusiwa kwa uendeshaji wao.

    Uendeshaji wa operesheni yoyote inaweza kuwa vigeu, viunga, simu za utendakazi, au misemo iliyojengwa kwa misingi ya shughuli zingine. Yote kwa pamoja inaitwa usemi.

    Mifano ya maneno ya hesabu:

    (x<0) and (y>0) - usemi ambao matokeo yake ni ya aina ya boolean;

    z shl abs(k) - operesheni ya pili ni wito kwa kazi ya kawaida;

    (x mod k) + min(a,b) + trunc(z) - mchanganyiko wa shughuli za hesabu na simu za kazi;

    odd(round(x/abs(x)))) - usemi wa "hadithi nyingi".

    Agizo la hesabu

    Ikiwa usemi una mabano, basi mahesabu yanafanywa kwa utaratibu ufuatao: ndogo ya kina cha kiota cha mabano, baadaye operesheni iliyofungwa ndani yao inahesabiwa. Ikiwa hakuna mabano, basi maadili ya shughuli zilizo na kipaumbele cha juu huhesabiwa kwanza, kisha zile zilizo na kipaumbele cha chini. Uendeshaji kadhaa mfululizo wa kipaumbele sawa huhesabiwa kwa mlolongo kutoka kushoto kwenda kulia.

    Jedwali 2.1. Vipaumbele (kwa wote) shughuli za Pascal

    Aina ya data hufafanua seti ya thamani halali na seti ya utendakazi halali.

    Aina rahisi.

    Aina rahisi zimegawanywa katika ORDINAL na REAL.

    1. AINA ZA AMRI , kwa upande wake, kuna:

    nzima

    Pascal anafafanua aina 5 kamili, ambazo hufafanuliwa kulingana na ishara na thamani ambayo kigezo kitachukua.

    Andika jina

    Urefu (katika baiti)

    Msururu wa maadili

    32 768...+32 767

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

    b) kimantiki

    Jina la aina hii ni BOOLEAN. Thamani za Boolean zinaweza kuwa mojawapo ya viambajengo vya Boolean: TRUE (kweli) au FALSE (sivyo).

    c) ishara

    Jina la aina hii ni CHAR - inachukua 1 byte. Thamani ya aina ya mhusika ni seti ya wahusika wote wa Kompyuta. Kila herufi imepewa nambari kamili katika safu 0…255. Nambari hii hutumika kama msimbo wa uwakilishi wa ndani wa ishara.

    2. AINA HALISI .

    Tofauti na aina za kawaida, ambazo maadili yao yanaonyeshwa kila wakati kwa safu ya nambari na kwa hivyo huwakilishwa kwa usahihi kabisa kwenye PC, maadili ya aina halisi hufafanua nambari ya kiholela tu kwa usahihi fulani kulingana na muundo wa ndani wa nambari halisi. .

    Urefu wa aina ya data ya nambari, baiti

    Nambari ya aina ya jina la data

    Idadi ya tarakimu muhimu za aina ya data ya nambari

    Mpangilio wa nambari ya aina ya data ya nambari

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

    AINA ZILIZOJULIWA

    Aina za data zilizopangwa hufafanua mkusanyiko uliopangwa wa vigezo vya scalar na vinajulikana na aina ya vipengele vyao.

    Aina za data zilizoundwa, tofauti na rahisi, hufafanua maadili mengi changamano na jina moja la kawaida. Tunaweza kusema kwamba aina za miundo huamua njia fulani ya kuunda aina mpya kutoka kwa zilizopo.

    Kuna mbinu kadhaa za muundo. Kwa mujibu wa njia ya shirika na aina ya vipengele katika aina za data ngumu, aina zifuatazo zinajulikana: aina ya kawaida (safu); aina ya pamoja (rekodi); aina ya faili (faili); aina nyingi; aina ya kamba (kamba); katika toleo la lugha ya Turbo Pascal 6.0 na zaidi, aina ya kitu (vitu) ilianzishwa.

    Tofauti na aina za data rahisi, data ya aina iliyopangwa ina sifa ya wingi wa vipengele vinavyounda aina hii, i.e. kutofautiana au mara kwa mara ya aina iliyopangwa daima ina vipengele vingi. Kila sehemu, kwa upande wake, inaweza kuwa ya aina iliyopangwa, i.e. kuota kwa aina kunawezekana.

    1. Safu

    Mkusanyiko katika Turbo Pascal kwa njia nyingi ni sawa na aina sawa za data katika lugha zingine za programu. Kipengele tofauti cha safu ni kwamba vifaa vyake vyote ni data ya aina moja (ikiwezekana muundo). Vipengele hivi vinaweza kupangwa kwa urahisi na yoyote kati yao inaweza kupatikana kwa kutaja nambari ya serial.

    Maelezo ya safu yameainishwa kama ifuatavyo:

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

    Hapa<имя типа>- kitambulisho sahihi;

    Safu, ya - maneno yaliyohifadhiwa (safu, kutoka);

    <сп.инд.типов>- orodha ya aina moja au zaidi ya index, kutengwa na koma; mabano ya mraba yanayounda orodha ni hitaji la kisintaksia;

    <тип>- aina yoyote ya Turbo Pascal.

    Aina zozote za kawaida zinaweza kutumika kama aina za faharasa katika Turbo Pascal, isipokuwa LongInt na aina mbalimbali zilizo na aina ya msingi ya LongInt.

    Kina cha kuota kwa aina zilizoundwa kwa ujumla, na kwa hivyo ya safu, ni ya kiholela, kwa hivyo idadi ya vipengee katika orodha ya faharisi za aina (sawio la ukubwa) sio mdogo, hata hivyo, urefu wa jumla wa uwakilishi wa ndani wa safu yoyote haiwezi. kuwa zaidi ya ka 65520.

    2. Rekodi

    Rekodi ni muundo wa data unaojumuisha idadi isiyobadilika ya vipengele vinavyoitwa sehemu za rekodi. Tofauti na safu, vipengele (mashamba) ya rekodi inaweza kuwa ya aina tofauti. Ili kufanya iwezekanavyo kutaja sehemu moja au nyingine ya rekodi, mashamba yanaitwa.

    Muundo wa tamko la aina ya chapisho ni:

    < Jinaaina>=REKODI< ushirikiano. mashamba>MWISHO

    Hapa<имя типа>- kitambulisho sahihi;

    REKODI, MWISHO - maneno yaliyohifadhiwa (rekodi, mwisho);

    <сп.полей>- orodha ya mashamba; ni mfuatano wa sehemu za rekodi zilizotenganishwa na nusu koloni.

    3. Seti

    Seti ni seti ya vitu vya aina moja ambavyo vinaunganishwa kimantiki kwa kila mmoja. Asili ya miunganisho kati ya vitu inaonyeshwa tu na kipanga programu na haidhibitiwi kwa njia yoyote na Turbo Pascal. idadi ya vipengele vilivyojumuishwa katika seti vinaweza kutofautiana kutoka 0 hadi 256 (seti ambayo haina vipengele inaitwa tupu) Ni kutofautiana kwa idadi ya vipengele vyake ambavyo huweka tofauti na safu na rekodi.

    Seti mbili zinachukuliwa kuwa sawa ikiwa na tu ikiwa vipengele vyao vyote ni sawa, na utaratibu wa vipengele vya seti haujali. Ikiwa vipengele vyote vya seti moja pia vimejumuishwa katika nyingine, seti ya kwanza inasemekana kujumuishwa katika pili.

    Maelezo ya aina ya seti ni:

    < Jinaaina>=SETI YA< misingi. aina>

    Hapa<имя типа>- kitambulisho sahihi;

    SET, OF - maneno yaliyohifadhiwa (kuweka, kutoka);

    <баз.тип>- aina ya msingi ya vipengele vya kuweka, ambayo inaweza kuwa aina yoyote ya ordinal isipokuwa WORD, INTEGER na LONGINT.

    Ili kufafanua seti, kinachojulikana kama mjenzi wa kuweka hutumiwa: orodha ya vipimo vya vipengele vya kuweka, vinavyotenganishwa na koma; orodha imezungukwa na mabano ya mraba. Vipimo vya kipengele vinaweza kuwa vibadilishi au vielezi vya aina ya msingi, pamoja na aina mbalimbali za aina ya msingi sawa.

    4. Faili

    Faili inaeleweka kama eneo lililopewa jina la kumbukumbu ya nje ya Kompyuta, au kifaa cha kimantiki - chanzo kinachowezekana au mpokeaji wa habari.

    Faili yoyote ina sifa tatu

      ina jina, ambayo inaruhusu programu kufanya kazi na faili kadhaa wakati huo huo.

      ina vipengele vya aina moja. Aina ya sehemu inaweza kuwa aina yoyote ya Turbo Pascal, isipokuwa faili. Kwa maneno mengine, huwezi kuunda "faili ya faili."

      urefu wa faili mpya iliyoundwa haijainishwa kwa njia yoyote inapotangazwa na imepunguzwa tu na uwezo wa vifaa vya kumbukumbu ya nje.

    Aina ya faili au utofauti wa aina ya faili unaweza kubainishwa katika mojawapo ya njia tatu:

    < Jina>= FAILI LA< aina>;

    < Jina>=MAANDIKO;

    <имя>= FILE;

    Hapa<имя>- jina la aina ya faili (kitambulisho sahihi);

    FILE, YA - maneno yaliyohifadhiwa (faili, kutoka);

    TEXT - jina la aina ya faili ya maandishi ya kawaida;

    <тип>- aina yoyote ya Turbo Pascal, isipokuwa faili.

    Kulingana na njia ya tamko, aina tatu za faili zinaweza kutofautishwa:

    · faili zilizochapwa (zilizowekwa na FILE YA... kifungu);

    · faili za maandishi (zinazofafanuliwa kama aina ya TEXT);

    · faili ambazo hazijachapishwa (zilizofafanuliwa na aina ya FILE).

    Kuhusu kubadilisha aina za data za Pascal

    Katika Pascal, ubadilishaji kamili (otomatiki) wa aina za data za nambari karibu hauwezekani. Isipokuwa tu kwa aina kamili, ambayo inaruhusiwa kutumika katika usemi wa aina halisi. Kwa mfano, ikiwa vigezo vinatangazwa kama hii:

    Var X: nambari kamili; Y: halisi;

    kisha mwendeshaji

    itakuwa sahihi kisintaksia, ingawa kuna usemi kamili upande wa kulia wa ishara ya mgao na tofauti halisi upande wa kushoto, mkusanyaji atabadilisha aina za data za nambari kiotomatiki. Ugeuzaji wa kinyume kiotomatiki kutoka kwa aina halisi hadi aina kamili hauwezekani katika Pascal. Hebu tukumbuke ni baiti ngapi zimetengwa kwa vigezo vya aina kamili na halisi: baiti 2 za kumbukumbu zimetengwa kwa nambari kamili ya aina ya data, na ka 6 kwa kweli. Kuna vitendaji viwili vilivyojumuishwa vya kubadilisha halisi hadi nambari kamili: duru(x) huzungusha x halisi hadi nambari kamili iliyo karibu zaidi, trunc(x) hupunguza halisi kwa kutupa sehemu ya sehemu.