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

Bai 11 Kieu Mang

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 (128.24 KB, 4 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

Chương IV: <i><b>KIỂU DỮ LIỆU CÓ CẤU TRÚC</b></i>


Ngày soạn: 15/10/2011
Tiết theo PPCT: 21, 22, 23


Bài soạn:

<b>§11 KIỂU MẢNG</b>



<b>I. MỤC TIÊU</b>


1. Kiến thức:



- Hiểu rõ khái niệm kiểu mảng.


- Biết mảng là một kiểu dữ liệu có cấu trúc được xây dựng từ những kiểu dữ liệu cơ sở.
Biết một kiểu dữ liệu mới là kiểu mảng một chiều, mảng hai chiều. Biết một loại biến
có chỉ số.


- Kiểu dữ liệu xác định bởi hai yếu tố: Phạm vi đối tượng và các thao tác trên những đối
tượng này.


- Hiểu cách khai báo và truy cập đến các phần tử của mảng.

2. Kỹ năng :



- Nhận biết được các thành phần trong khai báo kiểu mảng một chiều, mảng hai chiều.
- Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một
chương trình.


- Biết cách viết khai báo mảng đơn giản với chỉ số kiểu miền con của kiểu nguyên.

3. Thái độ :



- Tiếp tục xây dựng lịng ham thích lập trình, nhằm giải quyết các bài tốn bằng máy
tính.



- Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình.

<b>II. ĐỒ DÙNG DẠY HỌC</b>



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



Các bảng phụ viết sẳn một số khai báo biến kiểu mảng, các chương trình ví dụ SGK và cấu
trúc của chương trình.


Máy vi tính (Computer), máy chiếu (Projector) (Nếu có điều kiện)

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



Sách giáo khoa và các tài liệu tham khảo (nếu có điều kiện), đọc bài trước ở nhà.

3. Phương pháp:



Diễn giảng, đàm thoại kết hợp sách giáo khoa.

<b>III. HOẠT ĐỘNG DẠY- HỌC</b>



1. Ổn định lớp: điểm danh


2.

Kiểm tra kiến thức cũ:



Các kiểu dữ liệu chuẩn, khai báo các biến cùng kiểu trong Pascal.
{ Var a, b, c, d, e, f : integer;


T1, t2, t3, t4, t5, t6, t7: real;}


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Chương IV: <i><b>KIỂU DỮ LIỆU CÓ CẤU TRÚC</b></i>


3. Nội dung bài mới:




<b>NỘI DUNG GHI BÀI</b> <b>HỌAT ĐỘNG CỦA THẦY</b> <b>HOẠT ĐỘNG CỦA TRÒ</b>


(Tiết 21)


<b>1. Kiểu mảng một chiều</b>


<i><b>Mảng một chiều là dãy hữu</b></i>
<i><b>hạn các phần tử cùng kiểu. Các</b></i>
<i><b>phần tử trong mảng có cùng chung</b></i>
<i><b>một tên và phân biệt nhau bởi chỉ</b></i>
<i><b>số. </b></i>


Để mô tả mảng một chiều
cần xác định kiểu của các phần tử và
cách đánh số các phần tử của nó.
* <b>Các yếu tố xác định mảng một</b>
<b>chiều:</b>


- Tên kiểu mảng một chiều;
- Số lượng phần tử;


- Kiểu dữ liệu của phần tử;
- Cách khai báo biến mảng;
- Cách tham chíêu đến phần tử.


Nêu ví dụ: Xét bài tốn nhập vào
nhiệt độ (trung bình) của mỗi
ngày trong tuần, tính và đưa ra
màn hình nhiệt độ trung bình của
tuần và số lượng ngày trong tuần


có nhiệt độ cao hơn nhiệt độ
trung bình của tuần.


-Yêu cầu hs suy nghĩ và đưa ra ý
tưởng giải quyết bài toán?


Gv treo bảng phụ có viết sẳn
chương trình của bài tốn. Giải
thích q trình thực hiện CT.
- Khi cần giải bài tốn trên với N
ngày, thì CT trên có những hạn
chế nào?


Như vậy để giải quyết vấn đề đó,
người ta thường ghép chung các
biến đó thành 1 dãy và đặt chung
một tên có cùng kiểu, mỗi phần
tử là một chỉ số. Cách khai báo
này trong Pascal gọi là kiểu dữ
liệu mảng một chiều.


- Em hiểu như thế nào về mảng
một chiều?


-Để mô tả kiểu mảng một chiều
ta cần xác định những yếu tố
nào?


- Trong CT ở ví dụ trên, đã khai
báo biến mảng một chiều như


thế nào? (Gọi một Hs lên bảng)


<i><b>HS suy nghĩ và trả lời</b></i>
<i><b>bằng sự nhận biết của</b></i>
<i><b>mình.</b></i>


<i><b>Phải khai báo quá nhiều</b></i>
<i><b>biến, chương phải víêt rất</b></i>
<i><b>dài</b></i>


<i><b>Hs trả lời (có thể trả lời</b></i>
<i><b>theo SGK)</b></i>


<i><b>Hs trả lời.</b></i>


<i><b>Hs lên bảng viết lại khai</b></i>
<i><b>báo.</b></i>


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Chương IV: <i><b>KIỂU DỮ LIỆU CÓ CẤU TRÚC</b></i>


<b>NỘI DUNG GHI BÀI</b> <b>HỌAT ĐỘNG CỦA THẦY</b> <b>HOẠT ĐỘNG CỦA TRỊ</b>
<b>a). Khai báo:</b>


Có hai cách khai báo biến mảng một
chiều:


