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

Tin học 11 – Kiểu mảng_ MẢNG HAI CHIỀU potx

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

Tin hc 11 Kiu mng
Trn vn thnh CNTT- HSPHN
1
Kiu mng (tip)
MNG HAI CHIU
A - Mục đích, yêu cầu
- Học sinh cần nắm đợc cách khai báo dữ liệu mảng hai chiều
- Học sinh cần có các kĩ năng:
+ Nhận biết đợc các thành phần trong khai báo kiểu mảng
hai chiều.
+ Nhận biết đợc định danh của của một phần tử mảng hai
chiều xuất hiện trong cùng một chơng trình.
+ Viết đợc khai báo mảng hai chiều với các chỉ số đều
thuộc kiểu miền con của kiểu nguyên.
B - Phơng pháp, phơng tiện
1. Phơng pháp
- Củng cố kiến thức về mảng một chiều cho học sinh đồng thời
tận dụng những hiểu biết đó để xây dựng kiến thức mới về
mảng hai chiều cho học sinh.
- Trên cơ sở học sinh đã biết về mảng một chiều ta dùng bảng
đánh các chỉ số dòng và cột tơng ứng để giới thiệu với học
sinh về mảng hai chiều.
2. Phơng tiện học tập
- Vở ghi lý thuyết Tin học lớp 11.
- Sách giáo khoa Tin học lớp 11.
C - Tiến trình lên lớp, nội dung bài giảng
I. ổn định lớp (1)
- Yêu cầu lớp trởng báo cáo sĩ số.
II. Kiểm tra bài cũ và gợi động cơ (5)
- Kiểm tra hiểu biết của học sinh về mảng một chiều
- Kĩ năng khai báo và truy xuất phần tử thuộc mảng.


III. Nội dung bài giảng
STT

Nội dung

Hoạt động của thầy và trò

T
.gi
an
Tin hc 11 Kiu mng
Trn vn thnh CNTT- HSPHN
2
1

Khái niệm

- Mảng hai chiều là mảng
một chiều mà mỗi phần tử
của mảng lại là một mảng
một chiều.
- Giống nh mảng một
chiều, có thể truy xuất (hay
thao tác) trên mỗi phần tử
của mảng hai chiều, nhng
khác ở chỗ mỗi phần tử của
mảng hai chiều có hai chỉ số
(chứ không phải một chỉ số
nh mảng một chiều) và do
vậy nó đợc xác định bởi tên

mảng và hai chỉ số.

-
Lấy ví dụ:

dòng
cột
1 2 3 4
1
7

10

9

3

2
8

6

5

6


Thầy hỏi:
- Hãy cho biết phần tử ở
dòng thứ 1 cột 3 có giá trị

là mấy?
Trả lời:
- Có giá trị là 9
- Đây chính là hình ảnh và
cách truy xuất vào mảng
hai chiều.

10


2

Cách khai báo

kiểu dữ liệu
mảng hai chiều
- Khai báo mảng hai chiều
mỗi phần tử của mảng lại là
một mảng một chiều
- Ta dùng hai lần từ khoá
ARRAY trong khai báo biến
với từ khóa VAR
VAR <tên biến mảng> :
ARRAY [kiểu chỉ số dòng]
of ARRAY [kiểu chỉ số cột]
of <kiểu phẩn tử>;
- Trong TuborPascal cho
phép ta có thể khai báo
- Thầy hỏi:
Em hãy cho ví dụ?

ARRAY Mang : ARRAY
[1 3] of ARRAY [1 4] of
integer ;
Giải thích: Ta đã khai báo
biến Mang gồm 3 phần tử,
mỗi phần tử của biến Mang
có kiểu mảng gồm 4 phần tử
kiểu số nguyên.
- Trong TuborPascal cho
phép ta có thể khai báo
ngắn gọn nh sau:
ARRAY Mang : ARRAY
10

Tin hc 11 Kiu mng
Trn vn thnh CNTT- HSPHN
3
ngắn gọn nh sau:

VAR <tên biến mảng>:
ARRAY [kiểu chỉ số dòng,
kiểu chỉ số cột] of <kiểu
phần tử>;
- Khai báo với từ khóa
TYPE
TYPE <tên kiểu mảng> =
ARRAY [kiểu chỉ số
dòng,kiểu chỉ số cột] of
<kiểu phẩn tử>;
Và khai báo biến mảng hai

chiều có dạng:
VAR <tên biến mảng> :
<tên kiểu mảng>;
[1 3,1 4] of integer ;

Ví dụ cụ thể với cách khai báo
dùng từ khóa TYPE
TYPE
Mang = ARRAY [1 3] of
ARRAY [1 4] of integer ;
Khai báo biến mảng
VAR Mang1, Mang2: Mang;
- Khai báo với từ khóaTYPE
có lợi gì?
Có thể sử dụng lại nhiều lần với
các biến mảng có cùng kiểu
mảng.
Ví dụ cụ thể:
Xét bài toán: Tính và đa ra
màn hình bảng cửu chơng.
Giải:
Có thể mô tả dữ liệu của bảng
cửu chơng là kiểu mảng một
chiều gồm 9 phần tử, mỗi phần
tử lại là mảng một chiều có 9
phần tử, mỗi phần tử là một số
nguyên.
ARRAY Mang : ARRAY
[1 9] of ARRAY [1 9] of
integer ;

