Kiến thức: - Hiểu hoạt động của câu lệnh với số lần biết trước For…do trong Turbo Pascal.. - Biết lệnh ghép trong Pascal.[r]
(1)Trường THCS Xuân Đường Ngày soạn: 21/01/2010 Ngày dạy: 27/01/2010 Tin học Tuần 22: Tiết 41: BÀI TẬP I MỤC TIÊU: Kiến thức: - Hiểu hoạt động câu lệnh với số lần biết trước For…do Turbo Pascal - Biết lệnh ghép Pascal - Sử dụng câu lệnh lặp Kĩ năng: Viết các chương trình Pascal đơn giản Thái độ: - Ham thích môn học - Tích cực học tập II PHƯƠNG PHÁP: Phương pháp thử, trực quan, thảo luận nhóm, thực hành III CHUẨN BỊ: Giáo viên: - SGK, tài liệu, giáo án - Đồ dùng dạy học: máy vi tính Học sinh: - Đọc trước bài và học bài nhà - SGK, đồ dùng học tập: máy vi tính IV TIẾN TRÌNH LÊN LỚP: Ổn định lớp Bài mới: Hoạt động Gv - Hs Nội dung Hoạt động 1: Ôn lại kiến thức trọng tâm Lý thuyết: Gv: Cho Hs làm bài tập trắc nghiệm Lấy điểm kiếm tra miệng Câu 1: Em hiểu câu lệnh lặp theo nghĩa nào đây? a Một lệnh thay cho nhiều lệnh b Các câu lệnh viết lặp lặp lai nhiều lần c Vì câu lệnh đã có tên là lệnh lặp d Cả a, b, c sai Câu 2: Cách viết câu lệnh lặp với số lần biết trước sau: a For <biến đếm> = <giá trị đầu> to <giá trị cuối> <câu lệnh>; b For <biến đếm>: = <giá trị đầu> to <giá trị cuối> <câu lệnh> Gv: Ngô Thị Thùy Dung Lop8.net Trang 119 (2) Trường THCS Xuân Đường Tin học c For <biến đếm> := <giá trị đầu> to <giá trị cuối> <câu lệnh>; d For <biến đếm> = <giá trị đầu> to <giá trị cuối> ; <câu lệnh> Hãy chọn phương án đúng Câu 3: Biến đếm, giá trị đầu, giá trị cuối có chung điểm gì quan trọng? a Đều là các số b Có chung kiểu liệu c Biến đếm nhỏ giá trị đầu, giá trị đầu nhỏ giá trị cuối d Biến đếm lớn giá trị đầu, giá trị đầu lớn giá trị cuối Hãy chọn phương án đúng Câu 4: Trong câu lệnh lặp với số lần biết trước (for…do), <câu lệnh> đuợc thực lần? a (<giá trị cuối> - <giá trị đầu>) lần b Tùy thuộc vào bài tóan biết số lần c Khỏang 10 lần d (<giá trị cuối> - <giá trị đầu> + 1) lần Hãy chọn phướng án đúng Câu 5: Trong câu lệnh lặp luôn có kiểm tra điều kiện, điều kiện câu lệnh lặp: For <biến đếm> := <giá trị đầu> to <giá trị cuối> <câu lệnh>; là gì? a Biến đếm có phải kiểu nguyên hay không b Biến đếm đã giá trị đầu hay chưa c Biến đếm đã giá trị cuối hay chưa d Giá trị đầu và giá trị cuối có hay không Câu 6: Tìm giá trị S đọan chương trình đây S := 0; For i := to S := S + i; a S = b S = c S = d S = 15 Câu 7: Khi nào thì câu lệnh For…to…do kết thúc? a Khi biến đếm lớn giá trị cuối b Khi biến đếm nhỏ giá trị cuối c Khi biến đếm ngang giá trị cuối d Khi biến đếm lớn giá trị đầu Câu 8: Tìm giá trị a qua đoạn chương trình sau: a := 10; For i := to a := a – 1; a a = Gv: Ngô Thị Thùy Dung Lop8.net Trang 120 (3) Trường THCS Xuân Đường Tin học b a = -5 c a = 10 d a = Hoạt động 2: Bài tập Bài tập: Gv: Yêu cầu Hs đọc đề bài trang 60 Sgk Hs: Đọc bài Gv: Hãy cho biết giá trị biến j? Hs: Trả lời Hs: Nhận xét Gv: Nhận xét Bài 1: Bài trang 60/Sgk Bước Kết j =? 10 12 Thoát khỏi vòng Sai lặp Lệnh lặp thực vòng lặp, lần j tăng thêm đơn vị Vậy kết thúc vòng lặp j có giá trị là 12 Gv: Yêu cầu Hs đọc đề bài trang 60 Sgk Hs: Đọc bài Hs: Trả lời Hs: Nhận xét Gv: Nhận xét i i<=5 Đ Đ Đ Đ Đ Đ Bài 2: Bài trang 50 / Sgk - Các câu a, b, c, e không hợp lệ, vì: a Giá trị đầu phải nhỏ giá trị cuối b Các giá trị đầu và giá trị cuối phải là số nguyên c Thiếu dấu hai chấm gán giá trị đầu e Biến x đã khai báo là biến có liệu kiểu số thực và vì không thể dùng để xác định giá trị đầu và giá trị cuối câu lệnh lặp - Câu d hợp lệ Tuy nhiên, ta muốn lặp lại câu lệnh writeln(‘A’) mười lần thì không hợp lệ thừa dấu chấm phẩy thứ Bài 3: Bài trang 60 / Sgk Gv:Yêu cầu Hs đọc đề bài trang 60 Sgk Hs: Đọc bài Gv: Cho Hs lên bảng làm bài Hs: Làm bài Gv: Ngô Thị Thùy Dung Lop8.net Trang 121 (4) Trường THCS Xuân Đường Tin học Hs: Nhận xét Gv: Nhận xét * Mô tả thuật toán: - B1: Gán A ← 0, i ← - B2: A ← / (i * (i + 2)) - B3: i ← i + - B4: Nếu i <= n, quay lại bước - B5: Ghi kết A Kết thúc thuật toán Gv: Cho Hs viết chương trình theo nhóm Hs: Viết chương trình Gv: Nhận xét, giải thích Bài 4: Viết chương trình tính tổng các số lẻ từ đến n, với n nhập vào từ bàn phím * Phân tích bài toán: - Input: nhập n - Output: S = + + + …+ n * Thuật tóan: - B1: S ← 0, i ← - B2: i ← i + - B3: Nếu i <= n thì Nếu i mod <> thì S ← S + i và i ← i + - B4: Quay lại B2 - B5: In kết quả, kết thúc * Viết chương trình: Program tinh_tong; var s,i,n:integer; begin writeln('nhap n:'); readln(n); s:=0; for i:=1 to n if i mod <> then s:=s+i; writeln('s=',s); readln end Bài 5: Viết chương trình tính tổng S = + 1/2 + 1/3 + ….+ 1/n Program tinh_tong; var i,n:integer; s:real; begin writeln('nhap n:'); readln(n); s:=0; for i:=1 to n s:=s+1/i; writeln('s=',s:4:3); readln end Gv: Cho Hs viết chương trình theo nhóm Hs: Viết chương trình Gv: Nhận xét, giải thích Gv: Ngô Thị Thùy Dung Lop8.net Trang 122 (5) Trường THCS Xuân Đường Tin học Hoạt động 3: Thực hành Gv: Nêu chương trình, hướng dẫn Hs viết chương trình, cho Hs thực hành Hs: Thực hành Củng cố: Chốt lại kiến thức trọng tâm đã học Dặn dò: - Về nhà học bài, thực hành - Coi trước bài “Học vẽ hình với phần mềm Geogebra” Gv: Ngô Thị Thùy Dung Lop8.net Trang 123 (6)