<i><b>- Khai báo trực tiếp</b></i>


<b>Var <tên biến mảng> : array[kiểu</b>
<b>chỉ số] of <kiểu phần tử>;</b>



<i><b>- Khai báo gián tiếp</b></i>


<b>Type</b> <b> <tên kiểu mảng> =</b>
<b>array[kiểu chỉ số] of <kiểu phần</b>
<b>tử>;</b>


<b>Var <tên biến mảng> : <tên kiểu</b>
<b>mảng>;</b>


Trong đó:


-<b>[kiểu chỉ số]</b> : thường là một đoạn
số nguyên liên 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 (n1<= n2).


-<b><kiểu phần tử> </b>: là kiểu của các
phần tử mảng.


Ví dụ:
Type


ArrayReal = array[-100 .. 200]
of real;


ArrayBoolean = array[-n+1 ..
n+1] of boolean; {n là hằng nguyên}
ArrayInt = array[-100 .. 0] of


integer;


(tiết 21)


* Tham chiếu tới phần tử của mảng
một chiều: được xác định bởi tên
mảng cùng với chỉ số, được viết
trong cặp ngoặc [ và ].


<b>tên_biến[chỉ số]</b>


Vd: tham chiếu tới nhiệt dộ của ngày
thứ 20, viết là:


<b>nhietdo[20]</b>


<i><b>* Chú ý:</b></i> Thường sử dụng câu lệnh
<b>for-do</b> để thực hiện thao tác
nhập/xuất với biến mảng.


Sau khi viết một số VD lên bảng,
Y/c hs cho một số VD khác khai
báo mảng một chiều? Gọi Hs
khác nhận xét về VD của bạn đã
viết.


- Một số ví dụ Gv giới thiệu với
Hs làm quen.


Var A : array [1..10] or real;


{mảng A có 10 phần tử, mà kiểu
các phần tử là số thực}


X, Y : array [‘A’.. ‘Z’] of
integer; {mảng X, Y có 26 phần
tử, mà kiểu các phần tử là các kí
tự}


Như vậy tương ứng với mỗi
phần tử i, một phần tử của mảng
được xác định bởi nhietdo[i], có
thể thực hiện thao tác nhập/xuất
hay xử lí trên phần tử này.
=> Lưu ý khi sử dụng một biến
mảng, với câu lệnh for-do CT sẽ
được viết nắn gọn, dễ hiểu hơn.


Sau đây ta xét một số CT có sử
dụng mảng một chiều.


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Chương IV: <i><b>KIỂU DỮ LIỆU CÓ CẤU TRÚC</b></i>


<b>NỘI DUNG GHI BÀI</b> <b>HỌAT ĐỘNG CỦA THẦY</b> <b>HOẠT ĐỘNG CỦA TRỊ</b>
<b>b). Một số ví dụ:</b>


Ví dụ 1: Tìm phần tử lớn nhất của
dãy số nguyên.


<b>- Input:</b> Số nguyên dương N
(N<=250) dãy N số nguyên dương


A1, A2, …, An, mỗi số đều không


vượt quá 500.


<b>- Output:</b> Chỉ số và giá trị của phần
tử lớn nhất trong dãy số đã cho (nếu
có nhiều phần tử lớn nhất chỉ cần
đưa ra một trong số chúng).


(chương trình SGK).


Ví dụ 2: Sắp xếp dãy số ngun bằng
thuật toán tráo đổi


- <b>Input:</b> Số nguyên dương N (N<=
250) và dãy A gồm N số nguyên
dương A1, A2, …, AN, mỗi số đều


không vượt quá 500.


- <b>Output:</b> Dãy số A đã được sắp xếp
thành dãy khơng giảm


(chương trình SGK).


<b>2. Kiểu mảng hai chiều</b> (Xem SGK)
(<i>giảm tải</i>)


-Nhắc hs các kiến thức đã học ở
lớp 10 về thuật tốn Tìm kiếm,


Sắp xếp. Đọc đề bài, Y/c hs xác
định Input, Output của bài toán?


Gv đưa thuật tốn , y/c hs quan
sát. tìm hiểu.


Đưa ra chương trình, giải thích
các câu lệnh và có thể mơ phỏng
bằng các giá trị cụ thể.


Đoạn lệnh tráo đổi
t:= A[i];
A[i]:= A[i+1];
A[i+1]:= t;
Tại sao phải có biến t?


<i><b>Input: Số nguyên dương</b></i>
<i><b>N.</b></i>


<i><b>Output: Chỉ số và giá trị</b></i>
<i><b>của phần tử lớn nhất</b></i>
<i><b>trong dãy số đã cho.</b></i>


<i><b>Hs lắng nghe, phân tích</b></i>


<i><b> biến t là biến trung</b></i>
<i><b>gian</b></i>


<b>IV. ĐÁNH GIÁ CUỐI BÀI</b>




1. Tạo kiểu dữ liệu mảng một chiều, cách khai báo biến mảng một chiều (trực tiếp và gián


tiếp).


2. Tham chiếu tới từng phần tử của mảng một chiều.
<b>tên_biến[chỉ số]</b>


<b>V. DẶN DỊ CƠNG VIỆC VỀ NHÀ</b>



- Về học bài và nắm vững các kiến thức đã học.


- Trả lời câu hỏi 1, 2, 3, 4 SGK trang 79.


- Xem nội dung phần 2. mảng hai chiều.


- Chuẩn bị trước bài tập và thực hành 3.

<b>BÀI HỌC KINH NGHIỆM</b>



...


...


...


...


...


...


Duyệt của Tổ trưởng CM



...


...


...


...




</div>

<!--links-->

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

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