АдукацыяКаледжы і універсітэты

Масіў у "Паскалю". Праграмы на масівы ў "Паскалю"

З кожным годам цікавасць да праграмавання ўзрастае. І калі ў якія спецыялізуюцца на напісанні праграм інстытутах стаўку робяць на такі мова праграмавання, як C ++, то ў школах і тэхнікумах студэнты знаёмяцца з "Паскалем". І ўжо на базе гэтай мовы пачынаюць зразуменне праграмавання з дапамогай выкарыстання праграмнага забеспячэння Delphi. Варта адразу адзначыць, што дадзеныя мовы праграмавання прадастаўляюць вялізную прастору для раскрыцця сваёй фантазіі. І калі з дапамогай мовы "Паскаль" можна азнаёміцца з базавымі паняццямі праграмавання, то на Delphi ўжо можна напісаць паўнавартасную праграму. І досыць важнае месца ў напісанні праграм часам займае рашэнне масіваў у "Паскалю".

Наяўнасць вялікай колькасці самых розных зменных

У мове праграмавання досыць шмат разнастайных зменных, для якіх характэрна наяўнасць усяго толькі аднаго значэння. Яны здольныя захоўваць у сабе адну велічыню, якая валодае пэўным тыпам. У якасці выключэння выступаюць радковыя зменныя. Яны з'яўляецца сукупнасцю тых дадзеных, для якіх характэрны знакавы тып. Але і такія зменныя звычайна разглядаюцца з пазіцыі асобнай велічыні.

Ні для каго не з'яўляецца сакрэтам, што з дапамогай кампутара можна значна скараціць час на выкананне пэўнай працы, звязанай з вялікімі аб'ёмамі дадзеных. Але як пры выкарыстанні толькі тых зменных, якія валодаюць вядомымі для чалавека тыпамі, можна захоўваць вынікі працы ў памяці, а таксама апрацоўваць тыя дадзеныя, якія ўтрымліваюць у сабе вялікая колькасць радкоў? Задачы такія сустракаюцца даволі часта ў любой сферы дзейнасці.

Натуральна, заўсёды можна ўвесці такое лік зменных, якое неабходна для выканання пастаўленых мэтаў. Таксама можна для іх вызначыць некаторыя значэння. Але і код праграмы ад гэтага толькі павялічыцца. Складана чытаць той код, які мае вялікую колькасць радкоў. Тым больш калі неабходна знайсці памылкі.

Адпаведна, праграмісты задумаліся над такім пытаннем. Менавіта таму ў тых мовах, якія былі распрацаваныя да цяперашняга часу, маюцца такія зменныя, якія прадастаўляюць магчымасць захоўваць велізарная колькасць дадзеных у сабе. Масіў у "Паскалю" многае змяніў у падыходзе да праграмавання. Таму ён і лічыцца важнай зменнай у мове праграмавання.

Выкарыстанне масіваў здольна значна скараціць велічыню праграмнага кода

Пад гэтым тэрмінам хаваецца спарадкаваная паслядоўнасць дадзеных, для якіх характэрны адзін тып. Акрамя таго, усе гэтыя дадзеныя атрымліваюць адно імя. Варта таксама адзначыць, што пад дадзенае вызначэнне могуць падысці многія аб'екты рэальнага свету: слоўнікі, мультфільмы і многае іншае. Аднак найбольш проста масіў у "Паскалю" прадставіць у выглядзе своеасаблівай табліцы. У кожнай асобнай вочку размяшчаецца адна зменная. З дапамогай каардынатаў можна вызначыць тое становішча зменнай, якое яна зойме ў агульнай табліцы.

Што пад сабой мае на ўвазе аднамерны масіў?

Самай простай лічыцца тая табліца, якая з'яўляецца лінейнай. У гэтым масіве для таго, каб вызначыць месцазнаходжанне параметру, досыць паказаць толькі адно лік. Больш складаныя масівы фармуюцца на іх аснове.

Для таго каб апісаць аднамерныя масівы ў "Паскалю", дастаткова проста ўвесці наступны код: Type <Найменне тыпу> Array [<Дыяпазон лікаў>] of <Тып элемента>.

У якасці лікаў выступаюць тыя зменныя, якія могуць валодаць парадкавым тыпам. Паказваючы дыяпазон, варта разумець, што пачатковую колькасць не можа быць вышэй канчатковага. Тып, якім валодаюць элементы масіва, можа быць абсалютна любым - альбо стандартным, альбо ўжо раней апісаным. Выбар будзе залежаць ад неабходнасці вырашэння канкрэтнай задачы.

Як адбываецца апісанне лінейнага масіва?

