I.Mục đích, yêu cầu:
- Biết được khái niệm mảng một chiều;
- Biết cách khai báo mảng, nhập, in và truy cập các phần tử của mảng;
- Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số.
II. Chuẩn bị:
Gv: giáo án, bảng phụ.
HS: SGK, vở ghi
III. Bài mới:
1. Ổn định tổ chức.
2. Bài mới:
Tuần 29 Thứ 5 ngày 24 tháng 3 năm 2011 Tiết: 55 Lớp 8 1-2 Bài 9. Làm việc với dãy số (t1) I.Mục đích, yêu cầu: - Biết được khái niệm mảng một chiều ; - Biết cách khai báo mảng, nhập, in và truy cập các phần tử của mảng ; - Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số. II. Chuẩn bị: Gv: giáo án, bảng phụ. HS: SGK, vở ghi III. Bài mới: 1. ổn định tổ chức. 2. Bài mới: Hoạt động của giáo viên và học sinh Nội dung Hoạt động 1: Dãy số và biến mảng. ?Viết thủ tục khai báo và nhập dữ liệu cho bài toán ví dụ sau. Gv : Ghi đề bài lên bảng. Hs : Trả lời Gv : Giả sử trong trường hợp ta nhập điểm kiểm TBm của các môn học. ? Tại sao lại phải dùng nhiều biến như vậy ? HS : Vì mỗi biến chỉ có thể mang một giá trị duy nhất. Gv : Trình bày và đưa tới kết luận NNLT đã đưa ra kiểu dữ liệu là Kiểu mảng. ?Dữ liệu kiểu mảng là gì ? Gv : Trình bày các thành phần trong mảng Ví dụ 1: Viết chương trình nhập điểm kiểm tra của các học sinh trong một lớp và sau đó in ra màn hình điểm số cao nhất. Var Diem_1, Diem_2, Diem_3,... :real; ........ Read(Diem_1); Read(Diem_2); Read(Diem_3); .... - Dữ liệu kiểu mảng là một tập hợp các phần tử có thứ tự, và mọi phần tử đều có cùng một kiểu dữ liệu +Chỉ số: số thứ tự của phần tử trong mảng. +Kiểu dữ liệu: số nguyên, số thực. +Biến mảng: có kiểu dữ liệu là kiểu mảng. +Giá trị của biến mảng: dãy số. +Giá trị của phần tử: Hoạt động 2: Ví dụ về biến mảng. ? Để làm việc được với các biến thì chúng ta phải làm gì để phần mềm hiểu? Hs: Phải khai báo. Gv: Giới thiệu cách khai báo. VD: Khai báo mảng biến Điểm trên cho 12 môn học. ? Viết thủ tục khai báo mảng số nguyên gồm 20 phần tử. ? Để dùng đến biến nào thì ta phải làm gì? HS: Ta phải gọi đúng tên biến. Gv: trình bày cách truy cập phần tử. ? Để tính toán được với biến thì ta phải làm gì? HS: Phải nhập dữ liệu từ bàn phím hoặc gán giá trị cho biến. ?Để nhập dữ liệu ta dùng thủ tục nào? Hs: Read, readln. ? Để nhập dữ liệu Diem cho 12 môn học ta làm ntn? HS: Read(Diem_1); Read(Diem_2); Read(Diem_3); ?Chúng ta thấy công việc này ntn? HS: Lặp đi lặp lại Gv: kết luận Gv: trình bày cách nhập và gán dữ liệu cho mảng. ? Gán dữ liệu ta dùng lệnh gì? ?Để in dữ liệu ta dùng lệnh gì? HS: Lệnh Write, Writeln. ? Để in giá trị điểm của các môn trên chúng ta làm ntn? HS: Write(Diem_1); Write(Diem_2); Write(Diem_3); ?Chúng ta thấy công việc này ntn? HS: Lặp đi lặp lại Gv: kết luận Gv: trình bày cách in giá trị dữ liệu. ?Em có nhận xét gì khi chúng ta sử dụng biến mảng thay cho việc sử dụng biến đơn. Hs: Trả lời. GV: Kết luận Ngoài ra trong quá trình xử lí dữ liệu biến mảng cũng xử lí rất nhanh. VD in ra màn hình những bạn xếp loại giỏi. For i:=1 to 50 do If diem[i]>=8.0 then writeln(‘Gioi’); Gv: Giải thích thêm tác dụng của biến mảng. a.Khai báo biến mảng: Var Tênbiếnmảng : array [ .. ] of ; Trong đó: + Tên biến mảng: tự đặt. + array, of: từ khóa. + chỉ số đầu<=chỉ số cuối: số phần tử trong mảng. +kiểu dữ liệu: real, integer. VD: Var Diem:array[1..12] of real; chieucao:array[1..50] of real; Songuyen:array[1..20] of integer; b.Truy cập phần tử: Tên biến mảng[chỉ số] VD: Diem[1]; songuyen[20] c.Nhập dữ liệu cho mảng. For i:=1 to 12 do read(Diem[i]); Diem[1]:=10; Diem[5]:=7; d.In dữ liệu . For i:=1 to 12 do write(Diem[i]); Kết luận: Việc sd biến mảng trong chương trình giúp: Chương trình gọn hơn (sd vòng lặp) Tiết kiệm thời gian và công sức Tránh nhầm lẫn, sai sót. IV: Cũng cố: Gv: nhắc lại kiến thức cần nhớ: + Khái niệm dữ liệu kiểu mảng. + Cách khai báo, truy cập, nhập và in dữ liệu. Bài tập: Làm bài tập 2 sgk BTVN: Làm lại các bài tập còn lại trong sgk. -----------------&&&---------------- Tuần 29 Thứ 5 ngày 24 tháng 3 năm 2011 Tiết: 56 Lớp 8 1-2 Bài 9. Làm việc với dãy số (t2) I.Mục đích, yêu cầu: - Hiểu thuật toán tìm số lớn nhất, số nhỏ nhất của một dãy số. II. Chuẩn bị: Gv: giáo án, bảng phụ. HS: SGK, vở ghi III. Bài mới: 1. ổn định tổ chức. 2.Bài cũ: ? Nêu khái niệm dữ liệu kiểu mảng và tác dụng của nó khi viết chương trình. ? Cách khai báo, truy cập, nhập và in dữ liệu kiểu mảng. 3. Bài mới: Hoạt động của giáo viên và học sinh Nội dung Yêu cầu hs đọc ví dụ 3 sgk. ? Nhắc lại thuật toán của bài toán trên. ? Để làm được bài này chúng ta cần khai báo những biến nào. HS : Biến N để nhập số các số nguyên, N biến để lưu các số nhập vào tức là một mảng A, biến i làm biến đếm, biến Max, Min. ?Hãy viết thủ tục khai báo chương trình. Gọi 1 hs lên bảng làm. ?Hãy viết thủ tục nhập giá trị N từ bàn phím. Gọi 1 hs lên bảng làm ?Nhắc lại thủ tục nhập điểm ở tiết trước ? HS nhắc lại ?Hãy viết thủ tục nhập dữ liệu cho mảng A từ bàn phím. Gọi 1 hs lên bảng làm Gv hướng dẫn cách viết các câu lệnh tiếp theo. 3.Tìm giá trị lớn nhất và nhỏ nhất của dãy. Ví dụ 3: Viết chương trình nhập N số nguyên từ bàn phúm và in ra màn hình số nhỏ nhất và lớn nhất. N cũng được nhập từ bàn phím. program MaxMin; uses crt; Var i, n, Max, Min: integer; A: array[1..100] of integer; Begin clrscr; write('Hay nhap do dai cua day so, N = '); readln(n); writeln('Nhap cac phan tu cua day so:'); For i:=1 to n do Begin write('a[',i,']='); readln(a[i]); End; Max:=a[1]; Min:=a[1]; for i:=2 to n do begin if Max<a[i] then Max:=a[i]; if Min>a[i] then Min:=a[i] end; write('So lon nhat la Max = ',Max); write('; So nho nhat la Min = ',Min); readln; End. IV: Cũng cố: Gv: nhắc lại kiến thức cần nhớ: + Cách khai báo, truy cập, nhập và in dữ liệu ở một bài cụ thể. Đọc phần ghi nhớ sgk. Bài tập: Hướng dẫn làm bài tập 5 sgk BTVN: Viết chương trình nhập một dãy số nguyên gồm n số và tính trung bình cộng của dãy số đó, n nhập từ bàn phím.
Tài liệu đính kèm: