1. Trang chủ
  2. » Công Nghệ Thông Tin

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

6 460 0

Đ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 136,63 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ểu mảng tiếp MẢNG HAI CHIỀU 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 k

Trang 1

Kiểu mảng (tiếp) MẢNG HAI CHIỀU

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

Trang 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, nhưng

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

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’

Trang 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 ;

Trang 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 15’

Trang 5

trình Có chương trình khai

báo không sai cú pháp nhưng

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;

Trang 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

Nhận xột, đỏnh giỏ của giỏo viờn về tiết học

Ngày đăng: 11/08/2014, 07:20

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w