Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (290.83 KB, 24 trang )
(1)
Em 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
Những hạn chế:
Phải khai báo quá nhiều biến.
Chương trình tính tố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
write(diem hs,i,:’);
readln(diem[i]);
End;
Ví dụ 1:
BÀI 9. LÀM VIỆC VỚI DÃY SỐ
* 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Ố
A
i 1 2 3 4 5 6
8 12 5 9 17 3
Trong đó:
Tên mảng: A
Chỉ số: i
Số phần tử của mảng: 6
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Ố
* 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
BÀI 9. LÀM VIỆC VỚI DÃY SỐ
Ví 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
BÀI 9. LÀM VIỆC VỚI DÃY SỐ
2. Ví dụ về biến mảng
Chieucao
1 2 3 4 …. 50
Chỉ số
1.7
1.5 1.65 1.75 …. 1.8
9
Tuoi 7 6 8 ….
1 2 3 4 …. 40
10
Chỉ số
BÀ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 đó:
BÀ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 đó:
BÀ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 đó:
BÀ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
BÀ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:
Write(‘Thu nhap cua gd thu 1: ‘);
Readln(thunhap1);
Write(‘Thu nhap cua gd thu 2: ‘);
Readln(thunhap2);
Write(‘Thu nhap cua gd thu 3: ‘);
Readln(thunhap3);
…
Write(‘Thu nhap cua gd thu 50:
‘);
Readln(thunhapk);
For i:=1 to 50 do readln
( thunhap[i] );
BÀ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:
- 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
BÀI 9. LÀM VIỆC VỚI DÃY SỐ
2. Ví dụ về biến mảng
Ví dụ 2 (SGK / 74)
BÀ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;
BÀ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
BÀI 9. LÀM VIỆC VỚI DÃY SỐ
2. Ví dụ về biến mảng
Gán giá trị cho các phần tử
+ Bằng câu lệnh gán trực tiếp
A[1]:=5;
+ Nhập dữ liệu từ bàn phím
Nhậ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
Theo em nghĩ trên
thực tế: người ta sử
dụng biến mảng để
giải quyết những
bài toán lập trình
3. 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