Trêng THCS S¬n TiÕn Gi¸o viªn: Ph¹m Tn Anh Dạy Lớp: 8B; 8C; 8D. Ngày soạn: 11/01/2009. Tiết PPCT: 37. Ngày dạy: 13/01/2009. Bài 7. CÂU LỆNH LẶP. (T1). I. Mục đích : 1. kiến thức - Biết được nhu cầu cần có cấu trúc lặp được sử dụng để hướng dẫn cho máy tính thực hiện lặp lại một công việc nào đó một số lần trong ngôn ngữ lập trình. - Nắm được cú pháp và cách sử dụng vòng lặp FOR… DO. 2. kỹ năng - Đọc và tìm hiểu chương trình trong các ví dụ. - Viết được câu lệnh lặp ở những bài toán đơn giản. II. Phương tiện dạy học : - Phương pháp: thuyết trình, nêu vấn đề và vấn đáp - Phương tiên: sgk, sgv, ví dụ minh hoạ. - Tiến trình bài giảng 1. ổn đònh só số: 2. kiểm tra bài cũ: ? viết lại cú pháp của câu lệnh IF… THEN 3. Giới thiệu bài mới: trong cuộc sống chúng ta thường gặp những công việc lặp đi lặp lại nhiều lần. (Ví dụ những ví dụ sgk.).Trong máy tính ví dụ để viết các số từ 1 đến 100. ta phải dùng lệnh write 100 lần1. thay vì việc này ta sử dụng câu lệnh lặp. 4. Nội dung bài mới: Hoạt động 1: 1. Các cơng việc phải thực hiện nhiều lần. Hoạt động của GV Hoạt động của HS Trong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần. ví dụ: - Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà - Các em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi thuộc bài. Hãy cho thêm một vài ví dụ trong thực tế trong đời sống hằng ngày mà ta phải thực Hs lắng nghe Gi¸o ¸n tin häc líp 8. Trêng THCS S¬n TiÕn Gi¸o viªn: Ph¹m TuÊn Anh hiện các thao tác được lặp đi lặp nhiều lần? Gv: Khi viết chương trình máy tính cũng vậy, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định. Hs cho ví dụ Hoạt động 2: 2. Câu lệnh lặp – một lệnh thay cho nhiều lệnh. Gv: Gọi 1 hs lên bảng vẽ một hình vuông cạnh 1 đơn vị độ dài (20cm) và yêu cầu cả lớp theo dõi bạn thực hiện các thao tác trên bảng. Yêu cầu 1 hs mô tả các bước bạn vẽ trên bảng. Vậy khi bạn vẽ 1 hình vuông đã thực hiện bao nhiêu thao tác? (hs có thể chỉ trả lời 4 thao tác là vẽ 4 đoạn thẳng) GV: Gợi ý thêm thao tác quay thước. Các thao tác đó như thế nào? Gv: Như vậy khi vẽ hình vuông có những thao tác lặp đi lặp lại. Thuật toán sau sẽ mô tả các bước để vẽ hình vuông. Gv: Mô tả thuật toán trên bảng Gv: Mô tả thuật toán tính tổng các số tự nhiên từ 1→ 100 Cấu trúc mô tả thuật toán như trên gọi là cấu trúc lặp. 1hs lên bảng vẽ, cả lớp theo dõi 4 thao tác Các thao tác giống nhau. Vd1: Thuật toán mô tả các bước để vẽ hình vuông. Bước 1: k ← 0 (k là số đoạn thẳng đã vẽ được). Bước 2: k ← k+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 90 0 sang phải. Bước 3: Nếu k<4 thì quay lại bước 2; ngược lại kết thúc. • k là biến đếm Vd2: Thuật toán tính S= 1+2+3+ … + 100 Bước 1: S ← 0; i ← 0. Bước 2: i← i + 1 Bước 3: nếu i ≤ 100, thì S ← S + i và quay lại bước 2; ngược lại kết thúc. • i là biến đếm Mô tả thuật toán trên gọi là cấu trúc lặp. Mọi ngôn ngữ lập trình đều có cách chỉ thị cho máy tính thực hiện cấu trúc lặp chỉ với 1 câu lệnh. Đó là câu lệnh lặp Gi¸o ¸n tin häc líp 8. Trờng THCS Sơn Tiến Giáo viên: Phạm Tuấn Anh Dy Lp: 8B; 8C; 8D. Ngy son: 11/01/2009. Tit PPCT: 38. Ngy dy: 13/01/2009. Bi 7. CU LNH LP. (T2). I. Mc tiờu: Hiu hot ng ca cõu lnh vi s ln bit trc for .do trong Pascal. Vit ỳng c lnh for .do trong mt s tỡnh hung n gin. Hiu lnh ghộp trong Pascal Thỏi nghiờm tỳc cn thn. II. Chun b: GV: Soạn bài, đọc tài liệu tham khảo, dụng cụ dạy học. HS: Xem dài trớc ở nhà, dụng cụ học tập. III. Tin trỡnh bi dy: Hot ng 1: 3. Vớ d v cõu lnh lp. Gv: minh ha bng ngụn ng Pascal cỳ phỏp cõu lnh for to do Lu ý cho hs: - bin m l bin n cú kiu nguyờn; - giỏ tr u v giỏ tr cui l cỏc biu thc cú cựng kiu vi bin m v giỏ tr cui phi ln hn giỏ tr u; - cõu lnh cú th l cõu lnh n gin hay cõu lnh ghộp. Cho hs nhn xột v so sỏnh s khỏc nhau cõu lnh lp trong hai vd trờn? Gv: Gii thớch cho hc ti sao vd2 trong cõu lnh lp cú begin end Cỳ Phỏp cõu lnh lp vi s ln bit trc trong Pascal. for<bin m>:= <giỏ tr u> to <giỏ tr cui> do <cõu lnh> trong ú: for, to, do l cỏc t khúa Vd 1: Chuong trỡnh in ra mn hỡnh th t ln lp. var i:integer; begin for i:= 1 to 20 do writeln(Day la lan lap thu,i); readln; end. Vd2: chng trỡnh ghi nhn v trớ 10 ch O ri t trờn xung. ues crt; var i:integer; begin clrscr; for i:= 1 to 20 do begin writeln(O); delay(200); end; readln; end. *Lu ý: Cõu lnh cú s dng cõu lnh Giáo án tin học lớp 8. Trêng THCS S¬n TiÕn Gi¸o viªn: Ph¹m TuÊn Anh ghép thì phải đặt trong hai từ khóa begin … end. Hoạt động 2: 4.Tính tổng và tích bằng câu lệnh lặp. Gv: trình bày đoạn chương trình tính tổng N số tự nhiên, với N là số tự nhiên được nhập từ bàn phím (Pascal) Theo công thức tính tổng ta cần khai bao nhieu biến? kiểu biến? Trong 2 biến thì biến nào có giá trị được nhập từ bàn phím? Trong trường hợp dữ liệu có kiểu nguyên rất lớn ta dùng longint Vd 1: chương trình tính tổng N số tự nhiên đầu tiên, với N là số tự nhiên được nhập từ bàn phím. S = 1+2+3+ … + N program Tinh_tong; var N,i:integer; S:longint; begin write(‘Nhap so N = ‘); readln(N); S:= 0; for i:= 1 to N do S:= S+i; writeln(‘Tong cua’, N, ‘so tư nhien dau tien S = ‘, S); readln; end. *Kiểu longint có phạm vi từ -2 31 đến 2 31 – 1. Vd 2: chương trình tính tích N số tự nhiên, với N là số tự nhiên được nhập từ bàn phím. N! = 1.2.3….N program Tinh_Giai_Thua; var N,i:integer; P:longint; begin write(‘Nhap so N = ‘); readln(N); P:= 1; for i:= 1 to N do P:= P*i; writeln( N, ‘! = ‘, P); readln; end. Củng cố: 1. Cấu trúc lặp trong chương trình dùng để làm gì? 2. Trong ngôn ngữ lập trình Pascal cấu trúc lặp với số lần lặp cho trước được thể hiện với câu lệnh nào? Gi¸o ¸n tin häc líp 8. Trờng THCS Sơn Tiến Giáo viên: Phạm Tuấn Anh +) Hng dn v nh: Hc bi xem li cỏc vớ d, chun b thc hnh. Dy Lp: 8B; 8C; 8D. Ngy son: 18/01/2009. Tit PPCT: 39. Ngy dy: 20/01/2009. Bài thực hành 5. (T1) sử dụng lệnh lặp for do I. Mục tiêu: 1. Kiến thức: Vận dụng kiến thức của vòng lặp for do, câu lệnh ghép để viết chơng trình. 2. Kỹ năng: Viết đợc chơng trình có sử dụng vòng lặp for do; Sử dụng đợc câu lệnh ghép; Rèn luyện kỹ năng đọc hiểu chơng trình có sử dụng vòng lặp for do. 3. Thái độ: Thái độ học tập nghiêm túc, tích cực làm các bài tập thực hành. II. Chuẩn bị: - Sách giáo khoa, giáo án, tài liệu tin học có liên quan. Phòng máy. - Đọc tài liệu ở nhà trớc khi lên lớp. III. Tiến trình lên lớp: Chúng ta đã nghiên cứu lý thuyết về vòng lặp for do. để biết vòng lặp chạy nh thế nào thì hôm nay chúng ta cùng nhau đi vào tiết thực hành. Giáo viên ghi tên bài học lên bảng. Hoạt động của giáo viên Hoạt động của học sinh Hoạt động 1: Viết chơng trình cho các bài tập đã cho về nhà. - GV: yêu cầu mỗi dãy gõ một bài vào máy. - HS: gõ chơng trình, chạy thử chơng trình, và báo cáo kết quả. - GV: hỗ trợ học sinh trong quá trình thực hành. - Sau khi kết quả chạy chơng trình đã đúng, gv yêu cầu học sinh chữa bài của Bài 1: Tính tổng của n số tự nhiên đầu tiên Program tinh_tong; Uses crt; Var i, n: integer; tong: longin; Begin Clrscr; Tong:=0; Writeln(Nhap vao so n); readln(n); For i:=1 to n do Tong: = Tong+i; Writeln(Tong của, n,so tu nhien dautien la,tong); Readln; End. 2. Viết chơng trình tìm xem có bao nhiêu số dơng trong n số nhập vào từ bàn phím Program tinh_so_cac_so_duong; Uses crt; Var i,A, dem, n: integer; Begin Clrscr; Dem:=0; Giáo án tin học lớp 8. Trờng THCS Sơn Tiến Giáo viên: Phạm Tuấn Anh mình đã làm ở nhà cho đúng theo chơng trình đã chạy. Writeln(Nhap vao so n); readln(n); For i:=1 to n do begin writeln(nhap vao so thu,i); readln(A); if A>0 then dem:=dem+1; end; Writeln(So cac so duong la,dem); Readln; End. Hoạt động 2: Bảng cửu chơng. - GV: Đa ra nội dung của bài toán. - HS: Nghiên cứu bài toán, tìm input và output. - GV: Đa nội dung chơng trình lên màn hình, yêu cầu học sinh đọc hiểu chơng trình. - HS: đọc, phân tích câu lệnh tìm hiểu hoạt động của chơng trình. - GV: yêu cầu một học sinh đứng tại vị trí trình bày hoạt động của chơng trình, các nhóm khác cùng tham gia phân tích. - HS: tham gia hoạt động của giáo viên - GV: yêu cầu học sinh lập bảng hoạt động của chơng trình theo mẫu: Giả sử N =2: Bớc i i<=10 Writeln(n,.,i,=,n*i) 1 1 đúng 2.1=2 - HS: các nhóm lập bảng và đại diện nhóm báo cáo kết quả. - GV: nhận xét. - GV: cho chơng trình chạy trên máy, yêu cầu học sinh quan sát kết quả. Bài 2: Viết chơng trình in ra màn hình bảng nhân của một số từ 1 đến 9, và dừng màn hình để có thể quan sát kết quả. Program Bang_cuu_chuong; Uses crt; Var i, n: integer; Begin Clrscr; Writeln(Nhap vao so n); readln(n); Writeln(Bang nha,n); Writeln; For i:=1 to 10 do Writeln(n,x,i:2,=,n*i:3); Readln; End. Nhận xét, rút kinh nghiệm tiết thực hành 6. Dặn dò học sinh về nhà Về nhà xem trớc bài thực hành 2 SGK (T63) viết chơng trình in ra màn hình bảng cửu chơng từ 2 đến 9. 1. Củng cố : - Giáo viên hệ thống lại toàn bộ nội dung bài học. - Nhận xét, rút kinh nghiệm tiết thực hành 2. H ớng dẫn về nhà : - Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần. - Học kĩ lí thuyết, viết chơng trình tính tông 100 số tự nhiên, N số tự nhiên đầu tiên. - về nhà xem trớc bài thực hành 2 SGK (T63) viết chơng trình in ra màn hình bảng cửu chơng từ 2 đến 9. - Đọc bài mới để giờ sau học. Giáo án tin học lớp 8. Trờng THCS Sơn Tiến Giáo viên: Phạm Tuấn Anh Dy Lp: 8B; 8C; 8D. Ngy son: 18/01/2009. Tit PPCT: 40. Ngy dy: 20/01/2009. Bài thực hành 5. (T2) sử dụng lệnh lặp for do I. Mục tiêu: Vận dụng kiến thức của vòng lặp for do, câu lệnh ghép để viết chơng trình, tìm hiểu câu lệnh gotoxy(), where<>, lệnh for lồng trong for Viết chơng trình có sử dụng vòng lặp for do; Sử dụng câu lệnh ghép trong chơng trình; Rèn luyện kỹ năng đọc hiểu chơng trình có sử dụng vòng lặp for do. II. Chuẩn bị: - Sách giáo khoa, giáo án, tài liệu tin học có liên quan. Phòng máy - Đọc tài liệu ở nhà trớc khi III. Tiến trình lên lớp: Hoạt động của giáo viên Hoạt động của học sinh Hoạt động 1: Làm đẹp màn hình kết quả bằng lệnh gotoxy, where - Giáo viên cho chạy kết quả của bài thực hành Bang_cuu_chuong Yêu cầu học sinh quan sát kết quả và nhận xét khoảng cách giữa các hàng, cột. -HS: quan sát và đa ra nhận xét. - ? Có cách nào để khoảng cách giữa các hàng và các cột tăng lên? - GV: Giới thiệu câu lệnh gotoxy và where. -GV: yêu cầu học sinh mở chơng trình Bang_cuu_chơng và sửa lại chơng trình theo bài trên màn hình của giáo viên. - HS: gõ chơng trình vào máy, sửa lỗi chính tả, chạy chơng trình, quan sát kết quả. - GV: yêu cầu học sinh quan sát kết quả và so sánh với kết quả của chơng trinh khi cha dùng lệnh gotoxy(5, wherey) - HS: quan sát và nhận xét. Bài 2 sgk (T63) a) Giới thiệu lệnh gotoxy(), wherex - Gotoxy(a,b) Trong đó: a là chỉ số cột, b là chỉ số hàng - ý nghĩa của câu lệnh là đa con trỏ về cột a hàng b. - Wherex: cho biết số thứ tự của cột, wherey cho biết số thứ tự của hàng. * Lu ý: Phải khai báo th viện crt trớc khi sử dụng hai lệnh trên a) Chỉnh sửa chơng trình nh sau: Program Bang_cuu_chuong; Uses crt; Var i, n: integer; Begin Clrscr; Writeln(Nhap vao so n); readln(n); Writeln(Bang nha,n); Giáo án tin học lớp 8. Trờng THCS Sơn Tiến Giáo viên: Phạm Tuấn Anh Writeln; For i:=1 to 10 do begin gotoxy(5, wherey); Writeln(n,x,i:2,=,n*i:3); Readln; End. Hoạt động 2: sử dụng lệnh For lồng trong for. - GV: giới thiệu cấu trúc lệnh for lồng, hớng dẫn học sinh cách sử dụng lệnh. - HS: ghi chép cấu trúc và lĩnh hội - GV: đa nội dung chơng trình bài thực hành 3 lên màn hình, yêu cầu học sinh đọc chơng trình, tìm hiểu hoạt động của chơng trình. - HS: hoạt động theo nhóm, tìm hiểu hoạt động của chơng trinh, đại diện của nhóm báo cáo kết quả thảo luận. - GV: cho chạy chơng trình. - HS : quan sát kết quả trên màn hình. Bài 3 SGK (T64). a) Câu lệnh for lồng trong for - For <biến đếm1:= giá trị đầu> to <giá trị cuối> do For <biến đếm 2:=giá trị đầu> to <giá trị cuố> do < câu lệnh>; Program Tao_bang; Uses crt; Var i,j: byte; Begin Clrscr; For i:=1 to 9 do Begin For j:=0 to 9 do Writeln(10*i+j:4); Writeln; End; Readln; End. Hoạt động 3: kết thúc. HS: tắt chơng trình ứng dụng, tắt máy, tắt nguồn 1. Củng cố : - Giáo viên hệ thống lại toàn bộ nội dung bài học. - Nhận xét rút kinh nghiệm giờ thực hành. 2. H ớng dẫn về nhà : Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần. Giáo án tin học lớp 8. Trờng THCS Sơn Tiến Giáo viên: Phạm Tuấn Anh - học sinh về nhà sử dụng lệnh gotoxy để chỉnh sửa lại bài thực hành số 3 cho kết quả in ra màn hình đẹp. - Đọc bài mới để giờ sau học. Giáo án tin học lớp 8. . đến 9. 1. Củng cố : - Giáo viên hệ thống lại toàn bộ nội dung bài học. - Nhận xét, rút kinh nghiệm tiết thực hành 2. H ớng dẫn về nhà : - Học bài theo sách. ngôn ngữ lập trình. - Nắm được cú pháp và cách sử dụng vòng lặp FOR… DO. 2. kỹ năng - Đọc và tìm hiểu chương trình trong các ví dụ. - Viết được câu lệnh