Kieu du lieu co cau truc.doc

Chia sẻ bởi Lương Đức Tuấn | Ngày 26/04/2019 | 36

Chia sẻ tài liệu: Kieu du lieu co cau truc.doc thuộc Tin học 12

Nội dung tài liệu:

DỮ LIỆU KIỂU MẢNG
I. MẢNG MỘT CHIỀU
1. Khái niệm chung về cấu trúc dữ liệu:
Chúng ta đã làm quen với các kiểu dữ liệu đơn giản là các kiểu vô hướng (Integer, Char, Boolean, Real, kiểu liệt kê) và đoạn con. Trong Pascal tồn tại các kiểu dữ liệu có cấu trúc là các kiểu dữ liệu được tạo ra từ các phần tử có kiểu dữ liệu đơn giản bằng một cách nào đó. Chúng được đặc trưng bằng kiểu dữ liệu của các phần tử và quan trọng hơn cả là phương pháp cấu thành kiểu dữ liệu mới (điều đó cũng có nghĩa là phương pháp truy nhập vào kiểu dữ liệu có cấu trúc). Tính có cấu trúc của dữ liệu là một đặc trưng của ngôn ngữ lập trình có cấu trúc.
Pascal có tất cả 4 kiểu dữ liệu có cấu trúc mà chúng ta sẽ lần lượt ngiên cứu : mảng (Array), tập (Set), bản ghi (Record) và tệp (File).

2. Kiểu dữ liệu có cấu trúc : Mảng (Array)
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 đựoc truy nhập trực tiếp thông qua tên mảng cùng với chỉ dẫn truy nhập được để giữa hai ngoặc vuông [ ].
Định nghĩa kiểu mảng T có kiểu các phần tử là KPT, có kiểu chỉ dẫn KCD để hướng dẫn cách tổ chức mảng cũng như cách truy nhập vào các phần tử mảng được viết trong Pascal như sau :

Type
Kiểu_mảng T = Array[ Kiểu_chỉ_dẫn KCD ] Of Kiểu_phần_tử KPT ;

hay viết tắt thành :

T = Array[ KCD ] Of KPT ;

Khi đó việc khai báo một biến A có kiểu là Kiểu_mảng có thể được viết như sau :

Var
A : Kiểu_mảng T ;

hoặc ta có thể khai báo trực tiếp biến A cùng với kiểu của mảng trong phần khai báo biến khi không có định nghĩa kiểu trong phần Type :

Var
A : Array[ KCD ] Of KPT ;

Chúng ta hãy xét một số ví dụ định nghĩa và khai báo sau :

Type
AI = Array[ 1.. 10 ] Of Integer ;
AC = Array [ 1.. 10 ] Of Char ;
Color = ( Red, Blue, Green, White, Black ) ;
Var
A, B, C : AI ;
X, Y : AC ;
M1, M2 : Array[ -3.. 5 ] Of Real ;
MC : Array[ `A`.. `Z` ] Of Integer ;
MM : Array[ Color ] Of Boolean ;

AI, AC là hai kiểu mảng gồm 10 phần tử được đánh số thứ tự từ 1 đến 10 thông qua kiểu chỉ dẫn là một đoạn con các số nguyên 1.. 10. Các phần tử của AI có kiểu là số nguyên còn các phần tử của AC có kiểu là các kí tự. A, B, C là các biến có kiểu là AI.
Còn M1, M2 là hai biến được định nghĩa kiểu luôn khi khai báo. Đây là hai biến mảng gồm 9 phần tử là các số thực, được đánh số từ -3 đến 5.
MC là một biến mảng gồm 26 số nguyên được đánh số qua các chỉ dẫn là các chữ cái từ `A` đến `Z`.
MM là một mảng gồm 5 phần tử kiểu Boolean, các phần tử đựoc đánh dấu qua chỉ dẫn là tên của 5 màu sắc.
Một điều lưu ý là khi khai báo mảng, kiểu chỉ dẫn chí có thể là các kiểu đơn giản như sau: kí tự ( như biến MC ), đoạn con ( ví dụ đoạn con Integer như các kiểu AI, AC ), kiểu liệt kê do người sử dụng định nghĩa (như biến MM) và kiểu Boolean. Kiểu chỉ dẫn không được là kiểu Real hoặc Integer. Nghĩa là không được viết :

X : Array[ Integer ] Of Integer ;
Y : Array[ Real ] Of Integer ;

Việc truy nhập vào một phần tử nào đó của mảng được thực hiện qua tên biến mảng, theo sau là giá trị chỉ dẫn để trong ngoặc vuông như :

MM[ Red ] := True ;
MC[ `B` ] := 5 ;

Do thời gian truy nhập vào một phần tử của mảng không phụ thuộc vào giá trị của chỉ dẫn nên cấu trúc mảng thuộc kiểu cấu trúc truy nhập trực tiếp.

Ví dụ1:
Gán tất cả 5 giá trị của
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lương Đức Tuấn
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)