Масівам у агульным выпадку называюць спарадкаваны набор элементаў, кожны з якіх мае пэўны (адзін і той жа) тып. Масівы бываюць статычнымі і дынамічнымі. Даўжыня першага задаецца на этапе праграмавання, г. зн. перад пачаткам запуску праграмы на выкананне, другога – па ходзе выканання.
Для статычнага масіва пры апісанні павінна быць вызначана колькасць элементаў, якое ў працягу працы праграмы нельга змяніць (павялічыць або паменшыць). Пры запуску праграмы, якая выкарыстоўвае статычны масіў, на выкананне ў аператыўнай памяці вылучаецца некаторы колькасць байт для захоўвання яго элементаў. Гэты аб'ём памяці будзе замацаваны за праграмай да тых часоў, пакуль яна не скончыць сваю працу. Нават калі гэтая памяць не будзе выкарыстоўвацца, ніякай іншы праграмны код не зможа атрымаць да яе доступ.
Мова праграмавання Pascal можа працаваць толькі са статычнымі масівамі. Таму, калі патрабуецца працаваць з паслядоўнасцю зменнай даўжыні, можна апісаць структуру, напрыклад, са ста элементаў, і выкарыстоўваць на розных этапах розная колькасць элементаў, не якое перавышае лік 100. А гэта, вядома, неразумна.
Такой праблемы не існуе ў інтэграванай асяроддзі распрацоўкі Delphi. Дынамічны масіў дазваляе пры апісанні не паказваць колькасць элементаў, а вызначаць яго падчас выканання праграмы. Дынамічны масіў можна апісаць у раздзеле Var наступным чынам:
Var Massive:array of integer
Такім чынам, структура, пазначаная ідэнтыфікатарам Massive, ўяўляе сабой лінейную беларускім перакладзе новага паслядоўнасць невядомай (пакуль!) даўжыні. Каб задаць памер, у праграме неабходна ўжыць працэдуру SetLength, напрыклад, SetLength(Massive,9). Дынамічны масіў Massive здабудзе памернасць, роўную ліку 9. Цяпер вызначана, што ў паслядоўнасці прысутнічаюць дзевяць элементаў цэлага тыпу, пронумерованные ад нуля. Такімі асаблівасцямі валодае дынамічны масіў. Delphi мае працэдуру, вызваляе памяць ад набору лікаў, калі патрэба ў іх захоўванні адпала. Гэта працэдура Finalize, у нашым выпадку яна будзе ўжытая наступным чынам: Finalize(Massive).
Падобным чынам можна апісваць і прымяняць шматмерныя дынамічныя масівы ў Delphi. Напрыклад, двухмерных дынамічная структура будзе апісана так:
Var Massive:array of array of integer
Пры неабходнасці слупкі матрыцы могуць быць рознай даўжыні. Гэта таксама задаецца працэдурай SetLength.
Часта бывае, асабліва ў вялікіх і складаных праграмах, што некаторыя структуры дадзеных, якія выкарыстоўваюцца час ад часу або толькі ў пачатку/канцы працы праграмы. Пры гэтым было б вельмі марнатраўным трымаць месца ў аператыўнай памяці «пра запас». Дынамічны масіў – адзін са спосабаў рацыянальнага размеркавання рэсурсаў вылічальнай сістэмы. Хоць і валодае некаторымі недахопамі. Па-першае, гэта не заўсёды зручная нумарацыя элементаў з нуля. Па-другое, праграмісту трэба пастаянна разумець у кожнай кропцы праграмнага кода, у якім стане знаходзіцца дынамічны масіў. Але яго вартасці робяць смешнымі ўсе гэтыя цяжкасці. У прыватнасці, калі патрабуецца перадаць з падпраграмы дадзеныя вялікага аб'ёму, то без дынамічнага спосабу прадстаўлення не абысціся.
Article in other languages:
AR: https://tostpost.com/ar/computers/18583-dynamic-array-and-its-features.html
DE: https://tostpost.com/de/computer/35163-dynamische-array-und-seine-eigenschaften.html
En: https://tostpost.com/computers/29658-dynamic-array-and-its-features.html
ES: https://tostpost.com/es/equipos/35025-la-matriz-din-mica-y-sus-caracter-sticas.html
HI: https://tostpost.com/hi/computers/20246-dynamic-array-and-its-features.html
JA: https://tostpost.com/ja/computers/18231-dynamic-array-and-its-features.html
KK: https://tostpost.com/kk/komp-yuterler/35810-dinamikaly-massiv-zh-ne-ony-erekshel-kter.html
PL: https://tostpost.com/pl/komputery/36959-dynamiczny-model-i-jego-cechy.html
PT: https://tostpost.com/pt/computadores/36747-um-array-din-mico-e-suas-caracter-sticas.html
TR: https://tostpost.com/tr/bilgisayarlar/32248-dinamik-bir-dizi-ve-zellikleri.html
UK: https://tostpost.com/uk/komp-yuteri/36070-dinam-chniy-masiv-yogo-osoblivost.html
ZH: https://tostpost.com/zh/computers/7796-dynamic-array-and-its-features.html
Alin Trodden - аўтар артыкула, рэдактар
"Прывітанне, Я Алін Тродден. Я пішу тэксты, чытаю кнігі і шукаю ўражанні. І я нядрэнна ўмею распавядаць вам пра гэта. Я заўсёды рады ўдзельнічаць у цікавых праектах."
Навіны
Што такое прома код у гульнях?
Як часта ў жыцці бываюць сітуацыі, калі вам вельмі хочацца займець пэўны тавар, але пры гэтым вам здаецца, што ён варта занадта дорага. І вы адмаўляецеся ад задумы, але надзея на куплю жаданай рэчы заўсёды застаецца. Вы думаеце, ш...
Этериевая карона. Як атрымаць этериевую карону ў "Скайрим"
Этериевая карона – старажытны двемерский артэфакт, атрымаць якую можна за праходжанне квэста «Затерявшееся ў стагоддзях». Аб тым, як стварыць гэты магічны прадмет і якія перавагі ён дае, вы даведаецеся з гэтага а...
Тое, што трэба ведаць аб кансольных каманд CS: GO для прыцэла
Мабыць, кожны геймер хоць бы раз гуляў у такую гульню, як Counter-Strike, таму практычна кожны ведае, што ў спецыяльнай вінтоўкі AWP няма прыцэла, з-за чаго стральба ад сцягна дастаўляе нямала нязручнасцяў. Таксама не ўсім падабае...
Як запусціць Android на кампутары. Ўстаноўка Андроід на кампутар
Не сакрэт, што доўгі час да сістэме Android ставіліся з недаверам, а многія аматары «яблычных прылад» нават рабілі выгляд, што яе не існуе. Але цяпер усё больш людзей, аб'еўшыся праславутымі садавінай, сталі звяртаць у...
Як прыняць эстафету ў "Інстаграме" і стаць папулярным?
Флэш-мобы заўсёды былі папулярныя не толькі ў рэальным жыцці, але і ў інтэрнэце. Часцей за ўсё розныя эстафеты сустракаюцца ў сацыяльных сетках. Іх сутнасць сабраць вакол адной тэмы велізарная колькасць людзей, якія б вынікалі выз...
"Адключана: iPhone. Падключыцеся да iTunes" - як разблакаваць? Рашэнне ёсць!
Apple – самая вядомая і паважаная кампанія, якая вядомая па ўсім свеце. Яна выдае рознае праграмнае забеспячэнне, распрацоўвае кампутары і выпускае усімі вядомую прадукцыю iPhone і iPad. Практычна ўвесь свет ахутаны гэтым пр...
Заўвага (0)
Гэтая артыкул не мае каментароў, будзьце першым!