Hogyan lehet megjeleníteni mezőindexe

A koncepció a szerkezet

Eddig már dolgozik az egyszerű adattípusok - logikai (boolean), egész (integer szót byte longint ...), Real (real), karakter (char). Bármilyen algoritmus segítségével lehet programozni a négy alaptípusa. De az információ feldolgozása a sokszínű világban adatokat igényel, amelynek egy bonyolultabb szerkezet. Az ilyen összetett struktúrák alapján egyszerű skalár típus az úgynevezett entitások. Szerkezet - valamilyen összetett adattípusok, amely az alapvető skalár. Ha a szerkezet nem változik a szerkezete teljes ideje alatt a program végrehajtása, amelyben ismertetik, hogy egy ilyen szerkezet az úgynevezett statikus.

Array - egy egységes elemek

A leggyakoribb szerkezete értékesítés szinte minden programozási nyelv, egy tömb.

Array álló korlátozott számú alkatrészek, mind a tömb komponensei vannak az azonos típusú, úgynevezett alap. A szerkezet a tömb mindig homogén. A tömb lehetnek elemek, egész szám jellegű. valós vagy char. vagy más hasonló elemek. Ebből azonban nem következik, hogy a tömb a komponensek csak egy skalár típus.

Másik jellemzője a tömb, amely elérheti véletlenszerűen bármely alkotóeleme. Mit jelent ez? A program azonnal rávenni kívánt tételt a sorszámát (index).

mezőindex

a tömb elem számot hívják az index. Index - ebben a sorrendben típusú érték meghatározása az index típusa a tömb. Nagyon gyakran egy egész típusú (integer. Word vagy byte), de lehet egy logikai és karakter.

Típus <имя _ типа>= Array [I] a T;

ahol - a tömb index típusú, T - típusú elemei.

Lehet leírni egyszer változók, mint a tömb, azaz leíró részben a változók:

Var a, b: array [I] a T;

Jellemzően, az index típusú jellemzi egy bizonyos értékeinek tartományát tetszőleges sorrendben típusú. I 1. I n. Például, az indexek lehet változtatni a tartományban 1..20 vagy „A” .. „n”.

Ebben az esetben, a hossza a Pascal tömb jellemző kifejezés:

ord (I n) - ORD (I 1) 1.

Típus
Vektor = array [1..10] az egész;
Stroka = array [0..255] char;

A mezőindexe érheti el az egyes elemek minden tömb, mint egy normális változó: lehet kapni az értéke ennek az elemnek külön rendeljen hozzá egy értéket, használd a kifejezéseket.

Nézzük leírására változók a vektor és Stroka.

Var egy: vektorral;
c: Stroka;

Következik, akkor érheti el az egyes elemek a tömb egy vagy c. Például, egy [5]: = 23; c [1]: = 'W'; a [7]: = a [5] * 2; writeln (c [1], c [3]).

Számítási Pascal tömb index

A tömb index Pascal nem feltétlenül határozza meg kifejezetten. Mivel az index a tömb, akkor egy változót vagy kifejezést indexnek megfelelő típust. Más szóval, az indexek lehet számítani.

Ez a mechanizmus - egy nagyon erős szoftver. De ez létrehoz egy gyakori hiba: a számítás eredménye lehet kívül esik az elfogadható értékek az index, hogy van, hogy megpróbálja fellebbezni olyan elem, amely nem létezik. Ez gyakori hiba az úgynevezett „túlmutat a tömb”.

Egy példa a program hibával Pascal tömb

Program primer _ hiba;
Típus
vektor = array [1..80] szó;
var
n: egész szám;
A: vektort;
kezdődik
N: = 45;
egy [n * 2]: = 25;
végén.

Bár a program teljes mértékben összhangban van a szintaxis a nyelv és a fordító „hiányzik” vele a színpadon fog végezni hibakimenete túl Pascal tömb. Amikor az expressziós n = 45 n * 2 = 90, a számítógép megkísérli alkalmazni az elem tömb egy [90], de ez az elem nincs jelen, mivel a dimenziója tömb 80 ismertetjük.

