Dimenziós tömb 1


Áttekintés a téma: egy dimenziós tömbök

Tanár Batrakova LV


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ás különböző valós adatokra van szükség, amely sokkal bonyolultabb szerkezet. Az ilyen komplex struktúrák alapján egyszerű skalár (egyszerű) típusa ismert, mint struktúrák (komplex típusok). 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.

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

Definíció: Array - egy rögzített sorrendben hasonló komponensek (elemek), amelynek neve.

A tömbök áll a korlátozott előre a komponensek száma. ahol az összes szilárd komponenseket ugyanolyan típusú, úgynevezett alap. A komponensek száma a tömbben hívják a dimenziója. 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).


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 logikus és jellegét, és sorolni.

Leírás array Pascal

ahol I - array index típusa (REF bármilyen típusú: egész szám, karakter, logikai, egy felsorolt, tartomány), T - típusú elemek (bármilyen típusú, kivéve a fájl).

Lehet leírni egyszer változók, mint a tömb, azaz A változó deklarációs részben (ez egy helyi leírás):

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”.

Vektor = array [1 10] A integer;

Stroka = array [0..255] char;

Tem = array [hónap] valós;

Mas = array [L] a bájt;

CH = array [char] bájt;

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.

Következik, akkor érheti el az egyes elemek a tömb.

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 állandó, változó vagy kifejezést indexnek megfelelő típust. Más szóval, az indexek lehet számítani.

Például: egy [5], a [n], egy [n div 2]

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”.

Példa egy program hiba
Program primer _ hiba;

vektor = array [1..80] szó;

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

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
var

A. array [1 10] A integer;

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
var

A: array [1 10] A integer;

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
var

A. array [1 10] A integer;

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
var

A: array [1 10] A integer;

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

Példák problémamegoldás segítségével tömbök Pascal


Probléma 1: Adott két n - dimenziós tömb. Keresse meg az összeget ezen tömbök.

Megoldás:

  • 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:

vara. 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, azaz mezőindex, hívjuk i. és az n változó meghatározására az elemek száma az egyes tömb.

Haladás a probléma megoldásában:

  • 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.

Program Szöveg:

Példa tömbök összegzési programot
Program summa;

a, b, c: array [1 100] az egész;

Write ( „adja dimenziója a tömböt:”);

Amíg (n> = 1) és (n max ezután kezdődik max: = a [i]; Imax: = i véget;

Megjegyzés: mert miután elvégezzük a két szolgáltató, az üzemeltető zárójelben kezdődik ... end;

  • A kijelző maximális elem és index.

Program Szöveg:

Példa maximális megállapítása a program a tömbben
Program max;

Write ( „adja dimenziója a tömböt:”);

Ha a [i]> max ezután kezdődik max; = a [i]; Imax: = azt a végén;

Vége.
A listát a feladatok független megoldás

  1. Dan-dimenziós tömbök egész, meg az összeg az összes pozitív egész szám a tömbben.

  2. Kap egy sor új tömb ugyanazokat az elemeket, majd fordított sorrendben.

  3. Dupla minden páratlan elemei egész szám tömb és cserélje értékének felét az összes páros elemek.


  1. Vegyük ki a tömb, amely az n elem, m-edik sorban elem.


  1. Dan-dimenziós tömbök egész, hogy megtalálják a maximális és minimális elemeket és cserélni őket.


  1. Adott egy egydimenziós tömb valódi, hogy megtalálják a legkisebb elemet, és cseréld az utolsó elem a tömbben.


  1. Adott egy egydimenziós tömb anyaga határozza meg, melyik számok pozitív vagy negatív.


  1. Dan-dimenziós tömb egész, meghatározza, hogy ezek közül bármelyik prímszám.


  1. Adott egy egydimenziós karakter tömb, megállapítja, hogy a numerikus karaktereket.


  1. Mivel két egész szám, rendezett növekvő tömb 10 elemből állnak. Egy rendezett tömb, ami az első és második elemek.


  1. Dan-dimenziós tömb. Az első pozitív eleme a tömb hozni az utolsó helyre, mozgó összes korábbiak. Tegyük fel, hogy egy elem a tömbben.


  1. Dan-dimenziós tömb. Az első és utolsó eleme a negatív csere. Tegyük fel, hogy az ilyen elemek a tömb.


  1. Adott egy egydimenziós karakter tömb. Cserélje egymást követő azonos karaktereket egyenként egy tömörítési algoritmust.


  1. Adott egy egydimenziós tömb karakterekből álló betűket. Rendezzük el a betűk ABC sorrendben.


  1. Dan-dimenziós tömbök egész szám beillesztése x módjában.

Lecke „négyzetes mátrix” része a tartalom vonal „Information Technology”