Chúng ta chỉ xét hai kiểu mảng thông
1. N/cứu bài toán và chtrình, suy nghĩ trả lời chtrình, suy nghĩ trả lời các câu hỏi:
- Nhận giá trị nhiệt độ của 7 ngày trong tuần. Cùng kiểu thực (real) - dem: để đếm số ngày tron tuần có nđộ lớn hơn nđộ trung bình.
- Để kiểm tra lần lượt các ngày, nđộ ngày nào lớn hơn nđộ trung bình.
2. Bản chất thuật toán không có gì thay đổi không có gì thay đổi nhưng việc viết chương trình gặp khó khăn do cần dùng rất nhiều biến và đoạn các câu lệnh tính toán khá dài. 3. Lắng nghe ξ11. KIỂU MẢ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: Em hiể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ử. 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ểu mả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?
- 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ì?
- 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 .ArrayReal .301 phần tử 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;
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) .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;
Vara : arrayr; B : arrayb;