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 (150.45 KB, 10 trang )
<span class='text_page_counter'>(1)</span>Ngày soạn: 24/12/2011 Tiết 37:. CÂU LỆNH LẶP. I. Mục tiêu: 1. Kiến thức: - Trình bày được nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình. - Trình bày được 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. - Giải thích được hoạt động của câu lệnh lặp với số lần biết trước For..do trong Pascal 2. Kĩ năng: - Rèn luyện kỹ năng vận dụng câu lệnh lặp 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học II. Chuẩn bị: Sách giáo khoa, máy tính điện tử III. Tiến trình bài dạy: 1. Tổ chức ổn định lớp (1’) 2. Bài mới T/g Hoạt động của thầy Hoạt động của trò Nội dung 10p + Hoạt động 1: Tìm 1. Các công việc phải hiểu các công việc phải thực hiện thực hiện nhiều lần trong cuộc sống. 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ụ: + Học sinh chú ý lắng nghe => - Các ngày trong tuần ghi nhớ kiến thức.. 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.? Em hãy cho 1 vài vì dụ trong cuộc sống mà ta phải thực hiện lặp đi lặp lại nhiều lần với số lần có thể biết trước và không biết trước.. + Hoạt động 2: Tìm. + Số lần lặp biết trước: 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à. + Số lần lặp không biết trước: Trong một trận cầu lông các em lặp đi lặp lại công việc đánh cầu cho đến khi kết thúc trận cầu.. Khi viết chương trình máy tính, 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..
<span class='text_page_counter'>(2)</span> T/g 15p. Hoạt động của thầy hiểu câu lệnh lặp - một lệnh thay cho nhiều lệnh. Ví dụ 1: Giả sử cần vẽ 3 hình vuông có cạnh 1 đơn vị. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị. ? Việc vẽ hình có thể thực hiện theo thuật toán nào.. Hoạt động của trò. Nội dung 2. Câu lệnh lặp - một lệnh thay cho nhiều lệnh:. + Học sinh chú ý lắng nghe.. Việc vẽ hình có thể thực hiện theo thuật toán sau: - Bước 1: vẽ hình vuông(vẽ liên tiếp 4 cạnh và trở về đỉnh ban đầu) - Bước 2: Nếu số hình vuông đã được vẽ ít hơn 3 , di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1; Ví dụ 2: Thuật toán tính ngược lại thì kết thúc thuật Cách mô tả các hoạt S= 1+2+3+ … + 100 toán. động trong thuật toán Bước 1: S ← 0; i ← 0. như các ví dụ được gọi Bước 2: i← i + 1 là cấu trúc lặp Bước 3: nếu i ≤ 100, thì Học sinh chú ý lắng nghe, ghi S ← S + i và quay lại nhớ kiến thức. bước 2; ngược lại kết thúc. - Mọi ngôn ngữ lập trình đều có cách để chỉ thị Học sinh chú ý lắng nghe cho máy tính thực hiện cấu trúc lặp với một câu lệnh đó là “câu lệnh 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 với một câu lệnh đó là “câu lệnh lặp” 15p. Hoạt động 3: tìm hiểu cú pháp của câu lệnh lặp GV: Câu lệnh lặp thường gặp trong Pascal - HS: for<biến đếm>:= <giá có dạng ntn? trị đầu> to <giá trị cuối> do <câu lệnh>; Gv: khẳng định lại ghi bảng GV: Trong đó For, to, do là những từ gì? - HS: từ khóa GV: Biến đếm có kiểu dữ liệu gì? - HS: Biến đếm là biến đơn có kiểu nguyên;. 3/ Ví dụ về câu lệnh lặp 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 -Biến đếm là biến có kiểu nguyên; -Giá trị đầu và giá trị.
<span class='text_page_counter'>(3)</span> T/g. Hoạt động của thầy Hoạt động của trò GV: Giá trị đầu và giá trị cuối có kiểu ntn? - HS: có cùng kiểu với biến đếm (kiểu nguyên) GV: giá trị cuối ntn với giá trị đầu? - HS: giá trị cuối lớn hơn giá trị đầu GV: câu lệnh lặp này thực hiện ntn? -HS: Câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần, là một vòng lặp. Số lần lặp là biết trước và bằng: giá trị cuối – giá trị đầu + 1 GV: khi thực hiện ban đầu biến đếm sẽ nhận -HS: nhận giá trị bằng giá trị giá trị là bào nhiêu? đầu GV: Sau mỗi vòng lặp -HS: sau mỗi vòng lặp, biến biến đếm sẽ ntn? đếm được tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối. GV viết bảng HS: Lắng nghe ghi chép. Nội dung cuối là các giá trị nguyên, giá trị cuối phải lớn hơn giá trị đầu; - Câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần, là một vòng lặp. Số lần lặp là biết trước và bằng: giá trị cuối – giá trị đầu + 1 - Khi thực hiện, ban đầu biến sẽ nhận giá trị là giá trị đầu, sau mỗi vòng lặp, biến đếm được tự động tăng thêm một đơn vị cho đến khi bằng giá trị cuối. -Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.. IV. Củng cố: (5phút) ? Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày. V. Dặn dò: (2phút) - Về nhà học bài kết hợp sách giáo khoa.. RÚT KINH NGHIỆM SAU TIẾT DẠY ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ................................................................................................................................................ Ngày soạn:24/12/2011 Tiết 38: I. Mục tiêu: 1. Kiến thức:. CÂU LỆNH LẶP (tt).
<span class='text_page_counter'>(4)</span> - Giải thích được hoạt động của câu lệnh lặp với số lần biết trước For..do trong Pascal - Viết đúng được lệnh For..do trong một tình huống đơn giản. - Giải thích được lệnh ghép trong Pascal 2. Kĩ năng: - Rèn luyện kỹ năng sử dụng vòng lặp để làm bài tập 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích môn học II. Chuẩn bị: Sách giáo khoa, máy tính điện tử III. Tiến trình bài dạy: 1. Ổn định lớp (1’) 2. Kiểm tra bài cũ: (5’) ? Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày. ? Viết Cp của câu lệnh lặp, giải thích các thành phần có trong đó, câu lệnh thực hiện ntn? 3. Bài mới: T/g Hoạt động của thầy Hoạt động của trò 15p + Hoạt động 1: Ví dụ về cầu lệnh lặp GV: dùng bảng phụ dán ct ví dụ 2 lên bảng yêu cầu hs quan sát đọc hiểu ý - HS: quan sát đọc hiểu nghĩa của ct GV: gọi hs giải thích - HS giải thích GV: Giải thích thêm chương trình của ví dụ 1 HS: Lắng nghe ghi chép cho hs GV: dùng bảng phụ dán ct ví dụ 2 lên bảng yêu cầu hs quan sát đọc hiểu ý - HS: quan sát đọc hiểu nghĩa của ct GV: gọi hs giải thích - HS giải thích GV: Giải thích thêm HS: Lắng nghe ghi chép chương trình của ví dụ 2 cho hs. Cho hs nhận xét và so sánh sự khác nhau ở câu lệnh lặp trong hai vd trên?. Nội dung 3. Ví dụ về câu lệnh lặp: Vd 1: Chương 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. Vd2: chương trình ghi nhận vị trí 10 chữ O rơi từ trên xuống. ues crt; var i:integer; begin clrscr; for i:= 1 to 20 do begin writeln(‘O’); delay(200); end; readln; end..
<span class='text_page_counter'>(5)</span> T/g. 20p. Hoạt động của thầy Gv: Giải thích cho học sinh tại sao vd2 trong câu lệnh lặp có begin … end. Hoạt động của trò. + Hoạt động 2: Tìm hiểu tính tổng và tích bằng câu lệnh lặp. Ví dụ 5: Chương trình sau đây sẽ tính tổng N số tự nhiên đầu tiên với N nhập từ bàn phím. GV: dùng bảng phụ dán ct ví dụ 2 lên bảng yêu cầu hs quan sát đọc hiểu ý - HS: quan sát đọc hiểu nghĩa của ct GV: gọi hs giải thích - HS giải thích GV: Giải thích thêm chương trình của ví dụ 1 HS: Lắng nghe ghi chép cho hs. - Ví dụ 6: Ta kí hiệu N! là tích N số tự nhiên đầu tiên: N! = 1.2.3…N Yêu cầu học sinh viết chương trình theo sự hướng dẫn của giáo viên. - HS viết chương trình:. Nội dung *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. 2. Tính tổng và tích bằng câu lệnh lặp: Ví dụ 5: Chương trình sau đây sẽ tính tổng N số tự nhiên đầu tiên với N nhập từ bàn phím. Program tinh_tong; Var N,i: Integer; S: longint; Begin Writeln(‘nhap so N =’); Readln(N); S:=0; For i:=1 to N do S:=S+i Witeln(‘tong la:’,S); Readln; End. - Ví dụ 6: Ta kí hiệu N! là tích N số tự nhiên đầu tiên: N! = 1.2.3…N. Program tinh_giai_thua; Var N,i: Integer; P: Longint; Begin Write(‘N =’); readln(N); P:=1; For i:=1 to N do P:=P*i; Wirteln(N,’!=’,P); Readln; program End. Tinh_Giai_Thua; - GV: gọi hs lên bảng - HS theo dõi nhận xét sửa var N,i:integer; trình bày sai nếu có P:longint; - GV theo dõi begin - GV giải thích thêm ct write(‘Nhap so N = ‘); cho hs - HS lắng nghe theo dõi readln(N); ghi bài P:= 1; for i:= 1 to N do P:= P*i;.
<span class='text_page_counter'>(6)</span> T/g. Hoạt động của thầy. Hoạt động của trò. Nội dung writeln( N, ‘! = ‘, P); readln; end.. IV. Củng cố: (3phút) - Gọi hs giải thích lại chương trình tính tổng N số tự nhiên đầu tiên V. Dặn dò: (1phút) - Về nhà học bài kết hợp sách giáo khoa. RÚT KINH NGHIỆM SAU TIẾT DẠY ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ............................................................................................................................................... ................................................................................................................................................ Tiết 41:. Ngày soạn: 08/01/2012 Bài thực hành số 5 LÀM QUEN VỚI TURBO PASCAL. I. Mục tiêu: 1. Kiến thức: - Biết viết chương trình Pascal có câu lệnh lặp For..do. 2. Kĩ năng: - Rèn luyện kĩ năng đọc hiểu chương trình 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc. II. Chuẩn bị:.
<span class='text_page_counter'>(7)</span> Nội dung bài thực hành, máy tính điện tử. III. Tiến trình thực hành: T/g Hoạt động của thầy 10p + Hoạt động 1: Ôn lại câu lệnh lặp For..do. ? Hãy nêu cú pháp và chức năng của câu lệnh lặp For..do. 28p + Hoạt động 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, số nhập được từ bàn phím và dừng màn hình để có thể quan sát kết quả - Gõ chương trình sau đây: uses crt; var N,i:integer; begin clrscr; write('Nhap so N='); readln(N); writeln; writeln('Bang nhan ',N); writeln; for i:=1 to 10 do writeln(N,' x ',i:2,' = ',N*i:3); readln end. - Tìm hiểu ý nghĩa của các câu lệnh trong chương trình, dịch chương trình và sửa lỗi.. Hoạt động của trò Nội dung - Cú pháp: For <biến đếm>:= <giá trị đầu> to 1. Ôn lại câu lệnh lặp <giá trị cuối> do <câu For..do: lệnh>; + Cú pháp: + Hoạt động của vòng lặp: + Hoạt động - B1: biến đếm nhận giá trị đầu - B2: Chương trình kiểm tra biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh. - B3: Biến đếm tự động tăng lên 1 đơn vị và quay lại B2. - B4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp. 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, số + Học sinh đọc kĩ đề và nhập được từ bàn phím phân tích yêu cầu của bài và dừng màn hình để có toán thể quan sát kết quả. + Gõ chương trình vào máy theo yêu cầu của giáo viên.. + Tìm hiểu ý nghĩa của các câu lệnh theo sự hướng dẫn của giáo viên. - Chạy chương trình với + Nhấn phím F9 để sửa.
<span class='text_page_counter'>(8)</span> các giá trị nhập vào lần lược là 1, 2,…10. Quan sát kết quả nhận được trên màn hình.. lỗi (nếu có). + Nhấn Ctrl + F9 để chạy chương trình và nhập các giá trị vào, quan sát kết quả trên màn hình theo sự hướng dẫn của giáo viên.. IV. Nhận xét (5 phút) Giáo viên nhận xét và đánh giá tiết thực hành. V. Dặn dò: (2 phút) - Tiết sau thực hành: “ Bài thực hành số 5 (tt) -------------------------------- ----------------------------------. Tiết 42:. Bài thực hành số 5 (tt) LÀM QUEN VỚI TURBO PASCAL. I. Mục tiêu: 1. Kiến thức: - Biết viết chương trình Pascal có câu lệnh lặp For..do. 2. Kĩ năng: - Rèn luyện kĩ năng đọc hiểu chương trình 3. Thái độ: - Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc. II. Chuẩn bị: Nội dung bài thực hành, máy tính điện tử. III. Tiến trình thực hành: T/g Hoạt động của thầy Hoạt động của trò Nội dung 15p + Hoạt động 1: Bài tập 2 - Chỉnh sửa chương trình để 1. Chỉnh sửa chương làm đẹp kết quả trên màn trình để làm đẹp kết hình. quả trên màn hình. ? Kết quả chủ chương trình + Có hai nhược điểm sau nhận được trong bài 1 có đây:.
<span class='text_page_counter'>(9)</span> những nhược điểm nào.. - Các hàng kết quả 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 lại bằng cách + Nên sửa lại bằng cách nào. chèn thêm một hàng trống giữa các hàng kết quả và đẩy các hàng này sang phải một khoảng - Chỉnh sửa câu lệnh lặp của cách nào đó. chương trình sau: for i:=1 to 10 do begin + Học sinh chỉnh sửa GotoXY(5,WhereY); theo sự hướng dẫn của writeln(N,' x ',i:2,' = ',N*i:3); giáo viên. writeln ; end; - Dịch và chạy chương trình với các 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. + Học sinh thực hiện 23p + Hoạt động 2: Tìm hiểu theo yêu cầu của giáo chương trình sau: viên. Program tao_bang; Uses crt; Var i,j: byte; Begin + Tìm hiểu chương trinh Clrscr; theo sự hướng dẫn của For i:= 0 to 9 do giáo viên. Begin For j:= 0 to 9 do Write(10*i + j:4); Writeln; End; Readln; End. - Gõ và chạy chương trình, quan sát kết quả trên màn hình. + Học sinh độc lập gõ chương trình. + Nhấn F9 để dịch và sửa lỗi chương trình + Nhấn Ctrl + F9 để chạy chương trình và kiểm tra kết quả.. 2. Tìm hiểu chương trình sau: Program tao_bang; Uses crt; Var i,j: byte; Begin Clrscr; For i:= 0 to 9 do Begin For j:= 0 to 9 do Write(10*i + j:4); Writeln; End; Readln; End..
<span class='text_page_counter'>(10)</span> IV. Nhận xét (5 phút) Giáo viên nhận xét và đánh giá tiết thực hành. V. Dặn dò: (2 phút) - Tiết sau thực hành: “ Bài thực hành số 5 (tt).
<span class='text_page_counter'>(11)</span>