Vargje dydimensionale. Formimi i matricave dhe prodhimi i elementeve të tij

Një grup dydimensional në Pascal trajtohet si një grup njëdimensional, lloji i elementit të të cilit është gjithashtu një grup (një grup vargjesh). Pozicioni i elementeve në vargjet dydimensionale Pascal përshkruhet nga dy indekse. Ato mund të përfaqësohen si një tabelë ose matricë drejtkëndëshe.

Konsideroni një grup dy-dimensional Pascal me dimensione 3 * 3, domethënë do të ketë tre rreshta dhe secila rresht ka tre elementë:

Secili element ka numrin e vet, si në grupet njëdimensionale, por tani numri tashmë përbëhet nga dy numra - numri i rreshtit në të cilin ndodhet elementi dhe numri i kolonës. Kështu, numri i elementit përcaktohet nga kryqëzimi i rreshtit dhe kolonës. Për shembull, një 21 është artikulli në rreshtin e dytë dhe kolonën e parë.

Përshkrimi i një grupi dydimensional Pascal.

Ka disa mënyra për të deklaruar një grup dydimensional Pascal.

Ne tashmë dimë se si të përshkruajmë vargje njëdimensionale, elementët e të cilave mund të jenë të çdo lloji, dhe, për rrjedhojë, vetë elementët mund të jenë vargje. Merrni parasysh përshkrimin e mëposhtëm të llojeve dhe variablave:

Një shembull i përshkrimit të një grupi dydimensional Pascal

Lloji
Vektor = grup prej<тип_элементов>;
Matrica = varg vektori;
Var m: matricë;

Ne kemi deklaruar një grup dydimensional Pascal m, i përbërë nga 10 rreshta, secila me 5 kolona. Në këtë rast, çdo rresht i-të mund të aksesohet m [i], dhe çdo element j-të brenda vijës së i-të - m [i, j].

Përkufizimet e tipit për vargjet dy-dimensionale Pascal mund të specifikohen gjithashtu në një rresht:

Lloji
Matricë = grup i grupit të< тип элементов >;
apo edhe më e thjeshtë:
lloji
matricë = grup prej<тип элементов>;

Referenca për elementët e një grupi dydimensional duket si: M [i, j]. Kjo do të thotë që ne duam të marrim artikullin e vendosur në rreshtin i-të dhe kolonën j-të. Gjëja kryesore këtu është të mos ngatërroni rreshtat me kolonat, përndryshe ne mund të marrim përsëri një thirrje për një element joekzistent. Për shembull, një thirrje në elementin M ka shënimin e saktë, por mund të shkaktojë një gabim në program.

Veprimet bazë me vargje Pascal dydimensionale

Gjithçka që është thënë për veprimet bazë me vargje njëdimensionale është gjithashtu e vërtetë për matricat. Veprimi i vetëm që mund të kryhet në matrica të të njëjtit lloj në tërësi është caktimi. Kjo do të thotë, nëse programi ynë përshkruan dy matrica të të njëjtit lloj, për shembull,

lloji
matricë = grup i numrave të plotë;
var
a, b: matricë;

atëherë gjatë ekzekutimit të programit mund të caktoni matricën a vlera e matricës b(a: = b). Të gjitha veprimet e tjera kryhen element për element, ndërsa në elemente mund të kryhen të gjitha veprimet e vlefshme që janë të përcaktuara për llojin e të dhënave të elementeve të grupit. Kjo do të thotë se nëse një grup përbëhet nga numra të plotë, atëherë operacionet e përcaktuara për numra të plotë mund të kryhen në elementet e tij, por nëse grupi përbëhet nga karaktere, atëherë operacionet e përcaktuara për të punuar me karaktere janë të zbatueshme për to.

Hyrja e një grupi Pascal dydimensional.

