Giáo án Tin học 8 - Tiết 51-52, Bài thực hành 6: Sử dụng lệnh lặp While...Do - Năm học 2010-2011 - Trần Thị Thảo

Giáo án Tin học 8 - Tiết 51-52, Bài thực hành 6: Sử dụng lệnh lặp While...Do - Năm học 2010-2011 - Trần Thị Thảo

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 chưa biết trước while do trong Pascal.

2. Kỹ Năng

- Viết được chương trình có sử dụng vòng lặp while do.

- Rèn luyện đọc hiểu chương trình có sử dụng vòng lặp while 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 thực hành, 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, ý nghĩa của vòng lặp while.do?

 

doc 4 trang Người đăng tranhiep1403 Lượt xem 2379Lượt tải 1 Download
Bạn đang xem tài liệu "Giáo án Tin học 8 - Tiết 51-52, Bài thực hành 6: Sử dụng lệnh lặp While...Do - Năm học 2010-2011 - Trần Thị Thảo", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tuần : 27
Tiết : 51+52
Ngày soạn: 07/03/2011
Ngày dạy : 08/03/2011 
Bài TH 6: SỬ DỤNG LỆNH LẶP WHILE...DO
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 chưa biết trước whiledo trong Pascal.
2. Kỹ Năng
- 	Viết được chương trình có sử dụng vòng lặp whiledo.
- 	Rèn luyện đọc hiểu chương trình có sử dụng vòng lặp whiledo.
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.
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 thực hành, 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
Ổ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, ý nghĩa của vòng lặp while...do?
3. Bài mới
Hoạt động của GV - HS
Nội dung 
? điều kiện ở đây là ?
HS : trả lời
? vòng lặp thực hiện khi nào ?
HS : khi hết n số thì thôi
? tính trung bình của n số thực như thế nào ?
HS : nêu cách tính
? nêu thuật giải ?
HS : trả lời
? công việc đầu tiên phải thực hiện ?
HS : - nhập n số thực
- nhập số thứ nhất, rồi tính tổng các số vừa nhập
tương tự lặp lại nhập cho đến khi được n số
thoát khỏi vòng lặp và tính trung bình bằng cách lấy tổng chia n
? trong bài cần dùng bao nhiêu biến ?
? xác định kiểu dữ liệu mỗi biến
HS : trả lời
? Dịch chương trình và sửa lỗi, nếu có. Chạy chương trình với các bộ dữ liệu được gõ từ bàn phím và kiểm tra kết quả nhận được.
? thảo luận đối chiếu giữa thuật toán và các câu lệnh mô tả thuật toán trong chương trình
hoạt động chính của chương trình với n=3
1. Trước khi bắt đầu vòng lặp while...do: dem=0, TB=0, n = 3;
2. Bắt đầu vòng lặp while...do
3. Kết thúc vòng lặp while...do: TB = 45/3 = 15.
Viết lại chương trình bằng cách sử dụng câu lệnh fordo thay cho câu lệnh whiledo. 
GV : phân biệt cho học sinh trong vòng for không cần có phép toán dem:=dem+1; khác với vòng lặp while .do
sử dụng while...do và for...do là khác nhau. While...do thích hợp hơn với trường hợp lặp với số lần chưa biết trước, for...do thích hợp hơn với trường hợp lặp với số lần biết trước. Ví dụ, không thể sử dụng lệnh for...do để thay thế lệnh while...do trong chương trình Chao_hoi được (chưa biết trước số bạn trong nhóm).
GV: có thể giới thiệu thêm về vòng lặp Repeat until
Bài 2. Tìm hiểu chương trình nhận biết một số tự nhiên N được nhập vào từ bàn phím có phải là số nguyên tố hay không.
? nêu cách giải
Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự nhiên 2 ≤ i ≤ N hay không. Kiểm tra tính chia hết bằng phép chia lấy phần dư (mod).
? xác định Input và Output của bài toán:
HS: Input: Số tự nhiên N
 Output: Trả lời N là số nguyên tố hoặc N không là số nguyên tố.
GV: Để kiểm tra N có phải số nguyên tố hay không ta sẽ đi kiểm tra xem N có chia hết các số từ 2 đến N - 1 hay không. Nếu N không chia hết cho số nào trong khoảng từ 2 đến N - 1 thì N là số nguyên tố, ngược lại N chia hết cho bất kì một số nào trong khoảng từ 2 đến N - 1 thì N không phải là số nguyên tố. 
	Sử dụng phép chia lấy phần dư mod để kiểm tra tính chia hết.