Ёсць магчымасць адразу апісаць аднамерныя масівы ў "Паскалю". Гэта трэба зрабіць у спецыяльным раздзеле, які неабходны менавіта для гэтай працэдуры. Спатрэбіцца ўвесці наступны код: Var <Пераменная>: Array [<Дыяпазон лікаў>] Of <Тып абранага элемента>.

Для таго каб зразумець, як можна апісаць масіў у "Паскалю", варта ўвесці наступны код:

- Var

- S, VV: Array [5..50] Of Real;

- K: Array [ 'C' .. 'R'] Of Integer;

- Z: Array [-10..10] Of Word;

- E: Array [3..30] Of Real.

У гэтым прыкладзе зменныя S, VV і T з'яўляюцца масівам з тых лікаў, якія з'яўляюцца рэчавымі. Пад зменнай Да хаваецца знакавы тып і тыя элементы. Якія адносяцца у цэлалікавымі. У масіве Z захоўваюцца колькасці, тып у якіх Word.

Сярод усіх дзеянняў, якія можна выкарыстоўваць пры працы з масівам, можна вылучыць прысвойванне. Яму можа падвяргацца ўся табліца цалкам. Да прыкладу, S: = VV. Але варта разумець, што аперацыі прысвойвання можна падвяргаць толькі той масіў у "Паскалю", які валодае пэўным тыпам.

Больш няма аперацый, якім можна падвяргаць адразу ўвесь масіў. Аднак можна працаваць з элементамі па такім жа прынцыпе, як і з іншымі простымі лікамі, якія валодаюць пэўным тыпам. Для таго каб звярнуцца да асобнага параметры, трэба ўказаць назву масіва. З дапамогай выкарыстання квадратных дужак трэба вызначыць той індэкс, які характэрны для патрэбнага элемента. Да прыкладу: Да [12].

Асноўныя адрозненні масіваў ад іншых зменных

Базавым адзнакай кампанентаў табліцы ад простых зменных можна лічыць тое, што ў дужках ёсць магчымасць паставіць не толькі значэнне індэкса, але і такі выраз, якое зможа прывесці да патрэбнага значэння. Прыклад ўскоснай адрасавання можа быць наступным: V [K]. Пераменная K пры гэтым прымае нейкае пэўнае значэнне. З гэтага вынікае, што можна скарыстацца цыклам пры запаўненні, апрацоўцы і друку масіва.

Такая форма арганізацыі можа сустракацца ў выпадку радковых зменных, якія досыць блізкія па сваіх уласцівасцях масіваў, тып у якіх Char. Але ёсць і адрозненні. Яны наступныя:

  1. Радковыя зменныя заўсёды можна ўвесці з клавіятуры і надрукаваць на экране.
  2. Радковыя зменныя па сваёй даўжыні абмежаваныя. Можна ўвесці максімум 255 знакаў. Крытычным аб'ёмам масіва лічыцца 64 кб.

Пры дапамозе прымянення якіх метадаў можна вывесці дадзеныя масіва на экран?

Варта надаць увагу спосабу вываду змесціва масіва на дысплей. Іх існуе некалькі.

  1. Writeln (A [1], A [2], A [3]). Такі прыклад, хоць і прымітыўны, здольны паказаць, як можна звярнуцца непасрэдна да кожнага асобнага элементу, уласціваму табліцы. Аднак некаторыя перавагі, якімі валодаюць масівы ў мове "Паскаль" перад простымі зменнымі, тут не бачныя.
  2. Program A1;
    Var B: Array [1..10] Of Integer;
    K: Integer;
    Begin
    For K: = 1 To 10 Do {Гэтая каманда арганізуе цыкл з параметрам}
    Readln (A [K]); {Адбываецца ўвод A [I] з дапамогай выкарыстання клавіятуры}
    For K: = 10 Downto 1 Do {Адбываецца раздрукоўка табліцы ў зваротным парадку}
    Write (A [K], 'VVV')
    End.

Падобны код праграмы на масівы ў "Паскалю" дэманструе, як можна з дапамогай клавіятуры ўвесці 10 лікаў, раздрукаваць іх, пераставіўшы значэння ў зваротным парадку. Калі гэтую ж праграму перапісаць з выкарыстаннем вялікага ліку зменных замест масіва, то код будзе значна павялічаны. А гэта ў значнай ступені ўскладняе працэс чытання праграмы.

Павелічэнне магчымасцяў за кошт выкарыстання масіваў

Таксама можна запаўняць табліцы тымі значэннямі, якія роўныя квадрату індэксаў элементаў. Ёсць таксама магчымасць скласці такі масіў радкоў у "Паскалю", які дазволіць, каб усе лікі былі ўведзеныя аўтаматычна. Як вы бачыце, выкарыстання масіва значна павялічваюць магчымасці праграмнага мовы "Паскаль".

