Giáo án Tin học 8 - Bài 7: Câu lệnh lặp

I/ Mục tiêu:

• 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 hoạt động của câu lệnh với số lần biết trước for.do trong Pascal.

• Viết đúng được lệnh for.do trong một số tình huống đơn giản.

• Hiểu lệnh ghép trong Pascal

• Thái độ nghiêm túc cẩn thận.

II/ Chuẩn bị:

• Gv: Tài liệu lớp 8

• HS:

III/ Tiến trình bài dạy:

 

doc 4 trang Người đăng nguyenphuong Lượt xem 1329Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 - Bài 7: Câu lệnh lặp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Bài 7: CÂU LỆNH LẶP.
I/ Mục tiêu:
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 hoạt động của câu lệnh với số lần biết trước for...do trong Pascal.
Viết đúng được lệnh for...do trong một số tình huống đơn giản.
Hiểu lệnh ghép trong Pascal
Thái độ nghiêm túc cẩn thận. 
II/ Chuẩn bị: 
Gv: Tài liệu lớp 8
HS: 
III/ Tiến trình bài dạy:
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 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 lắng nghe
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 900 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
Hoạt động 3:
3/ Ví dụ về câu lệnh lặp
Gv: minh họa bẳng ngôn ngữ Pascal cú pháp câu lệnh for  to  do
Lưu ý cho hs:
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âu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép.
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?
Gv: Giải thích cho học tại sao vd2 trong câu lệnh lặp có begin  end
Cú Pháp câu lệnh lặp với số lần biết trước trong Pascal.
for:= to do 
trong đó: for, to, do là các từ khóa
Vd 1: Chuong 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.
*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.
Hoạt động 4:
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ừ -231 đến 231 – 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?
Hướng dẫn về nhà
Học bài xem lại các ví dụ, chuẩn bị thực hành

Tài liệu đính kèm:

  • docBài 7. Câu lệnh lặp (3).doc