Giáo án Tin học lớp 11 - Bài 12: Cấu trúc lặp

Giáo án Tin học lớp 11 - Bài 12: Cấu trúc lặp

I. MỤC TIÊU:

1. Kiến thức:

- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán.

- Hiểu cấu trúc lặp với số lần biết trước và câu lệnh For - Do

2. Kỹ năng:

Biết vận dụng được cấu trúc lặp và câu lệnh For - Do vào từng tình huống cụ thể

II. CHUẨN BỊ:

1. Giáo viên:

Giáo án, máy tính, máy chiếu

2. Học sinh:

Sách giáo khoa và tài liệu tham khảo

III. TỔ CHỨC DẠY HỌC:

 

doc 5 trang Người đăng quocviet Lượt xem 2281Lượt tải 5 Download
Bạn đang xem tài liệu "Giáo án Tin học lớp 11 - Bài 12: Cấu trúc lặp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Đ12: cấu trúc Lặp
(Tiết PPCT: 12)
Ngày soạn: 
	Ngày đăng ký giáo án: ....................
Người duyệt giáo án (TTCM duyệt, BGH duyệt):
...................................................................................................................................
...................................................................................................................................
I. Mục Tiêu:
1. Kiến thức:
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán.
- Hiểu cấu trúc lặp với số lần biết trước và câu lệnh For - Do
2. Kỹ năng:
Biết vận dụng được cấu trúc lặp và câu lệnh For - Do vào từng tình huống cụ thể
II. chuẩn bị:
1. Giáo viên: 
Giáo án, máy tính, máy chiếu 
2. Học sinh: 
Sách giáo khoa và tài liệu tham khảo
III. tổ chức dạy học:
Kiểm tra bài cũ:
1. Nêu cấu trúc và sự hoạt động của câu lệnh IF - THEN dạng thiếu và dạng đủ?
2. Nêu khái niệm và cấu trúc câu lệnh ghép.
HS: Lên bảng trả lời câu hỏi
GV: Đánh giá, cho điểm
1. Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp .
a. Mục tiêu: 
- Học sinh thấy được sự cần thiết của cấu trúc lặp trong lập trình.
b. Nội dung:
Bài toán 1: Viết chương trình tính tổng:
	S = 
b. Các bước tiến hành:
Hoạt động của giáo viên
Hoạt động của học sinh
1. Bài toán 1: Tính tổng:
- Hãy xác định công thức toán học để tính tổng?
- Gợi ý phương pháp: Ta xem như S là một cái thùng, số hạng như một cái ca có dung tích khác nhau, khi đó việc tính tổng trên tương tự việc đổ các ca nước vào thùng S.
- Có bao nhiêu lần đổ nước vào thùng?
- Mỗi lần một lượng là bao nhiêu? lần thứ i đổ bao nhiêu? 
- Phải viết bao nhiêu lệnh? 
=> số lần lặp đã biết trước.
2. Bài toán 2: Tính tổng
với điều kiện 
- Hỏi: Sự khác nhau của bài toán này với bài toán đã viết ở tiết trước?
- Hỏi: lặp lại bao nhiêu lần?
- Hỏi: lặp đến khi nào?
=> số lần lặp chưa biết trước.
Trong lập trình, có những thao tác phải lặp đi lặp lại một số lần, khi đó ta gọi là cấu trúc lặp
Lặp thường có 2 loại:
+ Lặp với số lần biết trước
+ Lặp với số lần không biết trước
GV: Để thực hiện tính tổng S ta phải thực hiện như thế nào?
GV: Ta đã biết được câu lệnh IF – THEN. Nếu đưa câu lệnh này vào việc giải 2 bài toán này thì em có nhận xét gì?
GV: Đưa ra cách giải bài toán 2 bằng các lệnh IF –THEN sau:
S:=0;
If (1/a>0,0001) Then S:=S+1/a;
If (1/(a+1)>0,0001) Then S:=S+1/(a+1);
If (1/(a+2)>0,0001) Then S:=S+1/(a+2);
.
GV: Y/c HS nhận xét cách giải trên.
GV: Nhận xét:
- Theo như cách giải trên, thì việc cộng thêm chỉ dừng khi 1/(a+N) < 0,0001.
- Với bài toán 1, N=100 thì việc thực hiện câu lệnh lặp lên đến 100 lần nhưng điều kiện để kiểm tra không biết phải thực hiện như thế nào?
=> Với cách như trên thì ở cả 2 bài toán đều thực hiện quá dài.
Để thực hiện việc lặp như trên ngôn ngữ Pascal cung cấp cho ta một số câu lệnh lặp để mô tả các cấu trúc lặp trên
- Rất khó xác định công thức tính.
- Theo dõi gợi ý.
- Có 100 lần đổ nước.
- Mỗi lần đổ 
- Phải viết 100 lệnh.
- Bài trước: cho giới hạn N.
- Bài này: cho giới hạn S.
- Chưa xác định ngay được.
- Đến khi điều kiện < 0.0001 được thoã mãn.
- HS suy nghĩ để đưa ra cách giải quyết bài toán
- HS: Đưa ra các lệnh thực hiện các thao tác tính tổng.
- Đưa ra ý kiến của mình.
Hoạt động 2: Xây dựng thuật toán cho bài toán 1
a. Mục tiêu: Viết thuật toán cho bài toán 1, trên cơ sở đó xây dựng thuật toán 1b. Nêu vấn đề cho cấu trúc câu lệnh lặp với số lần biết trước ở cả 2 dạng
b. Nội dung:
Thuật toán 1a:
Bước 1: N 0; S 1/a;
Bước 2: N N + 1;
Bước 3: Nếu N>100 thì chuyển đến bước 5
Bước 4: S S+1/(a+N) quay lại bước 2
Bước 5: Đưa S ra màn hình rồi kết thúc.
Thuật toán 1b:
Bước 1: N 101; S 1/a;
Bước 2: N N - 1;
Bước 3: Nếu N < 1 thì chuyển đến bước 5
Bước 4: S S+1/(a+N) quay lại bước 2
Bước 5: Đưa S ra màn hình rồi kết thúc.
c. Cách tiến hành:
Hoạt động của giáo viên
Hoạt động của học sinh
1. Y/c học sinh viết thuật toán giải bài toán
Gọi HS lên trình bày thuật toán.
Gọi học sinh khác lên nhận xét đánh giá.
- Chuẩn hoá lại thuật toán cho học sinh 
GV: Có thể thay đổi kiểm tra điều kiện N>100 để dừng việc tính tổng hay không?
GV: Dẫn dắt và đưa ra Thuật toán Tong_1b
Gọi HS lên trình bày thuật toán 1b bằng cách thay điều kiện dừng lặp
1. Thảo luận theo nhóm để viết thuật toán:
- Trình bày thuật toán
- Nhận xét, đánh giá kết quả của nhóm khác.
- Đưa ra ý kiến
- Trình bày thuật toán dạng lùi
- Theo dõi và ghi nhớ
3. Hoạt động 3: Tìm hiểu lệnh lặp for của ngôn ngữ lập trình Pascal.
a. Mục tiêu:
 Học sinh biết được cấu trúc chung của lệnh FOR. Hiểu được ý nghĩa của thành phần trong lệnh. Biết được sự thực hiện của máy khi gặp FOR. vẽ sơ đồ thực hiện đó.
