Giáo án Tin học 8 - Tiết 33: Bài tập - Trần Văn Hải
+ GV: Yêu cầu HS đọc và làm các bài tập 4 SGK/61.
+ GV: Chia lớp thành 6 nhóm học tập và làm các bài tập trên.
+ GV: Sau khi thực hiện chương trình:
j := 0;
for i := 0 to 5 do j := j + 2;
Giá trị của biến j bằng bao nhiêu.
+ GV: Yêu cầu HS từ thuật toán bài tập 6 SGK/61 viết chương trình tính tổng A.
+ GV: Hướng dẫn HS thực hiện viết chương trình trên.
+ GV: Yêu cầu HS dựa trên các gợi mở của GV viết chương trình.
Ngày soạn: 26/12/2015 Ngày day: 28/12/2015 Tuần 17 Tiết: 33 BÀI TẬP I. MỤC TIÊU: 1. Kiến thức: - Ôn tập câu lệnh lặp với số lần biết trước for to do trong Pascal; - Kết hợp giữa câu lệnh điều kiện với câu lệnh lặp với số lần biết trước. 2. Kĩ năng: Làm các bài tập về câu lệnh lặp với số lần biết trước for to do trong Pascal. 3. Thái độ: Học tập nghiêm túc, có ý thức tự giác, tinh thần vươn lên vượt qua khó khăn. II. CHUẨN BỊ: 1. Giáo viên: Sách giáo khoa, máy tính điện tử, giáo án, máy chiếu. 2. Học sinh: Vở ghi, sách giáo khoa. III. CÁC HOẠT ĐỘNG DẠY – HỌC: 1. Ổn định lớp: (1’) 8A1: 8A2: 2. Kiểm tra bài cũ: (5’) Câu 1: Em hãy trình bày cú pháp cách sử dụng của câu lệnh lặp? 3. Bài mới: Hoạt động của GV Hoạt động của HS Nội dung ghi bảng Hoạt động 1: (8’) Tìm hiểu bài tập 1. + GV: Yêu cầu HS tìm lỗi sai và sửa lại cho đúng. a) for i:=100 to 1 do writeln(‘A’); b) for i:=1.5 to 10.5 do writeln(‘A’); c) for i=15 to 40 do writeln(‘A’); d) for i:=7 to 120 do; writeln(‘A’); e) for i:=8 do 108 to writeln(‘A’); + HS: Thực hiện theo yêu cầu của GV đưa ra. a) for i:=1 to 100 do writeln(‘A’); b) for i:=1 to 10 do writeln(‘A’); c) for i:=15 to 40 do writeln(‘A’); d) for i:=7 to 120 do writeln(‘A’); e) for i:=8 to 108 do writeln(‘A’); 1. Bài tập 1: Hoạt động 2: (15’) Tìm hiểu bài tập 2. + GV: Yêu cầu HS đọc và làm các bài tập 4 SGK/61. + GV: Chia lớp thành 6 nhóm học tập và làm các bài tập trên. + GV: Sau khi thực hiện chương trình: j := 0; for i := 0 to 5 do j := j + 2; Giá trị của biến j bằng bao nhiêu. + GV: Yêu cầu HS từ thuật toán bài tập 6 SGK/61 viết chương trình tính tổng A. + GV: Hướng dẫn HS thực hiện viết chương trình trên. + GV: Yêu cầu HS dựa trên các gợi mở của GV viết chương trình. + GV: Hướng dẫn các em sử dụng câu lệnh lặp for := to do ; của Pascal, để viết chương trình? + GV: Quan sát quá trình thực hiện của các em. + GV: Hướng dẫn sửa sai cho các em trong quá trình thực hiện. + GV: Củng cố lại kiến thức các kỹ năng thực hiện cho HS. + HS: Đọc và nghiên cứu SGK làm các bài tập theo yêu cầu. + HS: Thảo luận nhóm và trả lời các câu hỏi đề ra. + HS: Sau khi thực hiện chương trình lệnh lặp thực hiện 6 vòng lặp, mỗi lần j tăng thêm 2 đơn vị. Vậy khi kết thúc vòng lặp j có giá trị là 12. + HS: Đọc và nghiên cứu SGK dựa trên thuật toán ở tiết trước thực hiện theo yêu cầu. + HS: Trả lời các nội dung theo yêu cầu của GV. Program bai6; Uses Crt; Var A: Real; n, i: Integer; BEGIN Clrscr; Write(‘Nhap n: ’); Readln(n); A := 0; For i := 1 To n Do A := 1/(i*(i+2)); Write(‘Tong A = ’,A); Readln END. 2. Bài tập 2: * Bài toán: Bài tập 6 SGK/61 viết chương trình tính tổng A. Program bai6; Uses Crt; Var A: Real; n, i: Integer; BEGIN Clrscr; Write(‘Nhap n: ’); Readln(n); A := 0; For i := 1 To n Do A := 1/(i*(i+2)); Write(‘Tong A = ’,A); Readln END. Hoạt động 2: (15’) Tìm hiểu bài tập 2. + GV: Đưa ra yêu cầu của bài toán cổ yêu cầu HS tìm hiểu. + GV: Giới thiệu chương trình yêu cầu HS tìm hiểu, giải thích tại sao chương trình này cho phép giải bài toán đặt ra. Var ga, cho: Byte; BEGIN For ga := 1 to 35 do For cho := 1 to 35 do If (ga*2 + cho*4 = 100) and (ga + cho = 36) then Writeln(‘So ga la: ’, ga, ‘; So cho la: ’, cho); Readln END. + GV: Hướng dẫn phân tích bài toán cho HS thấy và hiểu được bài toán. + GV: Từ đó yêu cầu HS cải tiến để có chương trình hiệu quả hơn. + GV: Hướng dẫn các em thực hiện, ý nghĩa của các câu lệnh trong chương trình. + GV: Cách thức hoạt động của chương trình cải tiến. + GV: Phân tích hướng dẫn để HS thấy được số lượng các phép tính ở chương trình cải tiến ít hơn so với chương trình ban đầu. + HS: Thực hiện tìm hiểu về bài toán cổ. + HS: Nghiên cứu chương trình của GV đưa ra. Ý tưởng cơ bản là xét tất cả các trường hợp và kiểm tra xem trường hợp nào thỏa mãn: ga + cho = 36 và ga*2 + cho*4 = 100 thì đó là một đáp số của bài toán. + HS: Chú ý quan sát, tìm hiểu về bài toán. Hiểu về chương trình. + HS: Chương trình cải tiến. Var ga, cho: Byte; BEGIN For cho := 1 To 24 Do Begin ga := 36 – cho; If (2*ga + 4*cho = 100) Then Writeln(‘Ga: ’, ga, ‘, Cho: ’,cho); End; Readln END. 3. Bài tập 3: Bài toán cổ: Vừa gà vừa chó. Bó lại cho tròn. Ba mươi sáu con. Một trăm chân chẵn. Tìm số lượng gà và chó. Chương trình. Var ga, cho: Byte; BEGIN For ga := 1 to 35 do For cho := 1 to 35 do If (ga*2 + cho*4 = 100) and (ga + cho = 36) then Writeln(‘So ga la: ’, ga, ‘; So cho la: ’, cho); Readln END. Chương trình cải tiến. Var ga, cho: Byte; BEGIN For cho := 1 To 24 Do Begin ga := 36 – cho; If (2*ga + 4*cho = 100) Then Writeln(‘Ga: ’, ga,‘, Cho: ’,cho); End; Readln END. 4. Củng cố - Củng cố trong nội dung bài học. 5. Dặn dò: (1’) - Xem trước nội dung bài tiếp theo. IV. RÚT KINH NGHIỆM: ............................................................................................................................................................................................................................................................................................................................ ..............................................................................................................................................................
File đính kèm:
- tuan_18_tiet_36_tiet_33.doc