Për të futur në mënyrë sekuenciale elementet e një grupi njëdimensional, ne përdorëm një lak for, në të cilin ndryshuam vlerën e indeksit nga e para në të fundit. Por pozicioni i një elementi në një grup dy-dimensional Pascal përcaktohet nga dy indekse: numri i rreshtit dhe numri i kolonës. Kjo do të thotë se do të na duhet të ndryshojmë në mënyrë sekuenciale numrin e rreshtit nga i pari në i fundit dhe në çdo rresht, të përsërisim mbi elementët e kolonave nga e para në të fundit. Kjo do të thotë që na duhen dy sythe për, dhe njëri prej tyre do të futet brenda tjetrit.

Konsideroni një shembull të futjes së një grupi dydimensional Pascal nga tastiera:

Një shembull i një programi për futjen e një grupi dydimensional Pascal nga tastiera

lloji
matricë = grup i numrave të plotë;
var
a,: matricë;
i, j: numër i plotë; (indekset e grupit)
fillojnë
për i: = 1 deri në 5 do (lako për të përsëritur mbi të gjitha rreshtat)
readln (a [i, j]); (hyrja me tastierë e elementit në rreshtin i-të dhe kolonën j-të)

Një grup dydimensional Pascal mund të plotësohet rastësisht, d.m.th. përdorni funksionin e rastësishëm (N) dhe gjithashtu caktoni vlerën e disa shprehjeve për secilin element të matricës. Mënyra për të mbushur një grup dydimensional Pascal zgjidhet në varësi të detyrës në fjalë, por në çdo rast, çdo element në çdo rresht dhe çdo kolonë duhet të përcaktohet.

Shfaq një grup dy-dimensional Pascal në ekran.

Prodhimi i elementeve të një grupi Pascal dy-dimensional kryhet gjithashtu në mënyrë sekuenciale; është e nevojshme të printohen elementët e çdo rreshti dhe çdo kolone. Në të njëjtën kohë do të doja që elementet në të njëjtën linjë të printoheshin krah për krah, d.m.th. në një rresht, dhe elementët e kolonës ishin vendosur njëri nën tjetrin. Për ta bërë këtë, duhet të kryeni sekuencën e mëposhtme të veprimeve (konsideroni fragmentin e programit për grupin e përshkruar në shembullin e mëparshëm):

Një shembull i një programi për daljen e një grupi Pascal dydimensional

për i: = 1 deri në 5 do (lako për të përsëritur në të gjitha rreshtat)
fillojnë
për j: = 1 deri në 10 do (përsëriteni mbi të gjithë elementët e rreshtit sipas kolonës)
shkruani (a [i, j]: 4); (printimi i elementeve në rreshtin i-të të matricës në një rresht ekrani, ndërsa për daljen e secilit element ndahen 4 pozicione)
shkruarn; (përpara se të ndryshoni numrin e rreshtit në matricë, duhet të zhvendosni kursorin në fillim të një linje të re të ekranit)
fundi;

Vërejtje ( është e rëndësishme!): shumë shpesh në programet e studentëve, ndodh një gabim kur futja e tastierës ose dalja e grupit tentohet si më poshtë: readln (a), writeln (a), ku aËshtë një variabël i llojit të grupit. Megjithatë, ata janë të befasuar nga mesazhi i kompajlerit se një variabël i këtij lloji nuk mund të lexohet apo printohet. Ndoshta do ta kuptoni pse kjo nuk mund të bëhet nëse imagjinoni N kriklla duke qëndruar në një rresht dhe keni, për shembull, një kazan me ujë në duart tuaja. A mund t'i mbushni të gjitha gotat menjëherë me komandën "derdh ujë"? Sado të përpiqeni, do t'ju duhet ta derdhni në secilën filxhan veç e veç. Mbushja dhe shfaqja e elementeve të grupit duhet gjithashtu të kryhet në mënyrë sekuenciale dhe element pas elementi, pasi në memorien e kompjuterit, elementët e grupit ndodhen në qeliza sekuenciale.

Përfaqësimi i një grupi dy-dimensional Pascal në memorie

