Tải bản đầy đủ (.pdf) (11 trang)

Giáo án Tin học 8 - Tiết 37-38, Bài 7: Câu lệnh lặp - Năm học 2010-2011 - Trần Thị Thảo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (198.47 KB, 11 trang )

<span class='text_page_counter'>(1)</span>Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. Tuần : 19 Tiết : 37+38. Ngày soạn: 06/01/2011 Ngày dạy : 07/01/2011. Bài 7: CÂU LỆNH LẶP I. Mục tiêu 1. Kiến thức - Biết nhu cầu cần có cấu trúc lặp 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 để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần. - Hiểu lệnh ghép trong Pascal. 2. Kỹ Năng - Rèn luyện kỹ năng phân biệt các hoạt động phụ thuộc vào điều kiện trong cuộc sống. 3. Thái độ - Tự giác, tích cực, chủ động trong tiết học. II. Chuẩn bị - GV: Soạn giáo án , SGK… - HS: Vở ghi, SGK, đọc trước nội dung bài học. III. Phương pháp - Vấn đáp, thuyết trình, trực quan. - Đặt vấn đề, giải quyết vấn đề. IV. Hoạt động dạy và học 1. Ổn định lớp tổ chức lớp - kiểm tra sĩ số lớp. - Ổn định trật tự. 2. Kiểm tra bài cũ - Em hãy mô tả thuật toán tím giá trị lớn nhất của hai số? Bước 1 : Max:= a (hoặc Max:=b); Bước 2 : Nếu a < b thì gán Max = b và viết giá trị lớn nhất của hai số là Max. 3. Bài mới - Trong các tiết học vừa qua em đã được làm quen với một số câu lệnh trong ngôn ngữ lập trình TuborPascal như lệnh điều kiện, bài học hôm nay giúp chúng ta tìm hiệu thêm câu lệnh mới. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(2)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. HĐ CỦA GV. HĐ CỦA HS. HĐ1: Trong cuộc - HS: Lắng sống hằng ngày, nghe, tự ghi nhiều hoạt động bài. đượ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à. NỘI DUNG 1/ Các công việc phải thực hiện nhiều lần - Nhiều hoạt động được thực hiện lặp lại nhiều lần. - Có những hoạt đồng thường lặp đi lặp lại với số lần nhất định và biết trước. - Chúng ta còn lặp lại những công việc với số lần không thể xác định trước.. HS cho thêm một ví Ví dụ: Các dụ trong thực tế đời em học bài sống hằng ngày lặp thì phải đọc đi đọc lại đi lặp lại ? nhiều lần GV: Khi viết CT cho đến khi máy tính cũng vậy, thuộc bài. 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. HĐ2: Câu lệnh lặp – - HS: lên 2/ Câu lệnh lặp – một lệnh thay cho một lệnh thay cho bảng vẽ, cả nhiều lệnh lớp theo dõi nhiều lệnh VD1: Thuật toán mô tả các bước để vẽ GV: Mời HS lên hình vuông. bảng vẽ một hình Bước 1: k ← 0 (k là số đoạn thẳng đó vuông cạnh 1 đơn vị vẽ được). độ dài (20cm) và yêu cầu cả lớp theo dõi Bước 2: k ← k+1. Vẽ đoạn thẳng 1 bạn thực hiện các đơn vị độ dài và quay thước 900 sang thao tác khi vẽ. phải. Yêu cầu 1 HS mô tả các bước bạn vẽ trên Bước 3: Nếu k<4 thì quay lại bước 2; bảng. ngược lại kết thc. Vậy khi bạn vẽ 1 hình vuông được.  k là biến đếm. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(3)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. thực hiện bao nhiêu - 4 thao tác, VD2: Thuật toán tính thổng thao tác? (HS trả lời Các thao tác S= 1+2+3+ … + 100 4 thao tác vẽ 4 đoạn giống nhau. Bước 1: S ← 0; i ← 0. thẳng) Bước 2: i← i + 1 GV: Gợi ý thêm thao Bước 3: nếu i ≤ 100, thì S ← S + i v tác quay thước. quay lại bước 2; ngược lại kết thúc. Các thao tác đó như  i là biến đếm thế nào? Mô tả thuật toán trên gọi l cấu trúc lặp. Mọi NNLT đều có cách chỉ thị cho GV: Như vậy khi vẽ máy tính thực hiện cấu trúc lặp chỉ với hình vuông có những 1 câu lệnh. Đó là câu lệnh lặp 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. HĐ3: Ví dụ về câu - HS: chú ý lắng nghe lệnh lặp. bài. GV: minh họa bẳng NN Pascal cú pháp câu lệnh <for … to … do>. 3/ Ví dụ về câu lệnh lặp. Lưu ý cho hs:. Vd 1: Chươngng trình in ra màn hình thứ tự lần lặp. var i:integer; begin for i:= 1 to 20 do writeln(‘Day la lan lap thu’,i); readln; end.. Biến đếm là biến đơn có kiểu nguyên.. -. Giá trị đầu và giá trị cuối là các biểu thức có cùng kiểu với biến đếm và giá trị cuối phải lớn hơn giá trị đầu.. -. Cú Pháp câu lệnh lặp với số lần biết trước trong Pascal. for<biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh> trong đó: for, to, do là các từ khóa. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(4)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. - HS nhận xét và so sánh sự khác nhau ở câu lệnh lặp trong 2 ví dụ trên . GV: Giải thích cho HS tại sao vd2 trong câu lệnh lặp cú begin … end ;. HĐ4: Tính tổng & 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. Theo CT tính tổng ta cần khai bao nhiêu 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. - HS trả lời. Vd2: chương trình ghi nhận vị trí 10 chữ O rơi từ trên xuống.. - HS nhận ues crt; var i:integer; xét begin clrscr; for i:= 1 to 20 do begin writeln(‘O’); delay(200); end; readln; end. *Lưu ý: Câu lệnh có sử dụng câu lệnh ghép thì phải đặt trong hai từ khóa begin … end; - HS lắng 4/ Tính tổng & tích bằng câu lệnh nghe & trả lặp lời 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 - HS trả lời được nhập từ bàn phím. S = 1+2+3+ … + N 2 biến - N được program Tinh_tong; nhập từ bàn var N,i:integer; phím S:longint; begin write(‘Nhap so N = ‘); - HS trả lời 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ừ -231 đến 231 – 1. Vd 2: chương trình tính tích N số tự nhin, với N l số tự nhin được nhập từ bàn phím. N! = 1.2.3….N. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(5)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. 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. HĐ5: Củng cố 1/ Cấu trúc lặp trong HS: Lấy ví chương trình dng để dụ. làm gì? 2/ Trong NNLT Pascal cấu trc lặp với số lần lặp cho trước HS: được thể hiện với câu nghe lệnh nào?. Lắng. 4. HƯỚNG DẪN VỀ NHÀ - Nêu ví dụ trong cuộc sống của em có liên quan đến điều kiện và em thực hiện điều kiện đó như thế nào? - Hướng dẫn về nhà. - Học bài xem lại các ví dụ, chuẩn bị thực hành 5. V.. Rút kinh nghiệm - HS phải biệt phân tích một câu điều kiện trong thực tế. - Xác định được một câu điều kiện. - Chỉ ra được phần điều kiện, phần kết quả.. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(6)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. Tuần : 20 Tiết : 39+40. Ngày soạn: 09/01/2011 Ngày dạy : 10/01/2011. Bài TH 5: SỬ DỤNG LỆNH LẶP FOR...DO I.. Mục tiêu 1. Kiến thức - Hiểu hoạt động của câu lệnh lặp với số lần biết trước for…do trong Pascal. - Hiểu lệnh ghép trong Pascal. 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 đọc hiểu chương trình có sử dụng vòng lặp for…do. 3. Thái độ - Có ý thức, kỹ luật, nghiêm túc, trình bày một vấn đề chặt chẽ, rõ ràng. II. Chuẩn bị - GV: Soạn giáo án , SGK, máy chiếu, phòng máy… - HS: Vở ghi, SGK, đọc trước nội dung bài học, tìm hiểu một số bài toán và chỉ ra thuật toán.. III. Phương pháp - Vấn đáp, thuyết trình, trực quan. - Đặt vấn đề, giải quyết vấn đề. IV. Hoạt động dạy và học 1. Ổn định lớp tổ chức lớp - kiểm tra sĩ số lớp. - Ổn định trật tự. 2. Kiểm tra bài cũ - Nêu cấu trúc câu lệnh lặp đơn, câu lệnh lặp ghép, có biết ý nghĩa của câu lệnh lặp. - Trả lời: 3. Bài mới - Trong bài học trước em đã được học về câu lệnh lặp, bài học hôm nay giúp chúng ta tìm hiệu thêm câu lệnh lặp sử dụng trong các chương trình như thế nào.. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(7)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. Hoạt động của GV Bài 1 : Viết CT in ra màn hình bảng nhân của một số từ 1 tới 10, số được nhập từ bàn phím và dừng màn hình để có thể quan sát kết quả. ? Nêu cách giải? - Cần nhân 1 số với các số từ 1 đền 10. Gọi số đó là số N ta sẽ sử dụng vòng lặp xác định từ giá trị đầu đến giá trị cuối là bao nhiêu? ? yêu cầu mở rộng: in ra tất cả bảng cửu chương từ 1 đến 10? ? giá trị N lúc này có phải nhập nữa không? ?Giá trị N chạy từ bao nhiêu đến bao nhiêu? Vậy ta cần một vòng lặp N từ 1 đến 10 GV: yêu cầu HS làm thành hai bài khác nhau. ? quan sát kết quả nhận được? Kết quả có dễ dàng quan sát không?. Hoạt động của HS HS : đọc đề HS : nêu phương án. Nội dung Bài 1( SGK/62) a/ Khởi động Turbo Pascal và gõ chương trình. Program bangcuuchuong; uses crt; var N,i:integer; HS : từ 1 đến 10 begin clrscr; write('Nhap so N='); readln(N); writeln; HS : nêu phương án writeln('Bang nhan ',N); writeln; for i:=1 to 10 do HS : không writeln(N,' x ',i:2,' = ',N*i:3); HS : từ 1 đến 10 readln end. HS : lập trình và chạy - In toàn bộ bảng cửu chương trình chương: uses crt; HS : sửa theo hướng dẫn var N,i:integer; begin của SGK và GV HS : dịch và chạy chương clrscr; writeln('Bang nhan ',N); trình writeln; for N:=1 to 10 do for i:=1 to 10 do writeln(N,' x ',i:2,' = ',N*i:3); readln end. b/ Ý nghĩa của các câu lệnh trong chương trình: Sau khi khai báo cho thư viện. Các biến chương trình thực hiện lệnh xóa màn hình. Đến lệnh nhập N (1 → 9).. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(8)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. Bài 2 : Chỉnh sửa chương trình để làm đẹp kết quả trên màn hình. Kết quả của CT nhận được trong bài 1 có 2 nhược điểm sau đây : - Các hàng kết quả sát nhau nên khó đọc. - Các hàng kết quả không được cân đối với hàng tiêu đề. Nên sửa CT bằng cách chèn thêm một hàng trống giữa các hàng kết quả và đẩy các HS : đọc đề hàng sang phải một khoảng HS : nêu phương án cách nào đó. ? để kết quả trông dễ nhìn ta sử dụng Câu lệnh GotoXY(a, b) có tác dụng đưa con trỏ về cột a, hàng b. WhereX cho biết số thứ tự của cột và WhereY cho biết số thứ tự của hàng đang có con trỏ. Ví dụ GotoXY(5,WhereY) đưa con trỏ về vị trí cột 5 của hàng hiện tại. GV: Giúp HS sửa một số lỗi. Bài 3: Cũng như câu lệnh If, có thể dùng câu lệnh For lồng trong một câu lệnh For khác khi thực hiện lặp.. Dùng lệnh Writeln; để cách 1 dòng. Lệnh in thông báo Bang nhan của số được nhập vào. Thực hiện lệnh lặp với điều kiện trước, biến I chạy từ 1→10. In kết quả bảng nhân ra. Kết thúc chương trình. C/ Chạy CT (Ctrl+F9) ta nhập lần lượt các giá trị bằng 1, 2,…, 10. Bài 2: (SGK/63) a/ CT đã chỉnh sửa câu lệnh lặp: Uses crt; Var N, i:integer; Begin Clrscr; Write (‘Nhap so N=’); Readln (N); Writeln; Writeln (‘Bảng nhan ‘,N); Writeln; For i:=1 to 10 do Begin GotoXY (5,whereY); Writeln (N,’x’, i:2,’=’, N*i:3); Writeln End; Readln End. b/ Dịch và chạy CT với giá trị gõ vào từ bàn phím. Quan sát kết quả nhận được trên màn hình. Bài 3: (SGK/64) a/ Yêu cầu học sinh tự đọc chương trình, tìm hiểu ý nghĩa của các câu. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(9)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. Sử dụng các câu lệnh HS : Trật tự, tập trung For…do lồng nhau để in ra quan sát GV hướng dẫn. màn hình các số từ 0 đến 99 theo dạng bảng như hình (Hình 38/ 64/SGK).. Bài 4: Tính tổng S= 1+1/2+1/3+…+1/n Với n nhập từ bàn phím. ? Bài này tương tự bài nào?. HS : Trả lời ? Công thức tính tổng S được HS : s:= s+1/(2*n+1) tính như thế nào? ? Ban đầu giá trị S gán bằng HS : 0 bao nhiêu? ? Ta dùng biến nào là biến HS : n đếm? Giá trị dầu, giá trị cuối bằng bao nhiêu?. lệnh qua phần gợi ý trong cặp dấu ngoặc nhọn {}. b/ Chạy CT: Sử dụng thêm các câu lệnh GotoXY(a,b) để điều chỉnh bảng kết quả ra giữa màn hình. CT đã chỉnh sữa như sau: Program Tao_bang; Uses crt; Var i: byte; j, X, Y: byte; Begin Clrscr; X:=18; Y:=7; For i:= 0 to 9 do Begin GotoXY (X,Y); For j:= 0 to 9 do Write (10*i+j:4); Y:=Y+1; Writeln; End; Readln End. Bài 4: (BT làm thêm) Program Tinh_tong; Uses crt; Var i,n: integer; s: real; Begin Clrscr; Write(' nhap n='); Readln(n); s:=0; For i:= 1 to n do Begin s:= s+1/(2*n+1); End; Writeln(' tong la',s:3:2); Readln; End.. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(10)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. Bài 5: In ra màn hình các số có 4 chữ số mà tổng chữ số hành trăm và hàng nghìn bằng tổng các chữ số hàng chục và hàng đơn vị. ? Nêu phương án giải quyết ? HS : Nêu cách giải ? Bài toán yêu cầu những HS : Trả lời gì ? ? Trước tiên cần phải tách HS : Nêu các bước tách số các số, sau đó kiểm tra điều kiện tiếp theo ? nêu cách giải tách các số. Bài 5: Giải bài toán cổ ‘ vừa gà vừa chó’ ? Tổng số gà và chó là bao nhiêu con? ? Tổng số chân là bao nhiêu? ? Số gà cvà số chó chỉ có thể trong khoảng từ bao nhiêu con đến bao nhiêu con? Ta sẽ cho số chó lần lượt chạy từ 1 đến 24 tương ứng với số chó là số gà = 36 – chó và kiểm rta điều kiện nếu gà *2 + chó*4 = 100 thì hiện kết quả tìm được. ?Hãy lập trình theo gợi ý ?. Bài 5: (BT làm thêm) Program In_so_bon_CS; Uses Crt; Var a,b,c,d,i: Integer; Begin Clrscr; Write('cac so thoa man la = '); Writeln; For i:= 1000 to 9999 do Begin a:= i div 1000; b:= (i mod 1000) div 100; c:= (i mod 100) div 10; d:= i mod 10; If ((b + a) = (d+ c)) then Write( i,' ' ); End; Readln; End. Bài 5: (BT làm thêm) Program BT_Ga_Cho; Var ga, cho:byte; Begin HS : gà + chó = 36 con For cho:= 1 to 24 do Begin HS : gà *2 + chó*4 = 100 ga:= 36 - cho; if( 2*ga + 4*cho = HS : từ 1 đến 24 con vì chỉ có thể có ít hơn 100 : 4 = 100) then writeln('Ga: ', ga, ', 25 con Cho: ',cho); End; HS : lập trình, chạy Readln; End. chương trình. GV : Tìm được kết quả bằng bao nhiêu ? TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(11)</span> Trường THCS LÊ QUÝ ĐÔN Giáo án tin 8 ---------------------------------------------------------------------------------------------------------------------------------------. Cũng Cố : GV : Gọi HS đọc phần tổng kết. GV : Yêu cầu HS đọc phần đọc thêm. ? Nêu cấu trúc câu lệnh lặp đơn, câu lệnh lặp ghép, cho biết ý nghĩa của câu lệnh lặp. ? Biến đếm phải có điều kiện gì khi khai báo biến ? Hướng đẫn về nhà : Tập lập trình một số BTVN của tiết trước, buổi sau sẽ HS : trả lời chữa bài và chạy chương trình , lập trình bài đọc thêm để kiểm tra kết quả số Pi. Ôn tập kĩ vòng lặp xác định, chuẩn bị bài sau học vòng lặp không xác định.. TRẦN THỊ THẢO Năm 2010 - 2011 Lop8.net.

<span class='text_page_counter'>(12)</span>

×