cu declarația

Aici AI câmp, POL SOTR se referă la tipul variabilei Y, deoarece această variabilă în intrările lista de variabile cu antet apare după variabila de tip X STUD. De asemenea, în acest fragment nume STIP WITH corpul operatorului este numele câmpului al X. variabilei

Intrările cu aplicații concrete

Înregistrări descris anterior - un record la o rată fixă. Acestea sunt structurate în diferite situații. Cu toate acestea, există situații când este necesar să se renunțe la această strictețea. Prin urmare, există înregistrări cu exemple de realizare.

tip ENTRY = înregistrare

AUTOR, TITLU, PUBLISHER, SITY. STRING [100];

var REFLIST. array [1..MAXNOMBRE] de intrare;

Aici ENTRY - intrare, de exemplu, date cu privire la orice lucrare științifică. Dacă unele dintre lucrările incluse în jurnalele, aveți nevoie pentru a crea un nou set de date doar pentru reviste, și de a lucra cu aceste două tablouri, care nu este foarte convenabil. Pascal poate forma o structură cu exemple de realizare, dintre care fiecare intrare corespunde înregistrării de conținut. Acest lucru se realizează prin introducerea în descrierea înregistrării unui operator de caz special - comutator, care este oarecum similar cu introdusă în prealabil, dar are diferențele sale sintactice și semantice.

În acest exemplu, în plus față de tipul de intrare deja descrisă introduce un alt tip de variabilă:

ENTRYTYPE = (BOOK, MAGAZINE).

Acum puteți corecta un post mai devreme:

tip ENTRY = înregistrare

AUTOR TITLU. string [100];

TAG caz. ENTRYTYPE de

BOOK. (PUBLISHER, SITY STRING [100]).

REVISTA. (. STRING MAGNAME; VOLUMUL, ISSUE întreg.)

Această descriere este împărțit în două părți: o fixă ​​și variantă. Domenii AUTOR, TITLU și AN - partea fixă. Restul - variantă, structura care poate varia în cele două variante de realizare. Partea variantă a înregistrării începe cu un CASE linie, care acționează ca un selector nu expresie și identificatorul unui tip enumerat. Elementele (componente) de tipul celor recenzate (în cazul nostru ENTRYTYPE) sunt utilizate ca o înregistrare alternativă definiție: BOOK și MAGAZINE. Fiecare alternativă are propriul set de domenii:

Pentru a distinge care dintre ramurile de a alege să lucreze într-o înregistrare a intrat pe teren așa-numita TAG (tag-ul FILD), sau câmpul de noduri. Acest câmp suplimentar numit TAG are tip ENTRYTYPE și este plasat ca un selector în operatorul CASE-OF:

AUT, TIT. string [100];

TAG caz. ENTRYTYPE de

BOOK. (PUB, Cyty string [100]).

REVISTA. (. String MAGNAME [100]; VOL., ISSU întreg);

EXEMPLU EXEMPLU. pentru a imprima valori ale înregistrărilor de tip ENTRY.

Procedura PRINTREF (CITATION ENTRY.);

cu CITATION nu încep

writeln (AUTOR); writeln (TITLE); writeln (AN);

dacă TAG = REZERVĂ atunci

începe writeln (MAGNAME);

1. Porțiunea de variantă poate cuprinde un număr arbitrar de argumente care sunt utilizate sau enumerate tipuri sau tipuri de ordinal arbitrare (intervale).

2. Orice intrare are doar o parte variantă, care ar trebui să fie întotdeauna plasat la sfârșitul descrierii, astfel încât declarația END CASE coincide cu sfârșitul tuturor descrierilor.

3. Numele câmpului nu poate exista în două variante de realizare, o singură înregistrare.

4. Piesele variante se pot întâlni alte piese noi variante.

1. Așa cum se face referire la punctele incluse în înregistrare?

2. De ce tip de înregistrare numit un tip de date combinat?

3. De ce două înregistrări într-un singur program poate avea un câmp cu același nume?

Tip DATE = înregistrare

AUG SEP, OCT noiembrie, DEC);

var BD: ARRAY [1..10] de DATE, HB: DATE.

Ce înseamnă BD [3] .DAY, BD [5] .YEAR, HB.MONTH?

5. Care este scopul cu operatorul?

6. Poate înregistra câmp au, la rândul său, conturi?

7. Cu ajutorul operatorului generat opțiuni de înregistrare?

8. Cât de mult de câmpuri variante pot avea o intrare cu opțiunile?

9. Așa cum se obișnuiește să se stabilească valoarea câmpurilor variante?

articole similare