Elementet e një grupi abstrakt në kujtesën e makinës vendosen fizikisht në mënyrë sekuenciale, sipas përshkrimit. Për më tepër, çdo element zë në memorie numrin e bajteve që korrespondojnë me madhësinë e tij. Për shembull, nëse grupi përbëhet nga elementë të tipit numër i plotë, atëherë secili element do të marrë dy bajt. Dhe i gjithë grupi do të marrë S ^ 2 bajt, ku S është numri i elementeve në grup.

Dhe sa hapësirë ​​do të zërë një grup i përbërë nga vargje, d.m.th. matricë? Natyrisht: S i ^ S j, ku S i është numri i rreshtave dhe S j është numri i elementeve në secilën rresht. Për shembull, për një grup si

Matricë = grup i numrave të plotë;

do të duhen 12 bajt memorie.

Si do të vendosen në memorie elementet e këtij grupi? Merrni parasysh paraqitjen e një grupi M të tipit matricë në memorie.

Dy qeliza memorie janë ndarë për çdo element M të tipit numër i plotë. Vendosja në memorie kryhet "nga poshtë lart". Elementet vendosen sipas rendit të ndryshimit të indeksit, që korrespondon me skemën e sytheve të mbivendosur: së pari vendoset rreshti i parë, pastaj i dyti, i treti ... Brenda rreshtit, elementët shkojnë sipas radhës: e para, e dyta, etj.

Siç e dimë, qasja në çdo variabël është e mundur vetëm nëse dihet adresa e qelizës së memories në të cilën është ruajtur ndryshorja. Një memorie specifike ndahet për një ndryshore kur programi është i ngarkuar, domethënë vendoset një korrespondencë e ndërsjellë midis ndryshores dhe adresës së qelizës. Por nëse e deklarojmë variablin si një grup, atëherë programi "e njeh" adresën e fillimit të grupit, domethënë elementin e parë të tij. Si i aksesoni të gjithë elementët e tjerë të grupit? Me akses real në një qelizë memorie që ruan një element të një grupi dydimensional, sistemi llogarit adresën e tij duke përdorur formulën:

Adr + SizeElem * Cols * (I -1) + SizeElem * (J -1),

ku Adr është adresa aktuale fillestare në të cilën grupi ndodhet në memorie; I, J - indekset e elementeve në një grup dy-dimensional; SizeElem - madhësia e elementit të grupit (për shembull, dy bajt për elementët me numër të plotë); Cols - numri i elementeve në rresht.

Shprehja SizeElem * Cols * (I -1) + SizeElem * (J -1) quhet offset nga fillimi i vargut.

Sa memorie është ndarë për grupin?

Le të shqyrtojmë jo aq shumë çështjen se sa memorie është ndarë për grupin (e diskutuam këtë në seksionin e mëparshëm), por cila është madhësia maksimale e lejueshme e grupit, duke pasur parasysh sasinë e kufizuar të memories.

Që programi të funksionojë, memoria ndahet në segmente prej 64 KB secili, dhe të paktën njëri prej tyre përcaktohet si segmenti i të dhënave... Pikërisht në këtë segment ndodhen të dhënat që programi do të përpunojë. Asnjë variabël programi nuk mund të vendoset në më shumë se një segment. Prandaj, edhe nëse ka vetëm një variabël në segment, i përshkruar si një grup, atëherë ai nuk mund të marrë më shumë se 65536 bajt. Por pothuajse me siguri, përveç grupit, disa variabla të tjerë do të përshkruhen në segmentin e të dhënave, kështu që sasia reale e memories që mund të ndahet për grupin gjendet me formulën: 65536-S, ku S është sasia e memoria e alokuar tashmë për variabla të tjerë.

Pse duhet ta dimë këtë? Për të mos u habitur, nëse, gjatë përpilimit, përkthyesi gjeneron një mesazh gabimi në lidhje me deklarimin e një grupi që është shumë i gjatë kur ndeshet me një përshkrim në program (i saktë për sa i përket sintaksës):

Lloji myArray = grup i numrit të plotë;

