Matricea dinamică și caracteristicile acesteia
O matrice în cazul general este un set ordonat de elemente, fiecare având un anumit tip (același). Arrays sunt statice și dinamice. Lungimea primei este stabilită în timpul fazei de programare, adică înainte de a începe programul să ruleze, al doilea - în timpul executării.
Pentru o matrice statică, descrierea trebuie să specifice numărul de elemente care nu pot fi modificate (mărite sau scăzute) în timpul funcționării programului. Când executați un program care utilizează o matrice statică, un număr de octeți sunt alocați memoriei pentru a-și stoca elementele. Această cantitate de memorie va fi alocată programului până la finalizarea lucrului. Chiar dacă această memorie nu este utilizată, nu va putea accesa alt cod de program.
Limba de programare Pascal poate funcționa numai cu rețele statice. Prin urmare, dacă doriți să lucrați cu o secvență de lungime variabilă, puteți descrie o structură, de exemplu, dintr-o sută de elemente și puteți utiliza un număr diferit de elemente în diferite etape, care nu depășesc 100. Și acest lucru, desigur, este nerezonabil.
O astfel de problemă nu există într-o abordare integrată Mediul de dezvoltare Delphi. Setul dinamic vă permite să specificați să nu specificați numărul elementelor din descriere, ci să le determinați în timpul executării programului. O matrice dinamică poate fi descrisă în secțiunea Var după cum urmează:
Var masiv: mulțimea întregului
Astfel, structura indicată de identificatorul masiv este o secvență liniară întregă a unei lungimi necunoscute (încă!). Pentru a seta mărimea, programul trebuie să utilizeze procedura SetLength, de exemplu SetLength (Massive, 9). O matrice dinamică masivă va avea o dimensiune egală cu 9. Acum se determină că secvența conține nouă elemente de tip întreg, numerotate de la zero. Aceste caracteristici au o matrice dinamică. Delphi are o procedură care eliberează memoria dintr-un set de numere, atunci când nevoia de stocare a dispărut. Aceasta este procedura Finalize, în cazul nostru va fi aplicată după cum urmează: Finalize (Massive).
În mod similar, puteți descrie și aplica matrice dinamice multidimensionale în Delphi. De exemplu, o structură dinamică bidimensională va fi descrisă după cum urmează:
Var Massive: matrice de matrice de integer
Dacă este necesar, coloanele matricei pot avea lungimi diferite. Acest lucru este specificat și de procedura SetLength.
Deseori se întâmplă, mai ales în programele mari și complexe, că unii structuri de date sunt folosite din când în când sau numai la începutul / sfârșitul programului. În același timp, ar fi foarte risipă să păstrați un loc în RAM "în rezervă". Dinamicul este una dintre căile de distribuție rațională a resurselor sistemului informatic. Deși are unele dezavantaje. În primul rând, nu este întotdeauna convenabil să numeroteze elementele de la zero. În al doilea rând, programatorul trebuie să înțeleagă în mod constant în fiecare punct al codului programului, în ce stare este matricea dinamică. Dar virtuțile lui fac toate aceste dificultăți ridicole. În special, dacă doriți să transferați cantități mari de date dintr-o subrutină, nu puteți face fără o reprezentare dinamică.
- Programare structurată
- Turbo Pascal. În timp ce ... buclă cu condiție prealabilă
- Tipuri de variabile în Pascal: descriere, proprietăți, exemple
- Matricea din "Pascal". Programe pentru tablouri în Pascal
- Mijloacele Java de șiruri de caractere. Sortarea unui matrice în Java. Dispozitiv Java de două…
- Matricea. Elementele matricei. Sumă elemente elemente matrice, număr
- Arrays sunt ... O scurtă introducere la subiect
- Un exemplu de programe în Pascal. Programarea în Pascal
- Bucle eficiente de foreach: PHP și mese regulate
- Java Array. Arrays în Java. Java pentru începători
- jаvascript Array pentru a stoca un număr nelimitat de variabile
- Folosind indexOf (jаvascript) atunci când lucrați cu matrice și șiruri de caractere
- Proprietățile matricei și determinantul acesteia
- Cum se determină numărul de elemente dintr-o matrice PHP?
- Obiecte și matrice de PHP: push & pop matrice
- Ce sunt matricele dinamice ale C ++?
- Exemple de utilizare a metodei lungimii jаvascript
- Care sunt tipurile de date din Pascal?
- Sortarea algoritmilor așa cum sunt
- Tip structurat - matrice unidimensională
- Adresă IP statică și dinamică