Chúng ta chỉ xét hai kiểu mảng thông dụng: Kiểu mảng một chiều và kiếu mảng hai chiều.
4. Y/cầu hs tham khảo sgk và hỏi: Emhiểu như thế nào về mãng một chiều? hiểu như thế nào về mãng một chiều?
Hỏi: Để mô tả mảng một chiều, ta cần xác định những yếu tố nào? 4. N/cứu sgk và trả lời: Mảng một chiều là dãy hữu hạn các phận tử cùng kiểu dữ liệu. Các ptử trong mảng cùngtên và phân biệt nhau bởi chỉ số. - Trả lời: + Kiểu của các p/tử. + Cách đánh số các p/tử. ξ11. KIỂU MẢNG 1.Kiếu mảng một chiều a. K/n mảng một chiều (sgk)
2. Hoạt động 2: (20 phút)Tạo kiểu mảng một chiều và khai báo biến mảng
Hđ của GV Hđ của HS Nd ghi bảng
1. Y/cầu hs tìm hiểu phần khai báo
một lời giải khác cho bài toán trên trong trường hợp tổng quát (N ngày), có sử dụng mảng 1 chiều.
Hỏi: Chỉ ra phần khai báo mảng trong phần khi báo của chtrình?
* Ghi lại phần khai báo lên bảng - Ý nghĩa của các khai báo trên là gì?
2. Giới thiệu cú pháp khai báo kiểumảng một chiều. mảng một chiều.
-Khái quát hoá, ta có cú pháp khái báo biến mảng một chiều
* Lưu ý về cách chọn <Kiểu chỉ số>
3. Y/cầu cho ví dụ khai báo mảng?Gọi hs khác: Ý nghĩa của khai báo Gọi hs khác: Ý nghĩa của khai báo bạn vừa viết?
* Lưu ý hs tránh nhầm lẫn giữa tên kiểu dữ liệu mảng và biến kiểu mảng. -Hỏi: (Treo bảng) Trong ba cách khai báo ở ví dụ 2, thì cách nào tốt hơn? - Trả lời Trả lời: Dòng 1: Kbáo kiểu mảng một chiều gồm Max số thực. Dòng 2 : Kbáo biến mảng Nhietdo qua kiểu mảng Lắng nghe và ghi chép 3. Suy nghĩ và trả lời Var Dhs2: array [1..100] of real; - Kbáo trực tiếp mảng có tên Dhs2 gồm 100 p/tử có kiều thực. Trả lời: Cách 2 & 3, vì ta dễ dàng điều chỉnh kích thước của mảng Type
Kmang1=array [1..Max] of real; Var Nhietdo: Kmang1;
b. Khai báo (Có hai cách)+ Kbáo gián tiếp: (sgk) + Kbáo gián tiếp: (sgk) + Kbáo trực tiếp: (sgk)
Ví dụ 1:
Var Nhietdo: array [1..Max] Of real;
Ví dụ 2: Khai báo mảng tối đa 100 số nguyên (chỉ số đầu tiên là 1)
Ta có các cách sau: Cách 1:
Var a: Array[1..100] Of Integer;
Cách 2:
Const Nmax = 100;
Var a: Array[1..Nmax] Of integer;
Cách 3:
Const Nmax = 100;
Type MyArray = Array [1..Nmax] Of Integer;
- Hỏi: Dựa vào ví dụ trang 55 SGK, cho biết:
+ Tên kiểu mảng? + Số phần tử của mảng?
+ Mỗi phần tử của mảng thuộc kiểu gì?
4. Cách tham chiếu đến từng phần tửcủa mảng: của mảng:
Y/cầu hs lấy ví dụ(sử dụng các khbáo ở trên) .ArrayReal .301 phần tử .Real a[2] p/tử ở vị trí thứ 2 của mảng a a[i] p/tử ở vị trí i của mảng a.
* Tham chiếu tới phần tử cuả mảng
Tên_biến[chỉ số]
3. Hoạt động 3: (7 phút) Củng cố
Hđ của GV Hđ của HS Nd ghi bảng
(Treo bảng)
+ Những khai báo nào là đúng? + Biến a trong khai báo trên chiếm dung lượng bộ nhớ là bao nhiêu? (số phần tử của mảng a, kiểu phần tử) + Trả lời: Arrayr=array[1..200] of integer; Arrayb = array[-100..100] of boolean; + Trả lời: a chiếm 400 byte trong bộ nhớ.
Type
Arrayr = array[1..200] Of integer; Arrayr = array[byte] of real; Arrayb = array[-100..100] of
boolean;
Var a : arrayr; B : arrayb;