Bước 1: Nhập số tự nhiên N từ bàn phím
Bước 2: Nếu N£ 0 thông báo N không phải là số tự nhiên, rồi chuyển đến bước 4.
Bước 3: Nếu N > 0:
	3.1. i¬2;
	3.2. Trong khi N mod i 0, i¬i+1;
	3.3. Nếu i = N thì thông báo N là số nguyên tố, rồi chuyển đến bước 4, không thì thông báo N không phải là số nguyên tố;
Bước 4: Kết thúc.
?đọc chương trình trong SGK, đối chiếu việc sử dụng câu lệnh để mô tả thuật toán trên đây
? có nhất thiết phải kiểm tra các ước lần lượt từ 1 đến n không ?
HS : trả lời
GV : gợi ý HS để tìm ra chỉ cần kiểm tra đến Trunc(n/2)
Bài2 - BTVN
? xác định Input và Output của bài toán:
? Nêu cách giải
Bài 1:Viết chương trình sử dụng lệnh lặp Whiledo để tính trung bình n số thực  x1, x2, x3,..., xn. Các số n và x1, x2, x3,..., xn được nhập vào từ bàn phím.
a.Thuật toán
Bước 1. - Nhập N là số lượng số thực sẽ được nhập từ bàn phím:
- Gán biến đếm bằng 0 Dem¬ 0
- Gán tổng Sum ¬ 0.
Bước 2. Trong khi Dem < N thì 
 Nhập giá trị số thực x từ bàn phím
 Cộng thêm x vào tổng Sum: Sum ¬ Sum + x
 Tăng biến đêm thêm 1 đơn vị: Dem ¬ Dem + 1
Bước 3. Tính TB dãy số vừa nhập TB ¬ Sum/N.
Bước 4. Đưa TB ra màn hình, rồi kết thúc.
 Gõ chương trình sau đây và lưu chương trình với tên Tinh_TB:
Program Tinh_Trung_binh;
uses crt;
Var
n, dem: Integer;
x, TB: real;
begin
 clrscr;
 dem:=0 ; TB:=0 ;
 write('Nhap so cac so can tinh n = '); readln(n);
	while dem<n do
 begin
         dem:=dem+1;
write('Nhap so thu ',dem,'= '); readln(x);
         TB:=TB+x; 
      end;
  TB:=TB/n;
  writeln('Trung binh cua ',n,' so la= ',TB:10:3);
  writeln('Nhan Enter de thoat ...');
  readln
end.
write('Nhap so cac so can tinh n = ');
readln(n);
tong :=0;
for dem :=1 to n do 
begin
writeln(‘ nhap so thu’,dem,’=’) ;
readln(x)
tong :=tong+x
end ;
TB := tong/n ;
writeln('Trung binh cua ',n,' so la = ',TB:10:3);
Bài 2 : 
Bước 1: Nhập số tự nhiên N từ bàn phím
Bước 2: Nếu N£ 0 thông báo N không phải là số tự nhiên, rồi chuyển đến bước 4.
Bước 3: Nếu N > 0:
	3.1. i¬2;
	3.2. Trong khi N mod i 0, i¬i+1;
	3.3. Nếu i = N thì thông báo N là số nguyên tố, rồi chuyển đến bước 4, không thì thông báo N không phải là số nguyên tố;
Bước 4: Kết thúc.
lập trình
Uses Crt;
Var n,i:integer;
Begin
 Clrscr;
 write('Nhap vao mot so nguyen: ');readln(n);
 If n<=1 then writeln('N khong la so nguyen to')
 else
 begin
 i:=2;
 while (n mod i0) do i:=i+1;
 if i=n then writeln(n,' la so nguyen to!')
 else writeln(n,' khong phai la so nguyento!');
 end;
readln
end.
Program Bai2
Uses Crt;
Var
n: Integer;
S : Real;
Begin
Clrscr;
S:= 0; n:= 1;
 While 1/n>0.001 do
 begin
 If n mod 2 0 then S:= S+ 1/n;
 n:= n+1;
 end;
Writeln('so N can tim la: ',N:5);
Readln;
End.
4.Củng cố
- Nêu cấu trúc tổng quát của câu lệnh lặp while do
5.Hướng dẫn về nhà
- Ôn tập lại kiến thức đã học

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

  • docbai thuc hanh 6.doc