You are on page 1of 2

DỮ LIỆU KIỂU MẢNG

PHẦN 1: MẢNG MỘT CHIỀU


A. LÝ THUYẾT
I. KHAI BÁO MẢNG
Cú pháp:
VAR <Biến mảng> : ARRAY [chỉ số] OF <Kiểu dữ liệu>;
Ví dụ:
VAR M: Array[1..100] of Integer;
C: Array[‘A’..’Z’] of byte;
Trong đó chỉ số có kiểu vô hướng đếm được (như: nguyên, kí tự ...)
II. QUẢN LÝ MỘT MẢNG:
- Để quản lý một dãy cần hai biến nguyên và một biến mảng.
Một biến kiểu nguyên để lưu số phần tử của dãy,
một biến nguyên khác để lưu chỉ số và
một biến mảng để lưu giá trị các phần tử của dãy.
- Để truy cập đến phần tử thứ k trong mảng một chiều A,
ta sử dụng cú pháp: A[k].
- Có thể sử dụng các thủ tục READ(LN)/WRITE(LN)
đối với các phần tử của biến kiểu mảng.
Ví dụ: A: Array[1..500] of Longint;

III. CÁC CÂU LỆNH LÀM VIỆC VỚI DỮ LIỆU KIỂU MẢNG:
1. Câu lệnh nhập, xuất:
a.Nhập mảng:
Write(‘Nhap n: ‘); Readln(n);
For i:=1 to n do
Begin
Write(‘a[‘, i, ‘]=’);
Readln(a[i]);
End;
b.Xuất mảng:
For i:=1 to n do
Write(a[ i]: 5);
2.Sắp xếp mảng
For i:=1 to n-1 do
For j: = i+1 to n do
If a[i] >a[j] then
Begin
Tam:=a[i];
A[i]:=a[j];
A[j]:=tam;
End;
3.Xác định phần tử lớn nhất, bé nhất:
Min:=a[1]; max:=a[1];
For i:=1 to n do
Begin
If max<a[i] then max:=a[i];
If min >a[i] then min: =a[i];
End;
4. Thuật toán xóa, chèn phần tử trong dãy:
a. Xóa phần tử trong dãy:
Nhập vị trí cần xóa (vitri)
For i:= vitri To cuoi-1 Do
A[i]:=a[i+1];
Cuoi:=cuoi-1;
Xuất mảng sau khi xóa
b. Chèn phần tử vào trong dãy:
Nhập vitri, so cần xóa
For i:= cuoi+1 Downto vitri + 1 Do
A[i]:=a[i-1];
A[vitri]:=so;
Cuoi:=cuoi+1;
Xuất mảng sau khi chèn

You might also like