Ju tashmë e dini se, duke pasur parasysh paraqitjen me dy bajtë të numrave të plotë, në fakt mund të deklaroni një grup me numrin e elementeve të barabartë me 65536/2 -1 = 32767. Dhe atëherë vetëm nëse nuk ka variabla të tjerë. Vargjet 2D duhet të kenë kufij indeksi edhe më të vegjël.

Shembuj të zgjidhjes së problemeve me vargje Pascal dydimensionale

Detyra: Gjeni prodhimin e elementeve jozero të matricës.

Zgjidhja:

  • Për të zgjidhur këtë problem, na duhen variabla: një matricë e përbërë, për shembull, nga elementë të plotë; P është prodhimi i elementeve të ndryshëm nga 0; I, J - indekset e vargjeve; N, M - numri i rreshtave dhe kolonave në matricë.
  • Të dhënat hyrëse janë N, M - shkruani vlerat e tyre nga tastiera; matricë - hyrjen e matricës do ta rregullojmë në formë të procedurës, matricën do ta plotësojmë në mënyrë të rastësishme, d.m.th. duke përdorur funksionin e rastësishëm ().
  • Prodhimi do të jetë vlera e ndryshores P (produkt).
  • Për të kontrolluar korrektësinë e ekzekutimit të programit, është e nevojshme të shfaqet matrica në ekran, për këtë do të formulojmë procedurën për shfaqjen e matricës.
  • Progresi në zgjidhjen e problemit:

fillimisht do të diskutojmë ekzekutimin e programit kryesor, do të diskutojmë zbatimin e procedurave pak më vonë:

  • shkruani vlerat e N dhe M;
  • Le të prezantojmë një grup dydimensional Pascal, për këtë i drejtohemi procedurës vvod (a), ku a është një matricë;
  • Le të printojmë matricën që rezulton, për këtë i referohemi procedurës së printimit (a);
  • Le t'i caktojmë vlerën fillestare ndryshores P = 1;
  • Ne do të përsërisim në mënyrë sekuenciale mbi të gjitha rreshtat e I-së nga i pari në të N-të, në secilën rresht do të përsërisim nëpër të gjitha kolonat e J nga 1-ja në Mth, për secilin element të matricës do të kontrollojmë kushtin: nëse një ij ? 0, atëherë prodhimi P do të shumëzohet me elementin a ij (P = P * a ij);
  • Le të shfaqim vlerën e prodhimit të elementeve të matricës jozero - P;

Tani le të flasim për procedurat.

Komentoni (është e rëndësishme!) Një parametër i procedurës mund të jetë çdo variabël i një lloji të paracaktuar, që do të thotë se për të kaluar një grup si parametër në procedurë, lloji i tij duhet të përshkruhet paraprakisht. Për shembull:

Lloji
Matricë = grup i numrave të plotë;
primer i procedurës (a: matricë);
..............................

Le të kthehemi te procedurat tona tani.

Procedura për futjen e një matrice quhet vvod, parametri i procedurës është një matricë dhe, si rezultat, duhet të kalojë në programin kryesor, prandaj, parametri duhet të kalojë me referencë. Atëherë kreu i procedurës sonë do të duket kështu:

Procedura vvod (var m: matricë);

Për të zbatuar unazat e mbivendosura në një procedurë, na duhen variablat e numëruesit lokal, për shembull, k dhe h. Algoritmi i mbushjes së matricës tashmë është diskutuar, kështu që ne nuk do ta përsërisim atë.

Procedura për paraqitjen e një matrice në ekran quhet print, parametri i procedurës është matricë, por në këtë rast është një parametër hyrës, prandaj kalohet me vlerë. Titulli i kësaj procedure do të duket kështu:

Printimi i procedurës (m: matricë);

Dhe përsëri, për të zbatuar sythe të mbivendosur brenda një procedure, na duhen numërues, le të quhen të njëjtë - k dhe h. Algoritmi për shfaqjen e matricës në ekran u përshkrua më lart, ne do të përdorim këtë përshkrim.

