Tải bản đầy đủ (.doc) (6 trang)

Mang hai chieu(11)

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 (68.83 KB, 6 trang )

Giáo án lý thuyết
Bài 11: Kiểu mảng (Tiết 4)
I. Mục tiêu:
1. Kiến thức:
- Biết đợc một kiểu dữ liệu mới là kiểu mảng hai chiều
- Biết đợc cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu
đến từng phần tử của mảng.
2. Kỹ năng:
- Tạo đợc kiểu mảng hai chiều và khai báo biến mảng hai chiều trong
ngôn ngữ lập trình Pascal. Sử dụng đúng biến mảng để giải quyết một
số bài toán cụ thể
II. Hoạt động dạy học:
1. ổn định tổ chức lớp:
Kiểm tra sĩ số: Tổng số: Vắng:
Có phép: Không phép:
2. Kiểm tra bài cũ:
Câu hỏi: - a) Cách khai báo mảng một chiều và cách tham chiếu tới phần
tử của mảng? (7đ)
- b) Vận dụng: Cho dãy số A = (a
1
, a
2
, , a
n
), (a
i
nguyên, i =
1, , n và 3 < n <= 100). Viết đoạn chơng trình khai báo biến
cần sử dụng? (2đ)
Trả lời: a) Cách khai báo mảng một chiều:
Cách 1: Khai báo trực tiếp biến mảng một chiều:


Var <tên biến mảng> : array [kiểu chỉ số] of <kiểu phần tử>;
Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng một chiều:
Type <tên kiểu mảng> = array [kiểu chỉ số] of <kiểu phần tử>;
Var <tên biến mảng> : <tên kiểu mảng>;
b) Var n : byte;
A : array[1 n] of integer;
3. Bài mới:
Đặt vấn đề: Trong bài trớc chúng ta đã đợc biết kiểu dữ liệu có cấu
trúc và đã di tìm hiểu về mảng một chiều. Hôm nay chúng ta tiếp tục tìm
hiểu về cấu trúc dữ liệu kiểu mảng và tìm hiểu về mảng hai chiều. Ta vào bài
hôm nay: Kiểu mảng hai chiều
Nội dung Hoạt động của thầy và trò t
1. Bài toán:
Tính và đa ra màn hình bảng cửu chơng
1 2 3 4 5 6 7 8 9 10
2 4 6 4 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
GV: Sử dụng kiến thức về mảng
một chiều, hãy đa ra cách sử
dụng kiểu mảng đó để lu trữ
bảng cửu chơng?
HS: Sử dụng 9 mảng một chiều,
mỗi mảng lu một hàng của bảng
GV: Với cách lu trữ nh vậy ta

phải khai báo bao nhiêu biến?
HS: Khai báo 9 biến mảng một chiều
GV: Với cách khai báo nh vậy
thì chơng trình nhập xuất dữ liệu
dài và phải khai báo nhiều biến.
Để khắc phục khó khăn này, ta
xem một mảng một chiều là một
phần tử, ta ghép 9 mảng một
chiều trên thành mảng hai chiều
GV: Vậy có nhận xét gì về mảng
hai chiều?
HS: Nếu xem mỗi hàng của
mảng hai chiều là 1 phần tử thì
ta có thể nói mảng hai chiều là
mảng một chiều mà mỗi phần tử
là mảng một chiều.
2. Các yếu tố để xác định mảng hai chiều:
Tơng tự nh với kiểu mảng một chiều,
với kiểu mảng hai chiều, các ngôn ngữ lập
trình cũng có quy tắc, cách thức cho phép
xác định:
- Tên kiểu mảng hai chiều
- Số lợng phần tử của mỗi chiều
- Kiểu dữ liệu của phần tử
- Cách khai báo biến
GV: Để mô tả kiểu mảng hai
chiều ta cần xác định các yếu tố
chính nào?
HS: Các yếu tố để xây dựng
mảng hai chiều:

- Tên kiểu mảng hai chiều
- Số lợng phần tử của mỗi chiều
- Kiểu dữ liệu của phần tử
- Cách tham chiếu đến phần tử
3. Tìm hiểu về kiểu mảng hai chiều:
a. Khai báo:
Tổng quát, khai báo biến mảng hai chiều
trong Pascal nh sau:
Cách 1: Khai báo trực tiếp biến mảng hai
chiều:
Var <tên biến mảng> : array [kiểu chỉ số
hàng, kiểu chỉ số cột] of <kiểu phần tử>;
Cách 2: Khai báo gián tiếp biến mảng qua
kiểu mảng hai chiều:
Type <tên kiểu mảng> = array [kiểu chỉ số
GV: Với bài toán tính và đa ra
màn hình bảng cửu chơng ta sử
dụng biến mảng hai chiều B để l-
u trữ, biến mảng hai chiều B lu
trữ bảng nhân đợc khai báo trong
Pascal nh sau:
Var B : array [1 9] of array
[1 10] of integer;
Hoặc có thể khai báo ngắn gọn:
Var B : array[1 9, 1 10] of integer;
hàng, kiểu chỉ số cột] of <kiểu phần tử>;
Var <tên biến mảng> : <tên kiểu mảng>;
Chú ý: Các biến mảng thờng gồm số
lợng lớn các phần tử nên cần lu ý phạm vi
sử dụng chúng để khai báo kích thớc và

