KIỂU DỮ LIỆU MẢNG (ARRAY)

Một phần của tài liệu Tài liệu Pascal.ppt (Trang 44 - 47)

A = ARRAY [ Kiểu_chỉ_dẩn ] OF Kiểu_phần _tử

2. Mảng một chiều2. Mảng một chiều

 Là mảng kiểu cấu trúc được đề cập sớm nhất trong các ngôn ngữ lập trình . Nó được dùng để chỉ định một nhóm đối tượng cùng một tính chất nào đó

 VAR, ARRAY và OF là từ khoá. Tên biến mảng là một tên gọi tự đặt. Kiểu thành phần là tên kiểu phần tử mảng

 Khai báo tên gọi có kiểu dữ liệu mảng một chiều có dạng : VAR tên mảng : ARRAY [ Kiểu chỉ dẩn ] OF Kiểu phần tử

Một mảng dữ liệu gồm một số hữu hạn phần tử có cùng kiểu gọi là kiểu cơ bản. Số phần tử của mảng được xác định ngay từ khi định nghĩa ra mảng. Mỗi phần tử của mảng được truy cập trực tiếp thông quatên mnảg cùng với chỉ dẫn truy nhập đựoc để giữa hai ngoặc vuông [ ]. Định nghĩa mảng T có kiểu các phần tử KPT, có kiểu chỉ dẩn KCD để hướng dẫn cách tổ chứcmnãg cũng như cách truy nhập vào các phần tử mảng được viết trong pasacl với từ khoá như sau:

1.

1. Kiểu dữ liệu có cấu trúc :Kiểu dữ liệu có cấu trúc : Mảng (Array)

TYPE : Kiểu_mảng T = ARRAY [ Kiểu_chỉ_dẩn KCC] OF Kiểu_phần _tử KPT; hay viết tắt thành T = ARRAY [ KCD] OF KTP;

VAR : A: Kiểu_mảngT

Ta có thể khai báo trực tiếp biến A khi không cần định nghĩa kiể trong phần TYPE

4545 45

PROGRAM Thue; USES CRT;

CONST n = 10; VAR

tien : ARRAY [ 1…n] OF REAL; BEGIN

CLRSCR ; s : = 0; so : = O;

WRITELN (‘Vao tien cua tung ho’); FOR I := 1 TO n DO BEGIN WRITE (‘ho[‘,I,’]=‘); READ(tien[i]); GOTOXY(where + 11 * I, WhereY - 1); END; S;s/n; FOR i:=1 TO n DO

I tien [i]<s THEN so :=so+1; WRITEN;

WRITEN;

WRITEN(So ho nop thue duoi trung binh ‘ so:9:2); END.

Ví dụ :

Ví dụ : Có 10 hộ kinh doanh nộp thuế nhà nước bằng tiền. Hãy lập chương trình tính số hộ nộp thuế dưới mức trung bình khi nạp từ bàn phím số tiền từng hộ?

4646 46

3. Mảng nhiều chiều3. Mảng nhiều chiều 3. Mảng nhiều chiều

Là mảng kiểu phần tử không bị hạn chế nhiều như kiểu chỉ dẩn. Nó còn có thể là các kiể có cấu trúc. Ví dụ sau cho thấy việc khai báo một mảng có các phần tử cũng là mảng.

Việc truy cập đối với mảng có định nghĩa phức tạp như MPT được tiến hành qua hai cách :

a. Qua hai lần đóng mở ngoặc vuông. Thí dụ : MPT [3] [5] biểu diển phần tử cuối cùng của mảng MPT

b. Hoặc thường được viết đơn giản trong một ngoặc vuông với các chĩ dẫn cáh nhau bằng dấu phẩy : MPT [ 3, 5 ] , Z[3, ‘B’]; [ Xem hình]

Cách viết MT [I] [J] và MPT [ I, J ] tương đương nhau. Mảng được định nghĩa như trên có thể hiểu là ma trận nhiều chiều. Phần tử MPT [ I, J ] sẽ là phần tử hàng thứ I, cột thứ J của MPT.

Một số phép toán không thể dùng vòng FOR J:= 1 TO N DO ..mà phải ghi trực tiếp các phần tử cần đọc vào thủ tục Readln.

Mảng có thể dùng tham số cho chương trình con và mảng không bao giờ dùng làm cho kết quả của FUNCTION. Tuy nhiên cần lưư ý khai báo kiểu của tham số trong vùng khai báo TYPE chứ không định nghĩa kểu trực tiếp ngay trong phần khai báo tham số của CTC (Xem ví dụ khai báo liểu MT dưới đây).

4747 47

TYPE

MT = ARRAY [ 1…3, 1…5] OF REAL;

VAR

Một phần của tài liệu Tài liệu Pascal.ppt (Trang 44 - 47)

Tải bản đầy đủ (PPT)

(58 trang)