Azt feltételezzük, hogy egy jó program egy figyelmeztető üzenet, amikor megpróbálja elérni a nem létező tömb elemeit. Ne baj, hogy ellenőrizze lehetséges megoldás mind a jobb és bal oldalán a tömb határait, mert lehetséges, hogy ennek eredményeként értékének kiszámítása a kifejezés szám, balra található a Pascal tömb határokat.

Mindebből arra lehet következtetni: a programozó legyen nagyon óvatos, ha dolgozik, tömbindexek.

Alapvető lépések Pascal tömbök

Mint ismeretes, az adattípus meghatározás azt jelenti, oltalmi körének korlátozása elfogadható értékek, a belső ábrázolás egy számítógép, és egy sor megengedhető műveletek ilyen típusú adatok. Sikerült megállapítani, hogy milyen típusú adatot tömbként Pascal. Milyen műveleteket határozzák meg az ilyen típusú adatokat? Az egyetlen akció, amely elvégezhető a teljes tömb, és csak azzal a feltétellel, hogy a tömbök az azonos típusú - ezt a feladatot. Ha két változó azonos típusú ismertetjük a programot, például

var
a. b. array [1..10] valós;

lehetőség van arra, hogy rendelni egy változó értéke a B változó (a: = b). Így minden egyes eleme a tömb van rendelve egy megfelelő érték a tömb b. Minden más munka tömbök Pascal tett tételesen (ez fontos!).

Bevitele Pascal tömb

Annak érdekében, hogy vezessenek be az értékeket a tömb elemeinek meg kell változtatni az index értéke egymás kezdve az elsőtől az utolsó, és adja meg a megfelelő elem. A lépések végrehajtását kényelmesen használható egy ciklusban egy meghatározott számú ismétlések, vagyis egyszerű számtani ciklus, ahol a ciklus paraméter lesz a változó - Pascal index. Az értékek a elemek lehet bevezetni a billentyűzetről vagy alkalmazásával határozzuk meg az értékadó operátor.

Példa fragmentum Pascal programot bemeneti tömb

Tekintsük most az esetben, ha a tömb Pascal automatikusan kitölti véletlen számokat, ez fogja használni a véletlenszerű funkció (N).

Példa programot fragmens tömb Pascal töltés véletlen számokat

Következtetés Pascal tömb

Nyomtató tömb Pascal is végeznek elemenként, egy hurok, ahol a paraméterek tömbindexként, figyelembe egymás valamennyi érték az elsőtől az utolsóig.

Példa fragmentum Pascal program kimenete tömb

Nyomtató is lehet tenni egy oszlopot a megfelelő index. De ebben az esetben azt kell figyelembe venni, hogy a túlméretezett a tömb elemek nem minden fér el a képernyőn, és görgetés fog bekövetkezni, azaz Amikor az összes sort a képernyő a következő elemet kell nyomtatni, és túllépjen a felső képernyő.

Példa Pascal program kimenete tömb egy oszlopban

A képernyőn látunk, például a következő értékeket:

Egy példa a probléma megoldásának segítségével Pascal tömbök

Probléma: Adott két n dimenziós vektort. Keresse meg az összeget ezen vektorok.

  • A bemenő adatok erre a problémára lesz egy két dimenziós tömb. A méret ilyen tömbök lehet önkényes, de elhatározta. Ie tudjuk biztosan leírni egy nagy tömb, és a program meghatározza, hogy hány elem ténylegesen használni. Az elemek ezen tömbök lehet egész szám. Ezután leírása a következő lesz:

var a. b. array [1..100] az egész;

  • Kimenő adatok azok az elemek, a kapott tömb, nevezzük c. Típusa a kapott tömb is kell lennie egy egész szám.
  • Eltekintve a három tömböt, szükségünk van egy változó - beállítás ciklus mezőindex, nevezzük i. és az n változó meghatározására az elemek száma az egyes tömb.
    • Mi határozza meg az elemek száma (dimenziót) tömbök bevezetésére érték n;
    • bemutatjuk tömb egy;
    • bemutatjuk tömb b;
    • egy ciklusban, esztergálás indexértéket i 1-től n. szekvenciálisan számítja értékek tömb szerint a c képlet:

    c [i] = a [i] + b [i];

  • Megjeleníteni a kapott tömb.
  • Példa vektor összegzési programot