PASCAL/Mảng
< PASCAL
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:
- Kiểu của các phần tử
- 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 mảng> : ARRAY[<chỉ số đầu>..<chỉ số cuối>] OF <kiểu dữ liệu>;
TYPE <tên kiểu mảng> = ARRAY[<chỉ số đầu>..<chỉ số cuối>] OF <kiểu dữ liệu>; VAR <tên biến mảng> : <tên kiểu mảng>;
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 lệnh>;
For i:= n downto 1 do <câu lệnh>;
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:
- Kiểu của các phần tử
- Số lượng phần tử con của mỗi phần tử
- Cách đánh số của các phần tử con
VD:
Phần tử 123... 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 mảng> : ARRAY[<chỉ số đầu>..<chỉ số cuối>] OF ARRAY[<chỉ số đầu>..<chỉ số cuối>] OF <kiểu dữ liệu>;
TYPE <tên kiểu mảng> = ARRAY[<chỉ số đầu>..<chỉ số cuối>] OF ARRAY[<chỉ số đầu>..<chỉ số cuối>] OF <kiểu dữ liệu>; VAR <tên biến mảng> : <tên kiểu mảng>;
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 lệnh>;
For i:= n downto 1 do for ii:= m downto 1 do <câu lệnh>;
Ứ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.