Việc truy cập tới phần tử bất kì của mảng được thực hiện thông qua chỉ số tương ứng của phần tử đó trong mảng. Cú pháp: <tên biến mảng>[chỉ số][r]
Trang 2Em thường nhìn thấy việc xếp hàng tập thể dục,
xếp hàng để mua vé, xếp hàng vào lớp…
Qua những quan sát xếp hàng như trên em thấy sắp xếp có lợi ích gì?
Tập thể dục
Sắp xếp công việc làm cho mọi hoạt động diễn ra một cách có trật
tự và nhanh chóng…
Trang 3Trong lập trình nếu biết
bố trí dữ liệu theo dãy thì việc xử lí dữ liệu
trở nên:
Trang 4Những hạn chế:
Phải khai báo quá nhiều biến.
Chương trình tính toán phải viết khá dài
Write (Diem hs 1= ); Readln(diem_1);
Write (Diem hs 2= ); Readln(diem_2);
Write (Diem hs 3= ); Readln(diem_3);
Write (Diem hs 4= ); Readln(diem_4);
……
Write (Diem hs n= ); Readln(diem_n);
- Nhập và lưu điểm cho n học sinh?
Khai báo n biến như sau:
Var diem_1, diem_2, diem_3,
diem_4, , diem_n: real;
Khắc phục những hạn chế:
Ghép chung n biến trên thành một dãy.
Đặt chung 1 tên và đặt cho mỗi phần tử một chỉ số.
Var diem: array[1 50] of real;
……….
For i:=1 to n do Begin
Trang 5BÀI 9
LÀM VIỆC VỚI DÃY SỐ
Trang 6BÀI 9 LÀM VIỆC VỚI DÃY SỐ
1 Dãy số và biến mảng
Trang 7* Dữ liệu kiểu mảng:
- Là một tập hợp hữu hạn các phần tử có thứ tự, mọi phần tử đều có chung một kiểu dữ liệu gọi là kiểu của phần tử Việc sắp xếp thứ tự được thực hiện bằng cách gán cho mỗi phần tử một chỉ số
Dữ liệu kiểu mảng là gì?
BÀI 9 LÀM VIỆC VỚI DÃY SỐ
1 Dãy số và biến mảng
Trang 8 Kiểu dữ liệu của các phần tử: Kiểu số nguyên
Khi tham chiếu đến phần tử thứ i, ta viết A[i]
Ví dụ: A[5]=17
17
BÀI 9 LÀM VIỆC VỚI DÃY SỐ
1 Dãy số và biến mảng
Trang 9* Biến mảng:
- Là biến có kiểu dữ liệu là kiểu mảng
- Giá trị của biến mảng là một mảng, tức là một dãy số (số nguyên hoặc số thực)
- Mỗi số là giá trị của các phần tử tương ứng
A 17 13 20 10 9 Chỉ số 1 2 3 4 5
Giá trị của mảng Biến mảng
BÀI 9 LÀM VIỆC VỚI DÃY SỐ
1 Dãy số và biến mảng
Trang 10Ví dụ về khai báo biến mảng
Cú pháp khai báo biến mảng như thế nào?
Lợi ích của việc sử dụng biến mảng?
BIẾN MẢNG
Các thao tác có thể sử dụng với biến mảng?
Trang 11BÀI 9 LÀM VIỆC VỚI DÃY SỐ
Var Tuoi: array[1 40] of Integer;
Trang 12BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
* Khai báo:
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ
số cuối>] of <kiểu dữ liệu>;
Trong đó:
- Tên biến mảng: do người lập trình đặt
- Từ khóa: array , of
Trang 13BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
* Khai báo:
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ
số cuối>] of <kiểu dữ liệu>;
Trong đó:
- Chỉ số đầu <= chỉ số cuối (số nguyên)
- Kiểu dữ liệu: integer hoặc real.
Trang 14BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
* Khai báo:
Var <tên biến mảng>: array[<chỉ số đầu> <chỉ
số cuối>] of <kiểu dữ liệu>;
Trong đó:
- Số phần tử = chỉ số cuối – chỉ số đầu + 1
Trang 15BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
Ví dụ 1 (SGK/73)
Var Thunhap: array[1 50] of real;
Tên biến mảng Chỉ số đầu Chỉ số cuối Kiểu dữ liệu
Cách khai báo và sử dụng biến mảng có
lợi ích gì?
Trang 16BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
* Lợi ích của việc sử dụng biến mảng:
- Thay rất nhiều câu lệnh nhập và in dữ liệu bằng một câu lệnh lặp
Trang 17Write(‘Thu nhap cua gd thu 1: ‘);
Trang 182 Ví dụ về biến mảng
* Lợi ích của việc sử dụng biến mảng:
- Sử dụng biến mảng một cách hiệu quả trong xử lí dữ liệu
VD: for i :=1 to 50 do
if thunhap[i] > thunhapTB then writeln
(‘Ho dan’,i, ‘ thu nhap tren TB’);
Trang 19BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
Ví dụ 2 (SGK / 74)
Giả sử chúng ta cần viết chương trình nhập điểm từng môn học cho các học sinh trong một lớp và tính toán trên các điểm đó Vì mỗi học sinh có thể có nhiều điểm theo từng môn học: điểm Toán, Văn, Lí, …
Trang 20BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
Ví dụ 2 (SGK / 74)
Ta có thể khai báo nhiều mảng:
Var diemToan: array[1 50] of real;
Var diemVan: array[1 50] of real;
Var diemLi: array[1 50] of real;
Hay Var diemToan, diemVan, diemLi: array[1 50] of real;
Trang 21BÀI 9 LÀM VIỆC VỚI DÃY SỐ
2 Ví dụ về biến mảng
Việc truy cập tới phần tử bất kì của mảng được
thực hiện thông qua chỉ số tương ứng của phần
tử đó trong mảng.
Cú pháp: <tên biến mảng>[chỉ số]
Ví dụ: Ta có biến mảng A
A[i] là phần tử thứ i của mảng A
Trang 22BÀI 9 LÀM VIỆC VỚI DÃY SỐ
Trang 23Nhập và tính tổng tiền lương hàng tháng, hàng năm cho nhân viên của công ty
Nhập và tính điểm trung bình các môn học của một lớp học
Trang 243 Tìm giá trị lớn nhất và nhỏ nhất của dãy số
Sử dụng biến mảng và câu lệnh lặp (thường là
For…do) giúp cho việc viết chương trình được ngắn ngọn và dễ dàng hơn
For t := 1 to 40 do if DiemTin[t] > 8.0 then writeln(‘Loai Gioi’);
Ví dụ: Tìm những học sinh có điểm tin đạt loại giỏi
BÀI 9 LÀM VIỆC VỚI DÃY SỐ