Një shembull i programit për një grup dy-dimensional Pascal

Program proizvedenie;
Lloji
Matrica = grup i numrave të plotë;
Var
A: matricë;
N, m, i, j: byte;
P: numër i plotë;
Procedura vvod (var m: matricë);
Var k, h: byte;
Filloni
Për i: = 1 deri në n do (ndryshorja n për procedurën është globale, që do të thotë "e njohur")
Për j: = 1 deri në m do (ndryshorja m për procedurën është globale, që do të thotë "e njohur")
M: = e rastësishme (10);
Fundi;
Printimi i procedurës (m: matricë);
Var k, h: byte;
Filloni
Për i: = 1 deri në n do
fillojnë
Për j: = 1 deri në m bëj
Shkruaj (M: 4);
Shkruar;
fundi;
Fundi;
Fillimi (fillimi i programit kryesor)
Writeln ("Fut dimensionin e matricës:");
Readln (N, M);
Vvod (a);
Shtyp (a);
P: = 1;
Për i: = 1 deri në N bëj
Për j: = 1 deri në M bëj
Nese nje<>0 pastaj p: = p * a;
Shkruhet (p);
fund.

Vargu dydimensional një strukturë të dhënash që ruan një matricë drejtkëndore të formës:

A 11 a 12 a 13 a 14 a 15 ... a 1 m a 21 a 22 a 23 a 24 a 25 ... a 2 m a 31 a 32 a 33 a 34 a 35 ... a 3 m a 41 a 42 a 43 a 44 a 45 ... a 4 m a 51 a 52 a 53 a 54 a 55 ... a 5 m... ... ... ... ... ... ... a n1 a n2 a n3 a n4 a n5... a nm

  • Në matricë, çdo element përcaktohet nga numri i rreshtit dhe numri i kolonës, në kryqëzimin e së cilës ndodhet.
  • Në Pascal, një grup dy-dimensionale konsiderohet si një grup, elementët e të cilit janë vargje lineare (një grup vargjesh). Dy përshkrimet e mëposhtme të vargjeve dy-dimensionale janë identike var mass: grup i grupit real; var masa: grup real;
  • Quhet një matricë në të cilën numri i rreshtave është i barabartë me numrin e kolonave matricë katrore.
  • Për t'iu referuar një elementi të matricës, duhet të përdorni dy indekse që tregojnë numrin e rreshtit dhe numrin e kolonës. Për shembull MyArr1... Në këtë rast, elementi i grupit (MyArr1) është në rreshtin e katërt dhe në kolonën e pestë.
  • Gjithçka që është thënë për veprimet bazë me vargje njëdimensionale është gjithashtu e vërtetë për matricat. Kur përsëriten mbi një grup në një lak, variablat e një lloji të plotë veprojnë si indekse. Tradicionalisht, identifikuesi " i "Dhe kolona është" j “.
  • Përpunimi me matricë konsiston në faktin se në fillim elementët e rreshtit të parë (kolonës) konsiderohen një nga një, pastaj i dyti dhe kështu me radhë deri në të fundit.
  • Nëse numri i rreshtit të elementit është i njëjtë me numrin e kolonës ( i = j), kjo do të thotë se elementi qëndron në diagonale kryesore matricat.
  • Nëse një element shtrihet në diagonale anësore, atëherë indekset lidhen me numrin e elementeve ( n) nga barazia e mëposhtme: i + j = n + 1

Përshkrimi i një grupi dydimensional

Ka disa mënyra për të deklaruar (përshkruar) një grup dy-dimensionale në Pascal.

Lloji i grupit Përshkrimi paraprak

matrica e tipit = grup i numrave të plotë; (grumbullimi i numrave të plotë) var masa: matricë;

Përcaktimi i një variabli si një grup pa përshkruar më parë llojin e grupit

var masa: grup i numrave të plotë;

Inicializimi i një grupi dydimensional

Kur inicializon vargjet dy-dimensionale, çdo rresht mbyllet në një palë kllapa shtesë:

