Se poate trece la capitolul următor cu tasta ► și se poate reveni la un capitol precedent cu tasta ◄

Cum putem defini șiruri/vectori/array-uri în Pascal


<

C
a
p
i
t
o
l
u
l

a
n
t
e
r
i
o
r

<

Șirurile se declară în felul următor:

Declararea de șiruri

Indexurile sunt date de intervalul dintre parantezele drepte. Pentru intSir avem posibilitatea de a accesa 10 elemente: intSir[1], intSir[2], intSir[3], intSir[4], intSir[5], intSir[6], intSir[7], intSir[8], intSir[9], intSir[10].

Indexurile pot fi numere negative. Un interval de la -10 la 10 e permis. Totul e permis atât timp cât se respectă două condiții:

  • intervalul să fie de tipul integer ori de tipul word. Adică cu indexuri fie de la -32758 la 32767, ori de la 0 la 65535. Nu o să se poate declara un șir de la -40000 la 1000.
  • Suma spațiului alocat să fie maxim 65535 de octeți/bytes (64 kilo octeți). Dacă avem mai multe șiruri, spațiul alocat însumat să nu depășească această valoare.

Așadar avem următoarele limite, după tipurile de date componente:

  • date de 1 octet/byte: maxim 65534 elemente. Ex.: shortSir: array[1..65534] of shortint;
  • date de 2 octeți/bytes: maxim 32766 elemente. Ex.: intSir: array[1..32766] of integer;
  • date de 4 octeți/bytes: maxim 10921 elemente. Ex.: shortSir: array[1..10921] of real;
  • string-uri: maxim 254 elemente. Ex.: shortSir: array[1..254] of string;

sau, altfel spus, cu un element mai puțin decât limita maximă. Asta dă un număr ciudat pentru tipul de date real care e pe 6 octeți/bytes.

În plus, putem defini șiruri multidimensionale precum matricile, după cum e declarată variabila intSirD. Numărul de dimensiuni ale unui șir e în primul rând limitat de memoria disponibilă și devine extrem de limitativ de la 4 dimensiuni în sus. Și greu de imaginat dacă nu poți vizualiza spațiul-timp ca fiind curbat [Deedee].

Pentru a accesa un element al unui șir multidimensional, indexurile sunt despărțite de virgulă ca de exemplu: intSirD[1,1,1] sau intSirD[6,2,4].


>

C
a
p
i
t
o
l
u
l

u
r
m
ă
t
o
r

>

Ți-a fost de ajutor ce am scris aici?
Hei, mersi de răspuns.