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

tiết 19. Kiểu mảng (tiết 1)

3 660 2
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

Tiêu đề Kiểu mảng
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài giảng
Năm xuất bản 2008
Thành phố Hồ Chí Minh
Định dạng
Số trang 3
Dung lượng 70,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

Kỹ năng: - Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể.. Đếm xem số lượng ngày trong tuần có nhiệt độ

Trang 1

Ngày soạn: 10/11/2008 Ngày dạy:……/…… /………

Tiết 19

CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC

Bài 11: KIỂU MẢNG

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 một chiều Biết được một loại biến có chỉ số

- Biết cấu trúc tạo kiểu mảng một chiều và cách khai báo biến kiểu mảng một chiều

2 Kỹ năng:

- Tạo được kiểu mảng một chiều và sử dụng biến mảng một chiều trong ngôn ngữ lập trình Pascal để giải quyết một số bài toán cụ thể

II Đồ dùng dạy học:

1 Chuẩn bị của giáo viên:

- Giáo án, SGK, SGV, máy chiếu Projector

2 Chuẩn bị của học sinh:

- SGK, vở ghi bài

III Hoạt động dạy và học:

1 ổn định lớp:

2 Hỏi bài cũ: không

3 Lên lớp

Giới thiệu: Trong 1 bài lập trình nếu chúng ta gặp nhiều phần tử có cùng kiểu dữ liệu, có vai trò như nhau trong bài toán thì chúng ta có thể nhóm lại thành 1 mảng Trong bài này chúng ta sẽ đi nghiên cứu 2 loại mảng đó là mảng

1 chiều và mảng 2 chiều

Hoạt động của giáo viên và học sinh Nội dung

Chúng ta đi xét ví dụ sau:

VD: Nhập vào nhiệt độ của 7 ngày

trong tuần, tính và đưa ra nhiệt độ

trung bình của tuần đó Đếm xem số

lượng ngày trong tuần có nhiệt độ

cao hơn nhiệt độ trung bình đó là bao

nhiêu ngày?

GV: Em nào có thể nêu ý tưởng giải

được bài toán này?

→ Ta có thể sử dụng 7 biến để lưu

nhiệt độ của 7 ngày Khi nhập vào

nhiệt độ, tính trung bình cộng của

nhiệt độ đó Để đếm số ngày có nhiệt

độ cao hơn nhiệt độ trung bình ta có

thể sử dụng 1 biến để đếm được khởi

tạo bằng 0 So sánh nhiệt độ của các

ngày với nhiệt độ trung bình của cả

I Kiểu mảng một chiều

1 Đặt vấn đề

Program nhietdo;

Uses crt;

Var t1,t2,t3,t4,t5,t6,t7,tbc:real;

S:integer;

Begin Write(‘nhap nhiet do cua cac ngay trong tuan’);

Readln(t1,t2,t3,t4,t5,t6,t7);

Tbc:=(t1+t2+t3+t4+t5+t6+t7)/7; S:=0;

Trang 2

tuần, nếu cao hơn nhiệt độ trung bình

thì tăng biến đếm lên 1 đơn vị

GV gọi 1 HS lên bảng viết chương

trình

Giả sử tôi cần giải bài toán trên với

số lượng ngày là rất lớn thì chương

trình trên có những hạn chế gì?

Để khắc phục nhược điểm trên người

ta ghép các biến nhiệt độ trên vào 1

dãy và đặt cho chúng cùng 1 tên và

đánh cho mỗi 1 phần tử 1 chỉ số

Khi ghép lại và xây dựng như vậy

chúng ta được 1 dãy các phần tử có

cùng kiểu dữ liệu và được gọi là 1

mảng 1 chiều

Hãy nghiên cứu SGK và cho biết Em

hiểu thế nào là mảng 1 chiều?

Để xác định mảng 1 chiều ta cần xác

định được các yếu tố nào?

