Giáo án môn Tin học khối 8 - Tiết 37 đến tiết 74

I. MỤC TIÊU:

- Đánh giá được năng lực của học sinh trong học kì 2

- Nhận được ưu khuyết điểm của mình trong bài làm.

II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH :

1. Giáo viên :

Chấm bài đầy đủ

2. Học sinh :

Xem lại bài

 

doc78 trang | Chia sẻ: vudan20 | Lượt xem: 579 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Giáo án môn Tin học khối 8 - Tiết 37 đến tiết 74, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
òn nội tiếp tam giác IV. Củng cố Gv: Nhận xét các thao tác thực hiện của học sinh trong quá trình thực hiện Yêu cầu Hs về nhà đọc và tìm hiểu mối quan hệ giữa các hình học V. Rút kinh nghiệm: Ngày soạn: ..../ ..../ 20...... Tuần 25 Tiết 50 BÀI 11: GIẢI TOÁN VÀ VẼ HÌNH VỚI PHẦN MỀM GEOGEBRA(TT) I. Mục tiêu 1. Kiến thức - Biết vận dụng phần mềm để thực hiện các hình học 2. Kĩ năng - Vận dụng phần mềm để thực hiện vẽ các hình học - Rèn luyện kỹ năng phân tích hình học 3. Thái độ - Yêu thích môn học - Nghiêm túc, tích cực trong học tập II. Chuẩn bị 1. Giáo viên - Phòng máy tính, giáo án. 2. Học sinh - Sách vở, dụng cụ học sinh III. Nội dung bài giảng Hoạt động GV – HS Nội dung 6. Bài tập 6 Gv: yêu cầu Hs đọc nội dung SGK Hs: đọc nội dung và sử dụng các tính chất của hình thoi với đường chéo để có thể dựng hình thoi theo yêu cầu Gv: hướng dẫn thêm, và nhận xét các hình Hs đã thực hiện xong Vẽ hình thoi Cho trước một cạnh AB và một đường thẳng đi qua A. Hãy vẽ hình thoi ABCD lấy đường thẳng đã cho là đường chéo. Sử dụng các công cụ thích hợp đã học để dựng các đỉnh C, D của hình thoi 7. Bài tập 7 Hs: đọc yêu cầu nội dung SGK Gv: yêu cầu Hs cách dựng 2 đỉnh còn lại của hình vuông dựa vào các tính chất của hình vuông Hs: từ ý tưởng sử dụng các công cụ vẽ thích hợp để vẽ hình vuông theo yêu cầu Gv: nhận xét thao tác vào cách sử dụng các nút lệnh của Hs Vẽ hình vuông Sử dụng các công cụ thích hợp để vé một hình vuông nếu biết trước một cạnh. 8. Bài tập 8 Hs: đọc yêu cầu nội dung SGK Gv: yêu cầu Hs nêu các tính chất của tam giác đều Hs: nêu lại các tính chất của tam giác đều Gv: từ cạnh BC cho trước ta có thể dựng tam giác đều dựa vào tính chất nào? Hs: suy nghĩ trả lời Gv: chột lại và yêu cầu Hs sử dụng các công cụ thích hợp để thực hiện. Vẽ tam giác đều Cho trước cạnh BC, hãy vẽ tam giác đều 9. Bài tập 9 Gv: yêu cầu Hs đọc nội dung SGK Hs: vẽ lại hình vuông theo hình 7 và một đường thẳng Gv: yêu cầu Hs sử dụng công cụ vẽ đối xứng để dựng hình vuông đối xứng trục Vẽ một hình là đối xứng trục của một đối tượng cho trước trên màn hình Cho một hình và một đường thẳng trên mặt phẳng. Dãy dựng hình mới là đối xứng của hình đã cho qua trục là đường thẳng trên. Sử dụng công cụ đối xứng để vẽ hình 10. Bài tập Gv: yêu cầu học sinh sử dụng một hình đã vẽ và tạo thêm một điểm mới O Hs: thực hiện theo yêu cầu SGK và hướng dẫn của Gv Gv: yêu cầu Hs sử dụng công cụ đối xứng tâm để tạo hình mới đối xứng với hình đã vẽ qua tâm O Vẽ một hình là đối xứng qua tâm của một đối tượng cho trước trên màn hình Cho trước một hình và điểm O. Hãy dựng hình mới là đối xứng qua tâm O của hình đã cho. Sử dụng công cụ đối xứng tâm để vẽ hình IV. Củng cố Gv: + Nhận xét các bài tập thực hành của Hs + Yêu cầu Hs về nhà chuẩn bị bài mới: “Lặp với số lần chưa biết trước” V. Rút kinh nghiệm: Ngày soạn: ..../ ..../ 20...... Tuần 26 Tiết 51 BÀI 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC I. Mục tiêu 1. Kiến thức - Biết nhu cầu cần cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình. - Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại một công việc cho đến khi một điều kiện nào để không còn được thỏa mãn. - Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước while... do trong ngôn ngữ lập trình Pascal 2. Kĩ năng - Phân tích cấu trúc lặp của bài toán thuộc loại lặp với số lần biết trước hay không biết trước 3. Thái độ - Yêu thích môn học - Nghiêm túc, tích cực trong học tập II. Chuẩn bị 1. Giáo viên - Máy tính, máy chiếu, giáo án, các bài tập minh họa. 2. Học sinh - Sách vở, dụng cụ học sinh III. Nội dung bài giảng Hoạt động GV – HS Nội dung 1. Các hoạt động lặp với số lần chưa biết trước * Ví dụ về lặp với số lần chưa biết trước Gv:hằng ngày các em gặp rất nhiều công việc được lặp đi lặp lại với số lần mà các em chưa thể xác định được số lần lặp (giáo viên đưa ra các ví dụ minh họa) Gv: yêu cầu Hs đọc ví dụ 1, SGK, khi gọi điện thoại ta không biết phải gọi bao nhiêu lần, gọi cho đến khi bên kia cầm máy. Hs: Lắng nghe và liên tưởng Hs: cho ví dụ minh họa từ cuộc sống thường ngày mà các em thường gặp * Thuật toán lặp với số lần chưa biết trước: Gv: yêu cầu Hs đọc ví dụ 2 SGK Hs: đọc và tìm hiểu nội dung ví dụ 2 SGK Gv: với điều kiện bài trên thì điều kiện kết thúc bài toán là gì? Hs: dựa vào điều kiện bài toán, suy nghĩ trả lời Gv: ý tưởng bài toán là gì? Hs: suy nghĩ trả lời Gv: xác định input và output Hs: dựa vào bài toán, tìm input và output bài toán Gv: yêu cầu Hs thảo luận nhóm tìm ra các bước giải bài toán Hs: thảo luận nhóm, cử đại diện lên bảng trình bày. Gv: nhận xét và đưa ra thuật toán chính xác nhất Cuộc sống hằng ngày có nhiều hoạt động được lặp đi lặp lại nhiều lần với số lần chưa thể xác định trước Hoạt động lặp được kết thúc phụ thuộc vào một điều kiện cụ thể. Ví dụ 2: Tính tổng của n số tự nhiên đầu tiên sao cho tổng nhỏ nhất lớn hơn 1000? Thuật toán để giải bài toán trên: Bước 1: s <- 0, n <- 0 Bước 2: nếu s <= 1000, n <- n + 1, Ngược lại đến bước 4 Bước 3: s <- s + n Bước 4: in kết quả, kết thúc thuật toán 2. Ví dụ về lệnh lặp với số lần chưa biết trước * Câu lệnh lặp với số lần chưa biết trước trong Pascal: Gv: cú pháp của lệnh lặp với số lần chưa biết trước: Gv: cho Hs ghi cú pháp lệnh lặp whiledo Gv: giải thích các thành phần trong câu lệnh * Các ví dụ minh họa Gv: yêu cầu Hs đọc nội dung ví dụ 4 SGK Hs: đọc nội dung SGK Gv: yêu cầu Hs vận dụng thuật toán ở phần 1 để viết chương trình tính tổng các số tự nhiên đầu tiên sao cho tổng nhỏ nhất lớn hơn 1000 Hs: tham khảo chương trình ở ví dụ 4 SGK Gv: yêu cầu Hs lên bảng viết chương trình Hs: thực hiện trên bảng Gv: nhận xét và phân tích câu lệnh whiledo Câu lệnh lặp với số lần chưa biết trước có dạng: While do ; Trong đó: + while, do là các từ khóa + điều kiện: là một phép so sánh + câu lệnh: có thể là một câu lệnh đơn hoặc một câu lệnh ghép. Quá trình thực hiện của câu lệnh: Bước 1: kiểm tra điều kiện Bước 2: nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua và vòng lặp kết thúc. Ngược lại, nếu điều kiện đúng thì thực hiện câu lệnh và quay lại bước 1. Ví dụ 4: Var s, n: integer; Begin S := 0; N := n + 1; While s <= 1000 do Begin S := s + n; N := n + 1; End; Writeln(‘so n nho nhat de tong > 1000 la’,n); Writeln(‘tong dau tien > 1000 la’,s); Readln; End. IV. Củng cố GV: Yêu cầu HS về nhà xét lại các ví dụ đã học; nêu lại cú pháp của vòng lặp while do và cách thức thực hiện của vòng lặp chưa biết trước; giải các bài tập SGK. HS: Về nhà giải các bài tập SGK và xem lại các kiến thức đã học; V. Rút kinh nghiệm: Ngày soạn: ..../ ..../ 20...... Tuần 26 Tiết 52 BÀI 8 LẶP VỚI SỐ LẦN CHƯA BIẾT TRƯỚC(TT) I. Mục tiêu 1. Kiến thức - Biết nhu cầu cần cấu trúc lặp với số lần chưa biết trước trong ngôn ngữ lập trình. - Biết ngôn ngữ lập trình dùng cấu trúc lặp với số lần chưa biết trước để chỉ dẫn cho máy tính thực hiện lặp đi lặp lại một công việc cho đến khi một điều kiện nào để không còn được thỏa mãn. - Hiểu được hoạt động của câu lệnh lặp với số lần chưa biết trước while... do trong ngôn ngữ lập trình Pascal 2. Kĩ năng - Phân tích cấu trúc lặp của bài toán thuộc loại lặp với số lần biết trước hay không biết trước 3. Thái độ - Yêu thích môn học - Nghiêm túc, tích cực trong học tập II. Chuẩn bị 1. Giáo viên - Máy tính, máy chiếu, giáo án, các bài tập minh họa. 2. Học sinh - Sách vở, dụng cụ học sinh III. Nội dung bài giảng Hoạt động của GV - HS Nội dung 2. Ví dụ về lệnh lặp với số lần chưa biết trước. - GV: Giới thiệu chương trình mẫu. - GV: Xét ví dụ 3 Chúng ta biết rằng, nếu n càng lớn thì càng nhỏ, nhưng luôn luôn lớn hơn 0. Với giá trị nào của n thì < 0.005 hoặc < 0.003 ? - GV cho HS độc ví dụ 3 trong SGK - 2 – 3 HS đọc ví dụ 3 - GV: Giới thiệu chương trình mẫu sgk ( Giáo viên in chương trình mẫu trên) - HS: Quan sát - GV: Chạy tay cho học sinh xem - HS: chú ý nghe và tự chạy tay lại - GV: Yêu cầu học sinh mở máy tính và mở chương trình ví dụ 3 ( giáo viên chuẩn bị chương trình mẫu và đưa lên các máy ) - HS: thực hiện - GV: Cho học sinh chạy chương trình trên máy - HS: thực hiện - GV: Yêu cầu hs thay điều kiện sai_so = 0.003 thành 0.002 ; 0.001 ; 0.005 ; ... - HS: thực hiện - GV yêu cầu HS đọc ví dụ 4/ - HS đọc ví dụ 4 - GV: Cho học sinh quan sát chương trình - HS quan sát chương trình - GV: Chạy tay cho học sinh xem chương trình mẫu - HS: Chú ý nghe và tự chạy tay lại - GV: Cho học sinh chạy chương trình trên máy. - HS thực hiện yêu cầu - GV: Chạy chương trình này, ta nhận được giá trị ntn? - HS: Nếu chạy chương trình này ta sẽ nhận được n = 45 và tổng đầu tiên lớn hơn 1000 là 1034. - GV: Giới thiệu ví dụ 5. - GV: Cho học sinh quan sát chương trình - HS quan sát chương trình - GV: Ví dụ này cho thấy rằng chúng ta có thể sử dụng câu lệnh whiledo thay cho câu lệnh fordo. Ví dụ 3. Với giá trị nào của n ( n>o ) thì < 0.005 hoặc < 0.003? Chương trình dưới đây tính số n nhỏ nhất để nhỏ hơn một sai số cho trước : uses crt; var x: real; n: integer; const sai_so=0.003; begin clrscr; x:=1; n:=1; while x>=sai_so do begin n:=n+1; x:=1/n end; writeln('So n nho nhat de 1/n < ',sai_so:5:4, 'la ',n); readln end. Ví dụ 4. Chương trình Pascal dưới đây thể hiện thuật toán tính số n trong ví dụ 2 var S,n: integer; begin S:=0; n:=1; while S<=1000 do begin S:=S+n; n:=n+1; end; writeln('So n nho nhat de tong > 1000 la ',n); writeln('Tong dau tien > 1000 la ',S); end. Ví dụ 5: Viết chương trình tính tổng 3. Lặp vô hạn lần – Lỗi lập trình cần tránh. - GV: Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không bao giờ kết thúc. Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận: var a:integer; begin a:=5; while a<6 do writeln('A'); end. - HS quan sát - Vì sao chương trình trên lặp vô hạn lần? - HS trả lời: Trong chương trình trên, giá trị của biến a luôn luôn bằng 5, điều kiện a<6 luôn luôn đúng nên lệnh writeln('A') luôn được thực hiện. - Do vậy, khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp vô tận". - Khi thực hiện vòng lặp, điều kiện trong câu lệnh phải được thay đổi để sớm hay muộn giá trị của điều kiện được chuyển từ đúng sang sai. Chỉ như thế chương trình mới không "rơi" vào những "vòng lặp vô tận". IV. Củng cố GV: Yêu cầu HS về nhà xét lại các ví dụ đã học; nêu lại cú pháp của vòng lặp while do và cách thức thực hiện của vòng lặp chưa biết trước; giải các bài tập SGK. HS: Về nhà giải các bài tập SGK và xem lại các kiến thức đã học; V. Rút kinh nghiệm: Ngày soạn: ..../ ..../ 20...... Tuần 27 Tiết 53 BÀI THỰC HÀNH 6 SỬ DỤNG LỆNH LẶP WHILE ... DO I. Mục tiêu 1. Kiến thức - Hiểu được câu lệnh lặp while ... do trong chương trình Turbo Pascal. - Biết lựa chọn câu lệnh while ... do hay for ... do phù hợp cho các bài toán. Biết kết hợp các cấu trúc điều khiển. 2. Kĩ năng - Rèn luyện kỹ năng đọc hiểu chương trình, khả năng tư duy thuật toán 3. Thái độ - Yêu thích môn học - Nghiêm túc, tích cực trong học tập - Hình thành cho học sinh tính cẩn thận, sáng tạo II. Chuẩn bị 1. Giáo viên - Máy tính, phòng máy, giáo án, các bài tập minh họa. 2. Học sinh - Sách vở, dụng cụ học sinh III. Nội dung bài giảng Hoạt động của GV - HS Nội dung Bài tập Gv: yêu cầu Hs đọc nội dung SGK Hs: đọc nội dung SGK Từng nhóm xây dụng thuật toán của bài tập Gv: nhận xét các thuật toán của Hs Gv: yêu cầu Hs gõ chương trình SGK Hs: thực hiện gõ chương trình, kiểm tra và ạy chương trình theo hướng dẫn của Gv. Gv: yêu cầu Hs chuyển chương trình từ câu lệnh while do ở SGK sang chương trình sử dụng câu lệnh while do Hs: thực hiện chương trình bằng câu lệnh for do; kiểm tra, dịch và chạy chương trình. Gv: nhận xét bài tập của Hs Viết chương trình sử dụng lệnh lặp while ... do để tính trung bình n số thực x1, x2, x3, ...., xn. Các số n và x1, x2, x3, ...., xn được nhập từ bàn phím. Chương trình sử dụng câu lệnh for ... do: Program Tinh_TB; Uses crt; Var i,n:integer; X,Sum,TB:Real; Begin Sum:=0; Write(‘nhap n=’); readln(n); For i:= 1 to n do begin Write(‘nhap gia tri so thuc x=’);readln(x); Sum:=sum+x end; TB:=sum/n; Writeln(‘Trung binh cua ‘,n,’ so thuc la’,TB:10:3); Readln; End. IV. Củng cố Gv: - Yêu cầu Hs nhắc lại cấu trúc câu lệnh lặp while do và for do Tìm hiểu sự khác và giống nhau của 2 câu lệnh lặp đã học Hs: Nhắc lại câu lệnh lặp while ... do và for ... do Chuẩn bị tốt về 2 câu lệnh này để chuẩn bị tốt cho tiết bài tập ở tiết sau. V. Rút kinh nghiệm: Ngày soạn: ..../ ..../ 20...... Tuần 27 Tiết 54 BÀI THỰC HÀNH 6 SỬ DỤNG LỆNH LẶP WHILE ... DO (TT) I. Mục tiêu 1. Kiến thức - Hiểu được câu lệnh lặp while ... do trong chương trình Turbo Pascal. - Biết lựa chọn câu lệnh while ... do hay for ... do phù hợp cho các bài toán. Biết kết hợp các cấu trúc điều khiển. 2. Kĩ năng - Rèn luyện kỹ năng đọc hiểu chương trình, khả năng tư duy thuật toán 3. Thái độ - Yêu thích môn học - Nghiêm túc, tích cực trong học tập - Hình thành cho học sinh tính cẩn thận, sáng tạo II. Chuẩn bị 1. Giáo viên - Máy tính, phòng máy, giáo án, các bài tập minh họa. 2. Học sinh - Sách vở, dụng cụ học sinh III. Nội dung bài giảng Hoạt động của GV - HS Nội dung Bài tập Gv: yêu cầu Hs đọc nội dung SGK Hs: đọc nội dung SGK Từng nhóm xây dụng thuật toán của bài tập Gv: nhận xét các thuật toán của Hs Gv: yêu cầu Hs gõ chương trình SGK Hs: thực hiện gõ chương trình, kiểm tra và ạy chương trình theo hướng dẫn của Gv. Gv: nhận xét bài tập của Hs Tìm hiểu chương trình nhận biết một số tự nhiện n được nhập vào từ bàn phím có phải là số nguyên tố hay không a. Đọc và tìm hiểu ý nghĩa của từng câu lệnh trong chương trình SGK b. Gõ, dịch và chạy thử chương trình với một vài độ chín xác khác nhau IV. Củng cố Gv: - Yêu cầu Hs nhắc lại cấu trúc câu lệnh lặp while do và for do Tìm hiểu sự khác và giống nhau của 2 câu lệnh lặp đã học Hs: Nhắc lại câu lệnh lặp while ... do và for ... do Chuẩn bị tốt về 2 câu lệnh này để chuẩn bị tốt cho tiết bài tập ở tiết sau. V. Rút kinh nghiệm: Ngày soạn:..../ ..../ 20...... Tuần 28 Tiết 55 BÀI TẬP I. Mục tiêu 1. Kiến thức - Củng cố lại các kiến thức đã học cho các em 2. Kĩ năng - Rèn luyện kỹ năng viết chương trình 3. Thái độ - Yêu thích môn học - Nghiêm túc, tích cực trong học tập II. Chuẩn bị 1. Giáo viên - Máy tính, máy chiếu, giáo án, các bài tập minh họa. 2. Học sinh - Sách vở, dụng cụ học sinh III. Nội dung bài giảng Hoạt động của GV - HS Nội dung 1. Chốt lại kiến thức trọng tâm để áp dụng giải bài tập - GV: Em hãy nhắc lại cú pháp lệnh While ... do - HS trả lời - GV chốt ý và nhắc lại lần nữa cho HS nắm vững - HS chú ý theo dõi và tiếp thu - GV yêu cầu HS ghi vở - HS ghi vở - GV: Lưu ý HS cách thực hiện và tránh lệnh lặp vô hạn lần. - HS lắng nghe. 1. Kiến thức trọng tâm. while do ; Trong đó: - Điều kiện thường là một phép so sánh; - Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép. Câu lệnh lặp này được thực hiện: Bước 1 : Kiểm tra điều kiện. Bước 2 : Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và việc thực hiện lệnh lặp kết thúc. Nếu điều kiện ĐÚNG, thực hiện câu lệnh và quay lại bước 1. 2. Giải bài tập. Bài 2 trang 71 SGK: Phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước? - GV yêu cầu HS đọc và nghiên cứu bài tập 2. - HS đọc đề - GV cho HS đứng tại chỗ trả lời câu hỏi - HS suy nghĩ, thảo luận và trả lời - GV goi 1 HS khác nhận xét - 1HS khác đứng tại chỗ nhận xét câu trả lời của bạn - GV nhận xét, bổ sung và cho HS ghi vở - HS tiếp thu và ghi vở Bài 3 trang 71 SGK: Tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó. a) Thuật toán 1: Bước 1. S ¬ 10, x ¬ 0.5. Bước 2. Nếu S £ 5.2, chuyển tới bước 4. Bước 3. S ¬ S - x và quay lại bước 2. Bước 4. Thông báo S và kết thúc thuật toán. b) Thuật toán 2: Bước 1. S ¬ 10, n ¬ 0. Bước 2. Nếu S = 10, chuyển tới bước 4. Bước 3. n ¬ n + 3, S ¬ S-n quay lại bước 2. Bước 4. Thông báo S và kết thúc thuật toán. - GV yêu cầu HS đọc đề bài tập 3 - HS đọc đề theo yêu cầu của GV - GV cho HS thảo luận nhóm để trả lời câu hỏi ( nhóm 1 và 2: thuật toán 1, nhóm 3 và 4: thuật toán 2) - HS thảo luận nhóm và ghi lên bảng phụ - GV gọi đại diện nhóm trả lời, các nhóm khác nhận xét, bổ sung - HS quan sát và ghi vở - GV yêu cầu HS dựa vào thuật toán để viết chương trình Pascal - HS viết chương trình theo yêu cầu bài tập. Bài 5: Hãy chỉ ra lỗi trong các câu lệnh sau đây: a)X:=10; while X:=10 do X:=X+5; b)X:=10; while X=10 do X=X+5; c)S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n; - GV cho HS nghiên cứu bài tập 5 - HS thực hiện yêu cầu của GV - GV gọi HS đứng tại chỗ trả lời - HS trả lời - GV nhận xét - HS theo dõi, tiếp thu và ghi vở Bài 2: Sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước là ở các điểm sau đây: a) Như tên gọi của nó, câu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệnh với số lần đã được xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước. b) Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa. Trong câu lệnh lặp với số lần cho trước, câu lệnh được thực hiện ít nhất một lần, sau đó kiểm tra điều kiện. Trong câu lệnh lặp với số lần chưa xác định trước, trước hết điều kiện được kiểm tra. Nếu điều kiện được thoả mãn, câu lệnh mới được thực hiện. Do đó có thể có trường hợp câu lệnh hoàn toàn không được thực hiện. Bài 3 a) Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal tương ứng: S:=10; x:=0.5; while S>5.2 do S:=S-x; writeln(S); b) Thuật toán 2: Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 bị bỏ qua. S = 10 khi kết thúc thuật toán. Đoạn chương trình Pascal tương ứng: S:=10; n:=0; while S<10 do begin n:=n+3; S:=S-n end; writeln(S); Bài 5: a) Thừa dấu hai chấm trong điều kiện; b) Thiếu dấu hai chấm trong câu lệnh gán; c) Thiếu các từ khóa begin và end trước và sau các lệnh n:=n+1; S:=S+n, do đó vòng lặp trở thành vô tận. IV. Củng cố Gv: Nhắc nhở các em về nhà chuẩn bị tốt các kiến thức đã học Xem lại các bài tập chuẩn bị tốt cho tiết kiểm tra tới Hs: Chuẩn bị tốt các kiến thức đã học V. Rút kinh nghiệm: Ngày soạn:..../ ..../ 20...... Tuần 28 Tiết 56 BÀI TẬP(TT) I. Mục tiêu 1. Kiến thức - Củng cố lại các kiến thức đã học cho các em 2. Kĩ năng - Rèn luyện kỹ năng viết chương trình 3. Thái độ - Yêu thích môn học - Nghiêm túc, tích cực trong học tập II. Chuẩn bị 1. Giáo viên - Máy tính, máy chiếu, giáo án, các bài tập minh họa. 2. Học sinh - Sách vở, dụng cụ học sinh III. Nội dung bài giảng HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG Hoạt động 1: Ôn lại các kiến thức trọng tâm (15’) PP vấn đáp Gv: Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước? - Như tên gọi của nó, câu lệnh lặp với số lần lặp cho trước chỉ thị cho máy tính thực hiện một lệnh hoặc một nhóm lệnh với số lần đã được xác định từ trước, còn với câu lệnh lặp với số lần lặp chưa biết trước thì số lần lặp chưa được xác định trước. - Trong câu lệnh lặp với số lần cho trước, điều kiện là giá trị của một biến đếm có giá trị nguyên đã đạt được giá trị lớn nhất hay chưa, còn trong câu lệnh lặp với số lần lặp chưa biết trước, điều kiện tổng quát hơn nhiều, có thể là kiểm tra một giá trị của một số thực, cũng có thể là một điều kiện tổng quát khác, ví dụ như một số có chia hết cho 3 hay không,... - Trong câu lệnh lặp với số lần cho trước, câu lệnh được thực hiện ít nhất một lần, sau đó kiểm tra điều kiện. Trong câu lệnh lặp với số lần chưa xác định trước, trước hết điều kiện được kiểm tra. Nếu điều kiện được thỏa mãn, câu lệnh mới được thực hiện. Do đó có thể có trường hợp câu lệnh hoàn toàn không được thực hiện. PP hoạt động nhóm GV: Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó! a. Thuật toán 1: Bước 1. S ¬ 10, x ¬ 0.5. Bước 2. Nếu S £ 5.2, chuyển tới bước 4. Bước 3. S ¬ S - x và quay lại bước 2. Bước 4. Thông báo S và kết thúc thuật toán. b. Thuật toán 2: Bước 1. S ¬ 10, n ¬ 0. Bước 2. Nếu S ≥ 10, chuyển tới bước 4. Bước 3. n ¬ n + 3, S ¬ S - n quay lại bước 2. Bước 4. Thông báo S và kết thúc thuật toán. Hãy nêu nhận xét của em? HS: Thảo luận và trả lời. GV: Sửa bài làm của học sinh. a. Thuật toán 1: 10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal tương ứng: S:=10; x:=0.5; While S > 5.2 do S := S - x; writeln(S); b. Thuật toán 2: Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 bị bỏ qua. S = 10 khi kết thúc thuật toán. Đoạn chương trình Pascal tương ứng: S:=10; n:=0; While S<10 do Begin n := n + 3; S := S-n; End; Writeln(S); Nhận xét: Trong các thuật toán và chương trình trên, điều kiện được kiểm tra trước khi các bước lặp được thực hiện. Do đó nếu điều kiện không được thỏa mãn ngay từ đầu, các bước lặp sẽ bị bỏ qua. Điều này đặc biệt đúng đối với câu lệnh lặp while..do. PP giải quyết vấn đề GV: Hãy chỉ ra lỗi trong các câu lệnh sau đây: a. x := 10; while x := 10 do x := x + 5; b. x := 10; while x = 10 do x = x + 5; c. S:=0; n:=0; while S<=10 do n := n+1; S := S+n; HS: Dựa vào cú pháp câu lệnh lặp với số lần chưa biết trước đã học để tìm ra lỗi sai và giải thích. Hoạt động 2 : Một số bài tập (20’) PP giải quyết vấn đề GV : Đưa ra một số bài tập cho HS viết chương trình và trả lời các câu hỏi sau : 1. Dựa vào 2 cách giải trong bài tập 1, theo em cách nào phù hợp với bài toán hơn ? Vì sao ? 2. Trong bài tập 2, việc thực hiện tính tổng chỉ dừng lại khi nào ? HS : Phân tích và nghiên cứu bài toán Thực hiện viết chương trình và trả lời các câu hỏi. II. Bài tập : Bài 1: Viết chương trình in ra màn hình 5 câu “chào các bạn” (Sử dụng vòng lặp Fordo và Whiledo) Cách 1: Program bt; Var i:integer; Begin for i:=1 to 5 do writeln('chao cac ban'); readln; End. Cách 2: Program bt; Var i:integer; Begin i:=1; While i<=5 do Begin writeln('chao cac ban'); i:=i+1; readln; End. Bài 2: Viết chương trình tính tổng: S = 1 + 2 + 3 ++ n, sao cho tổng S nhỏ nhất lớn hơn 1000 var S,n: integer; begin S:=0; n:=1; while S<=1000 do begin n:=n+1; S:=S+n end; writeln('So n nho nhat de tong > 1000 la ',n); writeln('Tong dau tien > 1000 la ',S); end. IV. Củng cố Gv: Nhắc nhở các em về nhà chuẩn bị tốt các kiến thức đã học Xem lại các bài tập chuẩn bị tốt cho tiết kiểm tra tới Hs: Chuẩn bị tốt các kiến thức đã học V. Rút kinh nghiệm: Ngày soạn: ..../ ..../ 20...... Tuần 29 Tiết 57 KIỂM TRA 1 TIẾT I. MỤC TIÊU: 1. Kiến thức: Biết khái niệm câu lệnh lặp, lặp với số lần chưa biết trước, lặp với số lần biết trước. Hiểu cách sử dụng câu lệnh lặp “for...do”, “while..do”. Biết lựa chọn câu lệnh lặp Whiledo hoặc Fordo phù hợp với tình huống cụ thể. HS nhận biết trong chương trình có sử dụng các câu lệnh lồng nhau. Giải thích được kết quả có được của chương trình khi sử dụng vòng lặp Whiledo. Chạy chương trình với các giá trị khác nhau. Tính toán các kết quả nhận được. Chỉnh sửa câu lệnh trong chương trình. Biết chức năng của phần mềm Geogebra. Viết chương trình hoàn chỉnh để giải một số bài toán khác nhau. 2. Kỹ năng: Rèn kỹ năng đọc hiểu chương trình có sử dụng vòng lặp while ... do, For do Tính toán được số vòng lặp trong câu lệnh. Sửa lỗi và viết được chương trình của một số bài toán cơ bản. Biết cách sử dụng các nút lệnh trong phần mềm Geogebra. 3. Thái độ: Nghiêm túc trong quá trình học. II. CHUẨN BỊ: GV: Chuẩn bị tốt giáo án, phòng máy. HS: + Sách vở, dụng cụ học tập. + Xem trước bài học. III. TIẾN TRÌNH LÊN LỚP: 1. Ổn định lớp: Kiểm tra sĩ số. 2. Kiểm tra bài cũ: 3. Bài mới: Phát đề kiểm tra cho học sinh. Học sinh nghiêm túc làm bài. 4. Củng cố: GV thu bài kiểm tra và nhận xét HS làm bài. 5. Dặn dò: Đọc trước bài 9: Làm việc với dãy số. Học sinh chuẩn bị các nội dung sau: + Lợi ích của việc sử dụng biến mảng trong chương trình. + Cách khai báo biến mảng. + Một số lưu ý khi khai báo và sử dụng biến mảng. IV. Rút kinh nghiệm: Ngày soạn

Các file đính kèm theo tài liệu này:

  • docGiao an hoc ki 2_12525762.doc