kiểu dữ liệu sao cho tiết kiệm bộ nhớ.
GV: Qua cách khai báo nh trên
em hãy cho biết cách tạo kiểu dữ
liệu mảng hai chiều (cách khai
báo mảng hai chiều)?
HS: Trả lời câu hỏi của GV
Ví dụ: Các khai báo sau đây là hợp lệ:
Type
arrayReal = array[-100 200, 100 200] of
real;
arrayBoolean = array[-n+1 n+1, n 2*n] of
boolean;
Var
arrayInt : array[1 10, 1 15] of integer;
arrayLong : array[0 3*(n+1), 0 n] of Longint;
trong đó n là hằng số
GV: Hãy cho biết đâu là tên biến
mảng, kiểu chỉ số hàng, kiểu chỉ
số cột, kiểu phần tử của các khai
báo trên?
HS: Trả lời câu hỏi của GV
GV: ý nghĩa của câu lệnh Type
arrayReal = array [-100 200,
100 200] of real;?
HS: Lệnh trên dùng để tạo một
kiểu mảng hai chiều có tên là
arrayReal gồm 300 dòng và 100
cột, các phần tử có kiểu dữ liệu
là real.
b. Cách tham chiếu tới từng phần tử của

mảng:
Tham chiếu tới phần tử của mảng hai
chiều đợc xác định bởi tên mảng cùng với
GV: Yêu cầu học sinh quan sát
cấu trúc chung và suy nghĩ tìm
ví dụ
GV: Ví dụ a[i, j] là phần tử ở
hai chỉ số đợc phân cách bởi dấu phẩy và
viết trong cặp ngoặc [ và ]
<tên biến mảng>[chỉ số hàng, chỉ số cột]
dòng i, cột j của mảng a.
HS: Ví dụ: a[2, 9] là phần tử ở
dòng số 2, cột số 9 của mảng a
4. Rèn luyện kỹ năng sử dụng mảng hai
chiều:
Ví dụ 1: Chơng trình tính và đa ra màn hình
bảng nhân
Để nhập dữ liệu ta dùng hai vòng For:
For i:=1 to 9 do
For j:=1 to 10 do
B[i, j] := i*j;
In ra mảng:
For i:=1 to 9 do
Begin
For j:=1 to 10 do Write(B[i, j]:4);
Writeln;
End;
GV: Yêu cầu học sinh theo dõi ch-
ơng trình trong SGK Tr61, 62
GV: Khai báo Uses crt; có ý

nghĩa gì?
HS: Khai báo th viện chơng trình
con Crt để sử dụng đợc thủ tục
Clrscr;
GV: Giải thích chơng trình
Để thực hiện chơng trình
tính và đa ra màn hình bảng
nhân ta phải sử dụng 3 biến, đó
là: biến kiểu mảng hai chiều có
tên là B gồm 9 dòng và 10 cột,
các phần tử có kiểu dữ liệu là
integer. Và 2 biến chỉ số i và j để
lu trữ chỉ số hàng và chỉ số cột
của mảng hai chiều B
Hai vòng for với i, j lồng
nhau để gán giá trị của bảng cửu
chơng cho các phần tử của B
Sau đó in bảng đó ra màn hình
GV: ý nghĩa của lệnh Writeln;
trong chơng trình này?
HS: Để xuống dòng khi in đủ 10 cột.
Ví dụ 2: Nhập vào từ bàn phím các phần tử
của mảng hai chiều B gồm 5 hàng, 7 cột với
các phần tử là các số nguyên và một số
nguyên k. Sau đó đa ra màn hình các phần
tử của mảng có giá trị nhỏ hơn k.
GV: Nêu ví dụ 2 và yêu cầu học
sinh về nhà chạy thử chơng trình
4. Củng cố:
- Những nội dung đã học:

+ Cách khai báo mảng hai chiều
+ Cách tham chiếu đến từng phần tử của mảng
+ Nhập và in dữ liệu của mảng
- Bài tập về nhà:
+ Viết chơng trình nhập vào từ bàn phím một mảng hai chiều
A[1 10, 1 10] với các phần tử là các số nguyên và một số
nguyên x. Đếm số lợng số trong A có giá trị bằng x.
+ Xem nội dung của bài thực hành số 4 (SGK Tr65).
NhËn xÐt cña gi¸o viªn híng dÉn
























Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×