Vậy mảng 1 chiều được khai báo như

thế nào trong ngôn ngữ lập trình

Pascal? Chúng ta đi tìm hiểu phần 2

Để khai báo mảng 1 chiều chúng ta

có 2 cách để khai báo đó là khai báo

trực tiếp và khai báo gián tiếp

Khai báo trực tiếp

If t1>tbc then s:=s+1;

If t2>tbc then s:=s+1;

If t3>tbc then s:=s+1;

If t4>tbc then s:=s+1;

If t5>tbc then s:=s+1;

If t6>tbc then s:=s+1;

If t7>tbc then s:=s+1;

Writeln(‘nhiet do tb trong tuan la’,tbc);

Writeln(‘so ngay co nhiet do cao hon nhiet do tb la’,s);

Readln;

End

→ Phải khai báo quá nhiều biến, chương trình phải viết quá dài

- Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệu Các phần

tử trong mảng có cùng chung một tên

và phân biệt nhau bởi chỉ số

+ Tên kiểu mảng một chiều + Số lượng phần tử của mảng + Kiểu dữ liệu của các phần tử + Cách khai báo

+ Cách tham chiếu đến phần tử

2 Khai báo

a Khai báo trực tiếp VAR <ds biến mảng>:ARRAY[kiểu chỉ số] OF <kiểu phần tử>;

b Khai báo gián tiếp

Trang 3

Khai báo gián tiếp

Ý nghĩa của các thành phần trong câu

lệnh

Chúng ta xét 1 số ví dụ sau:

- Khai báo trực tiếp:

Trong khai báo trên n phải là hằng

nguyên

Khi khai báo 1, máy tính sẽ tạo cho

ta 1 danh sách gồm 30 phần tử có giá

trị kiểu số thực và cùng tên là

nhietdo được phân biệt nhau bởi chỉ

số của các phần tử

Tương tự đối với khai báo thứ 2

Ta không được nhầm lẫn giữa chỉ số

của các phần tử và giá trị của phần

tử Chỉ số của phần tử cho ta biết vị

trí của phần tử đó trong mảng

Vậy chúng ta làm thế nào để tham

chiếu đến phần tử trong dãy?

a[1]: Phần tử đầu tiên của mảng a

a[i]: Phần tử ở vị trí thứ I của mảng a

TYPE <tên kiểu mảng>=ARRAY[kiểu chỉ số] OF <kiểu phần tử>;

VAR <ds biến mảng>:<tên kiểu mảng>;

Trong đó:

- TYPE, VAR, ARRAY, OF là các từ khoá

- DS biến mảng là tên các mảng được phân cách nhau bởi 1 dấu phẩy(,);

- Kiểu chỉ số thường là 1 đoạn số nguyên lien tục có dạng n1 n2 với n1, n2 là các hằng hoặc biểu thức nguyên, xác định chỉ số đầu và chỉ số cuối của mảng

- Kiểu phần tử là kiểu của các phần tử của mảng

Var nhietdo:array[1 30] of real;

Dongy:array[1 n] of booolean;

- Sử dụng chỉ số của phần tử trong mảng để tham chiếu đến phần tử theo cấu trúc:

<Tên biến mảng>[[chir số của pt] VD: Để truy suất đến phần tử trong mảng nhietdo ở vị trí 15 ta viết là nhietdo[15]

IV.Củng cố bài học:

1 Nhắc lại những nội dung đã học:

- Cách tạo kiểu mảng một chiều và cách khai báo biến

- Tham chiếu đến từng phần tử: tên_biến[chỉ số]

2 Bài tập về nhà:

- Viết chương trình nhập vào một mảng gồm n số nguyên, mỗi số có giá trị tuyệt đối không quá 300 Tính tổng giá trị các phần tử có giá trị chia hết cho k

Ngày đăng: 03/06/2013, 01:26

TỪ KHÓA LIÊN QUAN

w