Mảng 1 chiều edit

Khái niệm edit

  • Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và một phần tử có một chỉ số.
  • Để mô tả mảng, cần xác định:
  1. Kiểu của các phần tử
  2. Cách đánh số phần tử

VD:

Phần tử 1 1 2 3 5 8 13 ...
Chỉ số 1 2 3 4 5 6 7 ...

Khai báo edit

Trực tiếp Gián tiếp
Cú pháp
VAR <tên biến mng> : ARRAY[<ch s đầu>..<ch s cui>] OF <kiu d liu>;
TYPE <tên kiu mng> = ARRAY[<ch s đầu>..<ch s cui>] OF <kiu d liu>;
VAR  <tên biến mng> : <tên kiu mng>;
Ví dụ
VAR A : ARRAY[1..50] OF real;
TYPE ten = ARRAY[1..50] OF string;
VAR  B : ten;

Các thao tác cơ bản edit

  • Nhập mảng A gồm N phần tử:
Write('Số lượng phần tử: ');
readln(n);
For i:= 1 to n do readln(a[i]);
  • In mảng ra màn hình:
For i:= 1 to n do write(a[i]);  {bình thường}
For i:= n downto 1 do write(a[i]); {quay lui}
  • Duyệt mảng:
For i:=1 to n do <câu lnh>;
For i:= n downto 1 do <câu lnh>;


Mảng 2 chiều

Khái niệm edit

  • Mảng hai chiều là một dãy hữu hạn của hữu hạn của phần tử. Mảng được đặt tên và một phần tử có kiểu dữ liệu là mảng và gồm nhiều phần tử con. Mỗi phần tử con cùng kiểu dữ liệu.
  • Để mô tả mảng 2 chiều, cần xác định:
  1. Kiểu của các phần tử
  2. Số lượng phần tử con của mỗi phần tử
  3. Cách đánh số của các phần tử con

VD:

Phần tử
1
2
3
...
Phần tử con 1 | 2 | 3 1 | 2 | 3 1 | 2 | 3 ...
Chỉ số 1 | 2 | 12 3 | 9 | 0 5 | 1 | 2004 ...

Khai báo edit

Trực tiếp Gián tiếp
Cú pháp
VAR <tên biến mng> : ARRAY[<ch s đầu>..<ch s cui>] OF ARRAY[<ch s đầu>..<ch s cui>] OF <kiu d liu>;
TYPE <tên kiu mng> = ARRAY[<ch s đầu>..<ch s cui>] OF ARRAY[<ch s đầu>..<ch s cui>] OF <kiu d liu>;
VAR  <tên biến mng> : <tên kiu mng>;
Ví dụ
VAR A : ARRAY[1..10] OF ARRAY[1..4] OF word;
TYPE hello = ARRAY[1..10] OF ARRAY[1..3] OF string;
VAR  B : hello;

Các thao tác cơ bản edit

  • Nhập mảng A gồm N phần tử:
Write('Số lượng phần tử: ');
readln(n);
write('Số lượng phần tử con : ');
readln(m);
For i:= 1 to n do
    for ii:= 1 to m do
        begin
            write('[',i,',',ii,']','= ');
            read(a[i,ii]);
        end;
  • In mảng ra màn hình:
For i:= 1 to n do for ii:= 1 to m do write(a[i,ii]);  {bình thường}
For i:= n downto 1 do for ii:= m to 1 do write(a[i,ii]); {quay lui}
  • Duyệt mảng:
For i:=1 to n do for ii:= 1 to m do <câu lnh>;
For i:= n downto 1 do for ii:= m downto 1 do <câu lnh>;

Ứng dụng edit

Mảng 1 chiều edit

  • Dùng để làm việc chung với các số liệu có số lượng lớn.
  • Áp dụng vào nhiều thuật toán.

Mảng 2 chiều edit

  • Đa số là áp dụng vào ma trận.
  • Thông tin con cho danh sách.