Masa konst: vargu = ((2,3,1,0), (1,9,1,3), (3,5,7,0));

Hyrja / dalja e vlerave të elementeve të një grupi dydimensional

Shumë shpesh, vlerat e elementeve të grupit futen nga tastiera. Kjo mënyrë e specifikimit të informacionit është shumë e mundimshme kur punoni me grupe të mëdha. Për të korrigjuar një klasë të gjerë algoritmesh, një hyrje e tillë informacioni duhet të zëvendësohet nga gjenerimi i rastësishëm i elementeve të grupit. Për ta bërë këtë, përdorni procedurën rastësoj dhe funksionin e rastit... Kur punoni me grupe dydimensionale, përdoren sythe të mbivendosur (zakonisht një lak me parametrin për).

Plotësimi i një grupi me numra të rastit

konst n = 5; m = 10; var i, j: numër i plotë; matricë: grup i numrave të plotë; filloni të randomizoni; për i: = 1 deri në n do (duke hyrë në rreshtat e një grupi) për j: = 1 deri në m do (qasja në kolonat sipas elementeve) matrica: = e rastësishme (100); (në elementin aktual vendosim një numër të rastësishëm nga intervali: 4); writeln (kalimi në një linjë të re pas daljes nga laku i brendshëm) fundi;

Shembuj të zgjidhjes së problemeve

Shembulli 1

Formulimi i problemit. Janë dhënë numrat e plotë pozitivë M dhe N. Formoni një matricë me numra të plotë M × N në të cilën të gjithë elementët e kolonës J-të kanë vlerën 5 · J (J = 1,…, N).

Konst m = 7; n = 10; var i, j: byte; matricë: grup i numrave të plotë; fillojë për i: = 1 deri në m bëj për j: = 1 deri në n matricë do: = 5 * j; ... (vargu i daljes)

Shembulli 2

Formulimi i problemit. Ju janë dhënë numra të plotë pozitivë M, N dhe një grup numrash M. Formoni një matricë M × N, secila kolonë përmban të gjithë numrat nga grupi origjinal (në të njëjtin rend).

Konst m = 5; n = 7; vektori: grupi i numrave të plotë = (3, 5, 2, 7, 4); var i, j: byte; matricë: grup i numrave të plotë; filloni për j: = 1 deri në n do (merrni kolonën j-të) për i: = 1 deri në m do (referojuni elementeve të kolonës së j-të sipas rreshtave) matrica: = vektori [i]; (zbatimi) ... (Dalja e grupit dydimensional që rezulton)

Detyre shtepie

  1. Janë dhënë numrat e plotë pozitivë M dhe N. Formoni një matricë numër të plotë me madhësi M × N, në të cilën të gjithë elementët e rreshtit të parë kanë vlerën 10 · I (I = 1,…, M).
  2. Ju janë dhënë numra të plotë pozitiv M, N dhe një grup N numrash. Formoni një matricë M × N, çdo rresht që përmban të gjithë numrat nga grupi origjinal (në të njëjtin rend).
  3. Për më tepër. Ju janë dhënë numra të plotë pozitivë M, N, një numër D dhe një grup numrash M. Formoni një matricë M × N në të cilën kolona e parë përkon me grupin origjinal të numrave, dhe elementët e secilës kolonë tjetër janë të barabartë me shumën e elementit përkatës të kolonës së mëparshme dhe numrin D (si rezultat, çdo rresht e matricës do të përmbajë elemente të progresionit aritmetik).
  4. Për më tepër. Jepet një matricë M × N. Printoni elementët e saj të vendosur në rreshta me numra çift (2, 4,…). Shfaqni elementet rresht pas rreshti, mos përdorni operatorin e kushtëzuar.

Mësimi i fundit Pascal u shkrua tashmë në 7 Mars, atëherë ne e analizuam atë. Sot do të zbulojmë se çfarë është grup dydimensionale në paskal, si përshkruhet dhe çfarë është. Më shumë detaje më poshtë.