Hoặc là khai báo mảng hai
chiều
ARRAY Mang : ARRAY
[1 9,1 9] of integer ;

Tin hc 11 Kiu mng
Trn vn thnh CNTT- HSPHN
4
3

Cách truy nhập đến các phần
tử của mảng hai chiều
- Giống nh khai báo kiểu
dữ liệu mảng một chiều,
ngời lập trình cần phải xác
định kiểu của các phần tử tạo
nên mảng và kiểu chỉ số.
- Giống nh mảng một
chiều, các thao tác nhập,
xuất hay xử lí mỗi phần tử
của mảng phải tuân theo quy
định của kiểu phần tử của
mảng.
- Việc thực hiện các thao
tác nào đó (nhập, xuất hay
xử lí ) lần lợt trên các phần
tử của mảng hai chiều
thờng gắn với hai câu lệnh
FOR - DO lồng nhau.
- Cách dùng lệnh để lấy

ngẫu nhiên một số nguyên
trong khoảng từ 0 đến N-1,
giới hạn N do ngời lập trình
đa ra. Dùng hàm
Random(N)
Cụ thể: Mang [i,j ] =
random(N);
- Chú ý: Khi khai báo kích
thớc của mảng phải chú ý
đến dung lợng cho phép
của bộ nhớ dành cho chơng
Thầy hỏi
- Em hãy so sánh sự khác
nhau giữa chỉ số mảng một
chiều và chỉ số mảng hai
chiều?
Mảng một chiều chỉ cần một
chỉ số, mảng hai chiều cần hai
chỉ số và hai chỉ số phải độc
lập nhau.
Ví dụ cụ thể
Xét bài toán: Tính và đa ra
màn hình bảng cửu chơng.
Giải
- Có thể mô tả dữ liệu của
bảng cửu chơng là kiểu
mảng hai chiều
ARRAY Mang : ARRAY
[1 9,1 9] of integer ;
For i:=1 to 9 DO

For j=1 to 9 DO
{các câu lệnh nhập, xuất,
hay thao tác xử lí với phần tử
của mảng hai chiều}
Kết quả: chơng trình tính và
đa ra kết quả của bảng cửu
chơng
1

2

3

4

5

6

7

8

9

2

4

6


8

1
0

1
2

1
4

1
6

1
8

3

6

9

1
2

1
5


1
8

2
1

2
4

2
7

1
5


Tin hc 11 Kiu mng
Trn vn thnh CNTT- HSPHN
5
trình. Có chơng trình
khai
báo không sai cú pháp nhng
vợt quá kích thớc cho
phép, chơng trình dịch sẽ
báo lỗi Structure too large,
ví dụ:
Var M, N : array [1 10000]
of longint;
{Chiếm :
2*10000*4byte>64Kb}



4

8

1
2

1
6

2
0

2
4

2
8

3
2

3
6

5

1

0

1
5

2
0

2
5

3
0

3
5

4
0

4
5

6

1
2

1
8


2
4

3
0

3
6

4
2

4
8

5
4

7

1
4

2
1

2
8


3
5

4
2

4
9

5
6

6
3

8

1
6

2
4

3
2

4
0

4

8

5
6

6
4

7
2

9

1
8

2
7

3
6

4
5

5
4

6
3


7
2

8
1

Thầy và trò cùng nhau viết một
chơng trình tính bảng cửu
chơng hoàn thiện:
Chơng trình
Program bangcuuchuong;
Uses crt;
Var b: array[1 9,1 9]of
integer;
i,j: integer;
Begin
Clrscr;
For i:=1 to 9 do
For j:=1 to 9 do
B[i,j]= i*j;
For i:=1 to 9 do
Begin
For j:=1 to 9 do
Write (b[i,j]:3);
Writeln;writeln;
End;
Tin hc 11 Kiu mng
Trn vn thnh CNTT- HSPHN
6

Realn;

End.

IV. Củng cố bài học (5)
- Kiểu mảng một chiều thờng đợc dùng trong những chơng
trình cần tổ chức dữ liệu nh một dãy các phần tử cùng kiểu để
giải quyết bài toán đặt ra.
- Khi cần tổ chức dữ liệu dạng bảng ngời ta nghĩ đến dùng mảng
hai chiều.
- Mỗi biến mảng có nhiều phần tử tạo nên và đều có chỉ số :
Mảng một chiều có một kiểu chỉ số, mảng hai chiều có hai kiểu
chỉ số.
IV. Bài tập về nhà (2)
- Làm các bài tập trong sách giáo khoa để thành thạo cách khai
báo cách truy xuất đến một phần tử của mảng là một kiểu dữ
liệu có cấu trúc rất hay đợc dùng trong lập trình.
IV. Nhận xét của thầy hớng dẫn
Nhn xột, ỏnh giỏ ca giỏo viờn v tit hc


×