1. Trang chủ
  2. » Giáo án - Bài giảng

Mang hai chieu(11)

6 247 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 71,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Để khắc phục khó khă

Trang 1

Giáo án lý thuyết

Bài 11: Kiểu mảng (Tiết 4)

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 = (a1, a2, …, a, an), (ai – nguyên, i =

1, …, a, 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

Trang 2

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ử

Trang 3

- 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ềl-u B ll-u 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ử ở

Trang 4

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

Trang 5

+ 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)

Trang 6

NhËn xÐt cña gi¸o viªn híng dÉn

Ngày đăng: 30/06/2014, 16:00

Xem thêm

HÌNH ẢNH LIÊN QUAN

Bảng nhân - Mang hai chieu(11)
Bảng nh ân (Trang 4)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w