b. Nội dung:
* Dạng tiến: 
Cấu trúc: FOR := to DO ;
	Biến đếm: là kiểu nguyên, kiểu ký tụ hoặc miền con.
	Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
	Sự thực hiện của máy:
	Bước 1: Tính giá trị đầu, giá cho biến đếm.
Biến đếm:=G.trị đầu
Lệnh lặp cần 
biến đếm tăng 1
Biến đếm<=G.trị Cuối
S
Đ
	Bước 2: Nếu biến đếm <= giá trị cuối thì thực hiện lệnh cần lặp và tăng biến đếm lên 1 đơn vị, và quay lại bước 2.
	Sơ đồ thực hiện: 
* Dạng lùi: 
Cấu trúc: FOR := downto DO ;
Biến đếm: thường là kiểu nguyên
Giá trị đầu, giá trị cuối là biểu thức cùng kiểu với biến đếm. Giá trị đầu phải lớn hơn hoặc bằng giá trị cuối.
Sự thực hiện của máy:
	Bước 1: Gán giá trị đầu cho biến đếm.
Biến đếm:=G.trị đầu
Lệnh lặp cần 
biến đếm giảm 1
Biến đếm>=G.trị Cuối
S
Đ
	Bước 2: Nếu biến đếm >= giá trị cuối thì thực hiện lệnh cần lặp và giảm biến đếm lên 1 đơn vị, và quay lại bước 2.
	Sơ đồ thực hiện: 
c. Các bước tiến hành:
Hoạt động của giáo viên
Hoạt động của học sinh
1. Yêu cầu học sinh nghiên cứu SGK và cho biết cấu trúc cung của FOR?
- Giải thích: 
: là kiểu nguyên kiểu ký tự.
- Hỏi: ý nghĩa của , kiểu dữ liệu của chúng.
-Hỏi: Trong bài toán tính tổng, là bao nhiêu?
- Hỏi: Khi lệnh khác nhau cần lặp lại ta viết như thế nào?
- Hỏi: trong lệnh tính tổng, lệnh nào cần lặp lại?
- Hỏi: em có nhận xét gì về ?
- Dẫn dắt: Khi có lệnh FOR được gọi là lệnh FOR tiến. Turbo Pascal còn có một loại lệnh for nữa là lệnh for lùi.
2. Hãy yêu cầu trình bày cấu trúc của lệnh for lùi.
- Hỏi; so sánh và ? 
- Hỏi: Trong 2 bài toán trên lệnh for nào là phù hợp?
1. Đọc SGK để trả lời 
FOR := to DO ;
- Dùng để làm giới hạn cho biến đếm
- Cùng kiểu với .
- là 1; là 100
- Ta phải sử dụng lệnh ghép (Beginend;)
S:=S + ;
- 
Cấu trúc:
 FOR := downto DO ;
 > 
- Sử dụng dạng tiến là phù hợp.
IV. Củng cố:
Hiểu được ý nghĩa của cấu trúc lặp
Hiểu được cú pháp và sự hoạt động của câu lệnh for-do ở cả 2 dạng

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

  • docDe, DA cham KT 1 tiet K11.2 (0809).doc