Triển khai bài mới 2p HOẠT ĐỘNG CỦA THẦY VÀ TRÒ Hoạt động 1: Trình bày mục đích yêu cầu 13p Tiết học hôm nay chúng ta phải thực hiện được các nội dung sau: Làm quen với việc khai báo v[r]
(1)Giáo án Ngày soạn: 13/03/2011 Ngày dạy: 17/03/2011 Lớp: Giáo viên hướng dẫn: Lê Đình Trung Giáo viên soạn : Cái Thị Hạ Ngân Tiết 59, Bài thực hành XỬ LÍ DÃY SỐ TRONG CHƯƠNG TRÌNH A MỤC TIÊU Sau học xong bài này học sinh cần đạt các mục tiêu sau: Kiến thức: - Hiểu và viết chương trình với thuật toán tìm giá trị lớn nhất, nhỏ dãy số, tính tổng dãy số - Ôn luyện cách sử dụng câu lệnh if then, for Kỹ năng: - Thực hành khai báo và sử dụng các biến mảng - Củng cố kĩ đọc, hiểu và chỉnh sửa chương trình Thái độ: - Hình thành phương pháp làm việc khoa học - Vận dụng vào học tập và thực tiễn B.Chuẩn bị Giáo viên - Bài giảng điện tử - Giáo án - Máy tính, Projector Học sinh - SGK, và dụng cụ học tập C Phương pháp - Thuyết trình - Vấn đáp - Trực quan - Hướng dẫn thực hành - Phát và giải vấn đề D Tiến trình lên lớp I Ổn định tổ chức (1p) - Kiểm tra sĩ số( vắng…phép,…không phép) - Ổn định chổ ngồi học sinh II Kiểm tra bài cũ (5p) Câu hỏi 1: Dữ liệu kiểu mảng là gì? Cách khai báo biến mảng Pascal? Câu hỏi 2: Trình bày cú pháp câu lệnh lặp với số lần biết trước và câu lệnh điều kiện Đáp án: Lop7.net CÁI THỊ HẠ NGÂN (2) Giáo án Câu hỏi 1: Dữ liệu kiểu mảng là tập hợp hữu hạn các phần tử có thứ tự và phần tử có cùng kiểu liệu Cách khai báo biến mảng Pascal Tên mảng: ARRAY [<chỉ số đầu> <chỉ số cuối>] OF <kiểu liệu> Câu hỏi 2: Trình bày cú pháp câu lệnh lặp với số lần biết trước và câu lệnh điều kiện Cú pháp câu lệnh lặp với số lần biết trước FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO <câu lệnh>; Câu lệnh điều kiện + IF <điều kiện> THEN <câu lệnh>; + IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2> ; III Triển khai bài (2p) HOẠT ĐỘNG CỦA THẦY VÀ TRÒ Hoạt động 1: Trình bày mục đích yêu cầu (13p) Tiết học hôm chúng ta phải thực các nội dung sau: Làm quen với việc khai báo và sử dụng các biến mảng Ôn luyện cách sử dụng câu lệnh lặp FOR DO Củng cố các kĩ đọc, hiểu và chỉnh sửa chương trình Thực các nội dung đó xem chúng ta đã mục đích yêu cầu bài học Hoạt động 2: Thực hành - Bài tập (30p) Hoạt động 2.1: Xem lại các ví dụ 2, ví dụ 3, bài cách sử dụng và khai báo biến mảng Pascal GV: Cho HS xem lại ví dụ và ví dụ bài sgk trang 76 HS: Theo dõi GV: Giảng Ở ví dụ 2: * Sử dụng biến mảng Diem thay cho các biến Diem_1; Diem_2; Diem_3,… để lưu điểm số các HS * Khai báo biến mảng Diem sau: VAR Diem: ARRAY [1 50] OF REAL; * Mỗi HS có thể có nhiều điểm theo môn học Toán,Văn, Lý,…Ta có thể sử dụng biến mảng DiemToan, DiemVan, DiemLi thay cho các biến Diem_1; Diem_2; Diem_3,… để lưu điểm số các HS theo môn học Vì các biến mảng DiemToan, DiemVan, DiemLi có cùng số đầu, số cuối ,một Lop7.net NỘI DUNG BÀI MỚI Trình bày mục đích yêu cầu Làm quen với việc khai báo và sử dụng các biến mảng Ôn luyện cách sử dụng câu lệnh lặp FOR DO Củng cố các kĩ đọc, hiểu và chỉnh sửa chương trình Thực hành - Bài tập 2.1 Xem lại các ví dụ 2, ví dụ 3, bài cách sử dụng và khai báo biến mảng Pascal CÁI THỊ HẠ NGÂN (3) Giáo án kiểu liệu nên ta có thể gộp ba mảng này lại với và khai báo sau: VAR DiemToan, DiemVan, DiemLi: ARRAY [1 50] OF REAL; Ở ví dụ 3: * Sử dụng biến mảng A thay cho các biến A1; A2; A3,… * Khai báo biến mảng A sau: VAR A: ARRAY [1 100] OF INTEGER; Ở đây các phần tử biến mảng A giới hạn là 100 Nếu tăng số phần tử càng lớn thì số cuối cùng biến mảng càng lớn Ví dụ N=1000 HS: Theo dõi Hoạt động 2.2: Liệt kê các biến dự định dùng chương trình Tìm hiểu phần khai báo và tìm hiểu tác dụng biến GV: Gọi HS đọc đề bài sách giáo khoa Yêu cầu HS còn lại chú ý lắng nghe Ghi đề lên bảng HS: Đọc bài tập GV: Liệt kê các biến dự định dùng chương trình? HS: Trả lời 2.2 Liệt kê các biến dự định dùng chương trình Tìm hiểu phần khai báo và tìm hiểu tác dụng biến Bài tập 1: Viết chương trình nhập điểm các bạn lớp Sau đó in màn hình số bạn đạt kết học tập loại GIOI, KHA, TRUNGBINH, KEM Tiêu chuẩn: - Loại giỏi: 8.0 trở lên - Loại khá: 6.5 đến 7.9 - Loại trungbình: 5.0 đến 6.4 - Loại kém: 5.0 + I, N, GIOI, KHA, TRUNGBINH, KEM + Biến mảng A thay cho các biến A1; A2; A3,… GV: Giảng Tương tự ví dụ 3, bài tập này biến mảng A giới hạn số phần tử là 100 GV: Cho HS xem phần khai báo * PROGRAM PHANLOAI; VAR I,N: INTEGER; GIOI,KHA, TRUNGBINH, KEM: INTEGER; A: ARRAY[1 100] OF REAL; HS: Theo dõi GV: Trong chương trình này các biến có tác dụng gì? Lop7.net * PROGRAM PHANLOAI; VAR I,N: INTEGER; GIOI,KHA, TRUNGBINH, KEM: INTEGER; A: ARRAY[1 100] OF REAL; CÁI THỊ HẠ NGÂN (4) Giáo án HS: Trả lời GV: Khái quát lại HS: Ghi bài Biến I: làm biến đếm cho các lệnh lặp Biến N: để nhập điểm các bạn lớp Biến: GIOI, KHA, TRUNGBINH, KEM: để lưu kết học tập Hoạt động 2.3: Gõ phần khai báo trên vào máy tính và lưu tệp với tên Phanloai Tìm hiểu các câu lệnh phần thân chương trình GV: Yêu cầu HS Gõ phần khai báo trên vào máy tính và lưu tệp với tên Phanloai HS: Thực 2.3 Gõ phần khai báo trên vào máy tính và lưu tệp với tên Phanloai Tìm hiểu các câu lệnh phần thân chương trình * PROGRAM PHANLOAI; VAR I,N: INTEGER; GIOI,KHA, TRUNGBINH, KEM: INTEGER; A: ARRAY[1 100] OF REAL; GV: Cho HS xem chương trình * BEGIN WRITE('NHAP SO CAC BAN TRONG LOP, N = '); READLN(N); WRITE('NHAP DIEM : '); FOR I:=1 TO N DO BEGIN WRITE(I,' '); READLN(A[I]); END; GIOI:=0; KHA:=0; TRUNGBINH:=0; KEM:=0; FOR I:=1 TO N DO BEGIN IF A[I] >= 8.0 THEN GIOI:=GIOI + 1; IF A[I] < THEN KEM:=KEM + 1; IF (A[I] < 8.0 ) AND (A[I] > 6.5 ) THEN KHA:=KHA + 1; IF (A[I] >= ) AND (A[I] < 6.5 ) THEN TRUNGBINH:= TRUNGBINH + 1; END; WRITELN('KET QUA HOC TAP: '); WRITELN(GIOI, 'BAN HOC GIOI'); WRITELN(KHA, 'BAN HOC KHA'); WRITELN(TRUNGBINH, 'BAN HOC TRUNGBINH'); WRITELN(KEM, 'BAN HOC KEM'); READLN; END Lop7.net * BEGIN WRITE('NHAP SO CAC BAN TRONG LOP, N = '); READLN(N); WRITE('NHAP DIEM : '); FOR I:=1 TO N DO BEGIN WRITE(I,' '); READLN(A[I]); END; GIOI:=0; KHA:=0; TRUNGBINH:=0; KEM:=0; FOR I:=1 TO N DO BEGIN IF A[I] >= 8.0 THEN GIOI:=GIOI + 1; IF A[I] < THEN KEM:=KEM + 1; IF (A[I] < 8.0 ) AND (A[I] > 6.5 ) THEN KHA:=KHA + 1; IF (A[I] >= ) AND (A[I] < 6.5 ) THEN TRUNGBINH:= TRUNGBINH + 1; END; WRITELN('KET QUA HOC TAP: '); WRITELN(GIOI, 'BAN HOC GIOI'); WRITELN(KHA, 'BAN HOC KHA'); WRITELN(TRUNGBINH, 'BAN HOC TRUNGBINH'); WRITELN(KEM, 'BAN HOC KEM'); READLN; CÁI THỊ HẠ NGÂN (5) Giáo án END HS: Theo dõi GV: Ở chương trình này đã sử dụng câu lệnh nào? HS: Trả lời GV: Khái quát lại Câu lệnh for Câu lệnh gán Câu lệnh if then lồng HS: Theo dõi * Câu lệnh for Câu lệnh gán Câu lệnh if then lồng Hoạt động 2.4: Gõ tiếp phần thân chương 2.4 Gõ tiếp phần thân chương trình vào sau phần khai báo Dịch, chạy trình vào sau phần khai báo chương trình Dịch, chạy chương trình GV: Yêu cầu HS PHANLOAI; Gõ tiếp phần thân chương trình vào sau phần PROGRAM VAR khai báo I,N: INTEGER; GIOI,KHA, TRUNGBINH, KEM: HS: Thực INTEGER; GV: Theo dõi bao quát để chỉnh sửa lỗi cho HS A: ARRAY[1 100] OF REAL; BEGIN HS: Thực sửa lỗi để hoàn thiện chương WRITE('NHAP SO CAC BAN TRONG trình LOP, N = '); * Nếu HS nào làm xong thì cho lên bảng thực READLN(N); WRITE('NHAP DIEM : '); FOR I:=1 TO N DO BEGIN WRITE(I,' '); READLN(A[I]); END; GIOI:=0; KHA:=0; TRUNGBINH:=0; KEM:=0; FOR I:=1 TO N DO BEGIN IF A[I] >= 8.0 THEN GIOI:=GIOI + 1; IF A[I] < THEN KEM:=KEM + 1; IF (A[I] < 8.0 ) AND (A[I] > 6.5 ) THEN KHA:=KHA + 1; IF (A[I] >= ) AND (A[I] < 6.5 ) THEN TRUNGBINH:= TRUNGBINH + 1; END; WRITELN('KET QUA HOC TAP: '); WRITELN(GIOI, 'BAN HOC GIOI'); WRITELN(KHA, 'BAN HOC KHA'); WRITELN(TRUNGBINH, 'BAN HOC TRUNGBINH'); WRITELN(KEM, 'BAN HOC KEM'); READLN; END IV Củng cố (3p) Giáo viên nhận xét và đánh giá tiết thực hành.(Những gì làm và chưa làm được) V Dặn dò (1p) Lop7.net CÁI THỊ HẠ NGÂN (6) Giáo án + Nắm cú pháp và ý nghĩa các câu lệnh + Đọc, tìm hiểu ý nghĩa các câu lệnh các bài tập tương tự + Đọc trước phần còn lại bài thực hành thực các yêu cầu E RÚT KINH NGHIỆM Ngày … tháng 03 năm 2011 Duyệt GV hướng dẫn Leâ Ñình Trung Lop7.net CÁI THỊ HẠ NGÂN (7)