Апрацоўка лінейных масіваў вельмі часта сустракаецца ў разнастайных задачах. Таму няма нічога дзіўнага ў тым, што іх вывучаюць у інстытутах і школах. Да таго ж тыя магчымасці, якія нясуць у сабе масівы, досыць шырокія.

Што хаваецца пад двухмернымі масівамі?

Можна ўявіць сабе такую табліцу, якая складаецца адразу з некалькіх радкоў. У кожнай асобна ўзятай радку маецца некалькі вочак. У такой сітуацыі, для таго каб сапраўды вызначыць становішча вочак, неабходна адзначыць не адзін індэкс, як гэта было ў выпадку з лінейнымі масівамі, а два - нумары, якія характэрныя для радка і слупка. Падобным прадстаўленнем характарызуюцца двухмерныя масівы ў "Паскалю".

Як вырабіць апісанне табліц падобнага роду?

Тая структура дадзеных, якая сустракаецца ў мове "Паскаль" для таго, каб захоўваць значэнні такой табліцы, носіць назву двухмерных масіў. Апісанне падобнага масіва магчыма адразу з дапамогай двух спосабаў.

  1. Var B: Array [1..15] Of Array [1..30] Of Integer;
  2. Var B: Array [1..15, 1..30] Of Integer.

Ва ўсіх гэтых выпадках апісваецца двухмерных масіў, які мае 15 радкоў і 30 слупкоў. Тыя апісання, якія былі прыведзены вышэй, абсалютна раўназначныя. Каб пачаць працаваць з нейкім адным з элементаў, неабходна вылучыць два азначніка. Да прыкладу, A [6] [5] альбо A [6,5].

Вывад на экран будзе практычна такі ж, як і ў выпадку з аднамерны масівам. Неабходна толькі ўказваць два азначніка. Ва ўсім астатнім адрозненняў як такіх не маецца, таму і казаць пра гэта доўга не патрабуецца.

Першы спосаб, з дапамогай якога можна вырабіць сартаванне

Часам узнікае неабходнасць у тым, каб сартаваць дадзеныя. Для гэтага ў мове маюцца адпаведныя каманды. Існуюць два алгарытму, па якіх можа быць праведзена сартаванне масіва ў "Паскалю". Сэнс метаду прамога выбару крыецца ў тым, што з дапамогай ўкладзенасці цыкла абсалютна кожная пераменная табліцы будзе параўноўвацца з іншымі значэннямі. Іншымі словамі, калі ёсць масіў з 15 лікаў, то спачатку 1 лік пройдзе працэдуру параўнання з іншымі лікамі. Гэта будзе адбывацца да таго моманту, пакуль, да прыкладу, не будзе знойдзены той элемент, які больш першага чысла. Пасля параўнанне будзе праходзіць менавіта гэтая лічба. Так будзе паўтарацца да таго моманту, пакуль не будзе знойдзены самы вялікі элемент з усіх прапанаваных. Гэты спосаб досыць просты для тых праграмістаў, якія толькі пачалі працаваць у мове.

Другі метад сартавання масіваў

Другі спосаб - пузырьковый. Сутнасць гэтай методыкі крыецца ў тым, што адбываецца параўнанне суседніх элементаў парамі. Напрыклад, 1 і 2, 2 і 3, 3 і 4, і т. Д. У тым выпадку, калі знойдзенае значэнне будзе цалкам адпавядаць умовам сартавання, то яно будзе перамешчана ў канец усяго масіва, т. Е. Ўсплыве як «бурбалка» . Дадзены алгарытм найбольш складаны для запамінання. Аднак зазубрывае яго не трэба. Галоўнае, зразумець усю структуру кода. І толькі ў такім выпадку можна прэтэндаваць на дасягненне вялікіх вышынь у праграмаванні.

заключэнне

Спадзяемся, што вы зразумелі, што сабой уяўляюць масівы, а таксама тое, якім чынам можна вырабіць сартаванне, каб знайсці пэўнае значэнне або дамагчыся нейкай пэўнай мэты. Калі вамі быў абраны для вырашэння нейкай пэўнай задачы "Паскаль", масівы у якім займаюць важнае месца, то да іх вывучэнню спатрэбіцца падысці грунтоўна. На гэта аказвае ўплыў такі фактар, як прысутнасць у мове досыць вялікай колькасці зменных, якія выкарыстоўваюцца ў пэўных сітуацыях для спрашчэння ўсяго кода ў цэлым. Масівы па праве лічацца асноўнымі велічынямі, вывучэнне якіх павінна адбывацца ў абавязковым парадку.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 be.unansea.com. Theme powered by WordPress.