IV. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (8 phút) Kiểm tra bài cũ
Hđ của GV Hđ của HS
Viết CT tạo và in ra màn hình mảng A gồm n phần tử 10 phần tử. Mỗi phần tử là một số nguyên. Cho biết có bao nhiêu phần tử trong mảng có giá trị bằng số nguyên k.
2. Hoạt động 2: (7 phút)Tìm hiểu ý nghĩa của mảng hai chiều.
Đặt vấn đề: Ở tiết trước, chúng ta đã tìm hiểu cách khai báo mảng, cách tạo mảng và truy cập đến một phần tử trong
mảng một chiều. Hôm nay, chúng ta sẽ tìm hiểu các vấn đề đó đối với mảng hai chiều.
Hđ của GV Hđ của HS Nd ghi bảng
- GV yêu cầu HS xem bảng nhân ở SGK. - Với kiến thức về mảng một chiều đã học, em hãy đưa ra cách sử dụng kiểu mảng đó để lưu trữ bảng nhân?
- Với cách lưu trữ như vậy, ta phải khai báo bao nhiêu biến mảng?
- Khai báo như vậy có những hạn chế nào? - Để khắc phục những hạn chế này, ta có thể mô tả dữ liệu của bảng nhân là kiểu mảng một chiều gồm 9 phần tử, mỗi phần tử là mảng một chiều có 10 phần tử. Như vậy, ta có thể biểu diễn bảng nhân bằng kiểu dữ liệu mảng hai chiều.
- Yêu cầu HS nhận xét về mảng hai chiều? - Nêu khái niệm mảng hai chiều.
- Để mô tả kiểu mảng hai chiều, cần xác định những yếu tố nào?
- Xem bảng nhân ở SGK trang 59..
- Sử dụng 9 mảng một chiều, mỗi mảng lưu một hàng của bảng.
- TL: Khai báo 9 biến mảng một chiều.
- TL: Phải khai báo nhiều biến, chương trình phải viết nhiều lệnh để tạo và in giá trị của mảng.
- Chú ý lắng nghe.
- TL: Nếu coi mỗi hàng của mảng hai chiều là một phần tử thì ta có thể coi mảng hai chiều là mảng một chiều mà mỗi phần tử của nó là mảng một chiều.
- HS trả lời.
§11. KIỂU MẢNG (tt) 2. Kiểu mảng hai chiều:
a. Xét bài toán: Bảng nhân
(SGK).
- Tham khảo SGK và trả lời. (SGK).
* Các yếu tố cần xác định để mô tả kiểu mảng hai chiều. (SGK)
3. Hoạt động 3:(10’)Tìm hiểu cách khai báo biến mảng hai chiều và cách tạo/in mảng hai chiều.
Hđ của GV Hđ của HS Nd ghi bảng
- GV đưa ra hai cách khai báo biến mảng hai chiều.
- GV giải thích các thành phần trong khai báo.
- Gọi HS nêu cách khai báo gián tiếp biến B để lưu trữ bảng nhân ở SGK.
- Gọi HS nhắc lại cách tham chiếu đến một phần tử của mảng một chiều.
- Gọi HS nêu cách tham chiếu đến số 81 trong bảng nhân? - HS chú ý theo dõi. - Chú ý lắng nghe. - HS đứng tại chỗ trả lời. - TL: Tênbiến[chỉ số] - TL: B[9,9] = 81 b. Khai báo: ♦ C1: Trực tiếp:
Var <tênbiếnmảng>:array [kiểu
chỉ số hàng, kiểu chỉ số cột] of
<kiểu phần tử>; ♦ C2: Gián tiếp:
Type <tên kiểu mảng> =
array[kiểu chỉ số hàng, kiểu chỉ số
cột] of <kiểu ptử>;
Var <tên biến mảng>:<tên kiểu
mảng>; Ví dụ:
i) var A:array [1..50,1..100] of integer;
ii) type mang2c = array [1..9,1..10] of byte;
var B: mang2c;
c.Tham chiếu đến một phần tử của mảng hai chiều: Tênbiến[chỉ số hàng,chỉ số cột] VD: i) A[i,j] → phần tử ở hàng i, cột j của mảng A. ii) B[9,9] → phần tử ở hàng 9, cột 9 của bảng nhân B.
4. Hoạt động 4: (17 phút)Tìm hiểu cách viết chương trình đơn giản.
Hđ của GV Hđ của HS Nd ghi bảng
- GV hướng dẫn HS cách tạo mảng hai chiều có m hàng, n cột.
- GV hướng dẫn HS cách in mảng hai
- HS chú ý theo dõi.
d. Các ví dụ:
Ví dụ 1: Viết chương trình tạo và in
mảng hai chiều gồm m hàng, n cột. program Tao_in_mang; var i, j, m, n: integer; A: array [1..100,1..100] of integer; begin
write ('Nhap so hang m = '); readln (m);
write ('Nhap so cot n = '); readln (n); {Tạo mảng} for i := 1 to m do for j := 1 to n do begin write('Nhap A[',i, ',' ,j,']='); readln (A[i , j]); end;
chiều vừa tạo.
- Gọi HS lên bảng sửa lại phần khai báo và các câu lệnh nhập cho phù hợp với bài này.
- GV hướng dẫn HS cách tính tổng. - GV treo bảng phụ viết sẵn chương trình cho HS tham khảo.
- Chú ý lắng nghe và theo dõi.
- HS lên bảng làm. + Không khai báo m,n. + Khai báo thêm biến T.
+ Viết hai vòng for của lệnh tạo và in mảng là:
for i := 1 to 5 do for j := 1 to 7 do
- HS chú ý theo dõi.
- Theo dõi chương trình trên bảng phụ. {In mảng} for i:= 1 to m do begin for j := 1 to n do write (A[i , j]:4); writeln; end; readln end.
Ví dụ 2: Tạo và in mảng hai chiều
gồm 5 hàng, 7 cột. Tính và in ra màn hình tổng các phần tử trong mảng. T:= 0; for i := 1 to 5 do for j := 1 to 7 do T := T + A[i,j];
IV. ĐÁNH GIÁ CUỐI BÀI (3phút)1. Nội dung đã học 1. Nội dung đã học
- Cách khai báo biến mảng hai chiều. - Cách tạo mảng hai chiều.
- Cách tính toán các phần tử trong mảng hai chiều.
2. Câu hỏi, bài tập về nhà : Xem các ví dụ còn lại trong SGK.
Ngày soạn: 25/11/07
Tiết 25 BÀI THỰC HÀNH SỐ 4 (tiết 1)
I. Mục tiêu
1. Kiến thức
- Củng cố kiến thức về dữ liệu kiểu mảng.
- Xây dựng cấu trúc dữ liệu, hiểu thuật toán sắp xếp bằng tráo đổi.
2. Kĩ năng
- Biết chỉnh sữa lỗi trong chương trình.
- Tự nhập các bộ dữ liệu để hiểu ý nghĩa một số câu lệnh.
3. Thái độ
- Nghiêm túc thực hiện đúng nội quy phòng máy, tự giác trong khi lập trình.
II.Chuẩn bị