Pra, çfarë është saktësisht një grup dy-dimensional? Për perceptim të lehtë, le të imagjinojmë një grup njëdimensional si një vijë, dhe në të cilën të gjithë elementët shkojnë horizontalisht njëri pas tjetrit, dhe një dydimensional si një katror, ​​në të cilin elementët janë të vendosur si horizontalisht ashtu edhe vertikalisht. Një grup dydimensional përbëhet nga rreshta dhe kolona, ​​të quajtura gjithashtu një grup matricë ose matricë.

Si përshkruhen vargjet dydimensionale? Ka disa mënyra për të shkruar vargje dy-dimensionale, unë do të shqyrtoj 2 prej tyre.

1 mënyrë për të përshkruar një grup: grup i llojit të variablave në grup (integer / real / byte);

2 mënyra për të përshkruar një grup: varg grupi i llojit të variablave në grup;

Së pari përshkruhen rreshtat (1..m) dhe më pas kolonat (1..n).

Në metodën e dytë, përshkruhet sikur dy vargje njëdimensionale, të cilat së bashku formojnë një dydimensionale.

Një grup dydimensional mund të përshkruhet në seksionin Lloji, për referencë të mëvonshme për të disa herë, ose në seksionin e përshkrimit të ndryshores Var, dua të tërheq vëmendjen tuaj për faktin se në vend të m dhe n, ju mund të zëvendësoni numrat, ose mund të përdorni konstante.

Një shembull i vendosjes së një grupi dydimensional në seksionin e deklarimit të ndryshoreve:

Konst
m = 100;
n = 100;
var
a: varg numrash të plotë;

Në këtë rast, ne specifikuam një grup dy-dimensional a me madhësi 100 me 100, domethënë morëm një matricë katrore.

Një shembull i përcaktimit të një grupi matricë duke përdorur seksionin Lloji:

Konst
m = 100;
n = 100;
Lloji
Matrica = Vargu i numrave të plotë;
var
a: Matricë;
b: Matricë;

Në shembullin e dytë, ne specifikuam dy vargje matricore identike me dimensione 100 me 100; kur përshkruanim grupin b, nuk na duhej të përshkruanim përsëri madhësitë dhe llojin e të dhënave të tij.

Si të aksesoni një qelizë të ndryshueshme të një grupi dydimensional?

Për t'iu referuar një grupi dydimensional, së pari duhet të specifikoni numrin e rreshtit dhe më pas numrin e kolonës si më poshtë:

x është çdo variabël, a është emri i grupit, i është numri i rreshtit, j është numri i kolonës.

Për më tepër, i dhe j mund të jenë si variabla ashtu edhe numra të plotë.

Një shembull i shkrimit të të dhënave në një grup:

Për i: = 1 deri në n do // vendosni numrin e linjës në lak
Për j: = 1 deri në m bëj // caktimin e numrit të kolonës në lak
a: = e rastësishme (100); // caktimi i një vlere të rastësishme në qelizën me numrin e rreshtit i dhe numrin e kolonës j

Ne e mbushëm grupin me numra të rastësishëm nga 1 në 100.

Një shembull i programit duke përdorur një grup dy-dimensional, në të cilin mbushim grupin me numra të rastit dhe e shfaqim atë në ekran:

Var // përshkrimi i variablave dhe grupit
Matrica: Një grup i numrave të plotë;
i, j: numër i plotë;

Fillimi // fillimi i programit kryesor
writeln ("Rreth dy-dimensionale:"); // Dialog me përdoruesin

Për i: = 1 deri në 10 bëj // plotësimin e grupit
për j: = 1 deri në 10 do
Matrica: = e rastësishme (100);

Për i: = 1 deri në 10 filloni // Nxjerrja e grupit
për j: = 1 deri në 10 do
shkruani (matricë, "");
shkruarn
writeln ("faqe"); // Opsionale, ju mund të fshini
fundi; // Fundi i programit

// readln // Përdoret në Turbo Pascal



Artikuj të ngjashëm: