Gi¸o ¸n Tin Häc líp 11 + Trong cÊu tróc d¹ng thiÕu, nÕu ®iÒu kiện không đúng thì thoát khỏi cấu tróc rÏ nh¸nh, thùc hiÖn c©u lÖnh tiÕp theo của chương trình + Trong cấu trúc dạng đủ, nếu[r]
Trang 1Học kỳ II
Ngày soạn: 24/12/2009
Ngày dạy:
Tiết 19: Bài tập chương 3
I Mục tiêu:
1 Kiến thức:
- Củng cố lại cho học sinh những kiến thức liên quan đến cấu trúc rẽ nhánh và cấu trúc lặp
- Cấu trúc, sơ đồ và sự thực hiện của máy khi gặp gặp cấu trúc lặp và cấu trúc rẽ nhánh
2 Kỹ năng:
- Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh cà cấu trúc lặp phù hợp để giải quyết bài toán đặt ra
II Phương pháp, phương tiện dạy học.
1
2
III Nội dung bài giảng.
1 ổn định lớp và kiểm tra sĩ số
2 Bài mới
Hoạt động của giáo viên và học sinh Nội dung ghi bảng
- GV: Gọi học sinh nhắc lại cấu trúc, sự thực
hiện của máy và sơ đồ khối của cấu trúc rẽ
nhánh
- HS: Suy nghĩ và trả trả lời câu hỏi
- GV: Gọi 2 học sinh lên bảng vẽ sơ đồ khối của
cấu trúc rẽ nhánh dạng thiếu và đủ
I Lý thuyết
1 Cấu trúc rẽ nhánh: If- then
a Dạng thiếu
- Cấu trúc:
If < điều kiện > then < câu lệnh >;
- Sự thực hiện của máy + Tính giá trị của điều kiện à kiểm tra điều kiện
+ Nếu < điều kiện> đúng thì
< câu lệnh>
câu lệnh sẽ bị bỏ qua
- Sơ đồ khối:
Trang 2- GV: Hãy cho biết điều kiện là gì, câu lệnh là
gì?
- GV: Gọi học sinh nhắc lại cấu trúc, sự thực
hiện của máy của 2 câu lệnh lặp trong Pascal?
- HS: Suy nghĩ và trả lời câu hỏi
- GV: Gọi học sinh lên vẽ sơ đồ cấu khối của cấu
trúc lệnh lặp
b Dạng đủ
- Cấu trúc:
If < điều kiện> then < câu lệnh 1> Else
< Câu lệnh 2>;
- Sự thực hiện của máy:
+ Tính giá tẹi của < điều kiện > và kiểm tra < điều kiện>
+ Nếu < điều kiện > đúng thì < câu lệnh 1>
câu lệnh 2> =7 thực hiện
- Sơ đồ khối:
* Giải thích:
- Điều kiện: là biểu thức quan hệ hoặc biểu thức logic
- Câu lệnh 1, câu lệnh 2: là các câu lệnh trong Pascal, có thể là câu lệnh
đơn hoặc câu lệnh ghép
2 Cấu trúc lặp:
A Lặp với số lần biết trước:
Câu lệnh For- do
a Dạng tiến
- Cấu trúc For < biến đếm>:= <giá trị đầu> to
<giá trị cuối> do < câu lệnh lặp>;
- Sự thực hiện của máy + Tính giá trị đầu và gán cho biến
đếm
+ Nếu (biến đếm )<= ( giá trị cuối) thì thực hiện câu lệnh lặp sau Do và tăng biến đếm lên 1 đơn vị
- Sơ đồ khối:
Trang 3- GV: Trong câu lệnh lặp với số lần biết =D em
có nhận xét gì về giá trị đầu và giá trị cuối
- Biến đếm có giá trị
-GV: Sự khác nhau giữa lệnh For – do và While
do là gì?
- HS: Trong While- do, phải có lệnh tăng biến
chỉ số
- HS: Suy nghĩ và trả lời câu hỏi
b Dạng lùi:
- Cấu trúc:
For <biến đếm>:=< giá trị cuối> downto < giá trị đầu> do < Câu lệnh lặp > ;
- Sự thực hiện của máy:
+ Tính giá trị cuối và gán cho biến
đếm + Nếu Biến đếm >= giá trị đầu thì câu lệnh lặp =7 thực hiện và giảm biến
đếm đi 1 đơn vị
- Sơ đồ khối:
* Giải thích
- Biến đếm là biến đơn và có giá trị là kiểu nguyên
- Giá trị đầu nhỏ hơn giá trị cuối
B Lặp với số lần = biết =D câu lệnh While- do
- Cấu trúc:
While < điều kiện> do <câu lệnh lặp >;
- Sự thực hiện của máy:
+ Tính giá trị của điều kiện + Nếu điều kiện có giá trị đúng thì thực hiện câu lệnh, quay lại :=D 1
II Bài tập
Bài tập 1/ 50: Nêu sự giống và khác
nhau của 2 dạng câu lệnh If- then? Gợi ý:
- Giống nhau: Cùng là câu lệnh rẽ nhánh, khi gặp một điều kiện nào đó thì thực hiện thao tác thích hợp
- Khác nhau:
Trang 4- GV: Lấy 1 bài toán cụ thể và phân tích bài toán
để phân tích cho học sinh thấy =7 nội dung của
câu hỏi
- Hỏi: Có thể khai triển biểu thức Y thành tổng
của các số hạng
- HS: Suy nghĩ và trả lời:
- Hỏi: Nhìn vào công thức triển khai hãy cho biết
N lấy giá trị trong đoạn nào?
- Hỏi: Với bài tập này, ta nên sử dụng cấu trúc
lặp nào?
Hỏi: Xác định giá trị đầu và giá trị cuối , câu
lệnh lặp của bài toán?
Hỏi: Xác định Input và Output của bài toán?
+ Trong cấu trúc dạng thiếu, nếu điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của
+ Trong cấu trúc dạng đủ, nếu điều kiện không đúng thì thực hiện câu lệnh 2 sau đó thoát khỏi cấu trúc rẽ nhánh và thực hiện câu lệnh tiếp theo của
Bài tập 3/ 51 sgk: Có thể dùng câu lệnh While- do thay cho câu lệnh For-do =7 không?
i <= < giá trị đầu>;
While < i<= giá trị cuối> do Begin
< Câu lệnh>;
< tăng biến i lên 1 đơn vị>;
End;
Bài tập 5/ 51
a Lập trình tính
50
n n
n
Y=
51
50
3
2 2
1
1 50
- Sử dụng cấu trúc lặp với số lần biết
=D
- Giá trị đầu = 1
- Giá trị cuối= 50
- Câu lệnh lặp: y:= y+
1
n n
- Input: n Output: Y
Trang 5- GV: Gọi học sinh lên bảng viết
hoàn thiện
- GV: Chỉnh sử lỗi nếu có
- GV: Xác định Input và output của bài toán?
- GV: Khi nào bài toán sẽ dừng?
- GV: Xác định điểu kiện lặp và câu lệnh lặp của
bài toán?
- GV: Cho học sinh viết
Var n: byte;
Y: real;
Begin Y:= 0;
For n:=1 to 50 do Y:=Y+ n/(n+1); Write(‘giá trị của Y là’, Y:12:4); Readln;
End
Bài tập 7/51
- Input: tuoi cha, tuoi con Output: số năm
- Khi tuổi cha = 2 lần tuổi con thì dừng, nghĩa là khi tuổi cha <> 2* tuổi con thi bài toán tiếp tục tính toán
- ĐK lặp: tuổi cha <> 2* tuổi con Câu lệnh lặp: tuổi cha:=tuổi cha +1; Tuổi con:= tuổi con+1; Năm:= năm+1;
IV: Củng cố
- Nhắc lại một số vấn đề == ý khi làm bài tập
- Một số bài tập làm thêm
Bài tập: Lập
a) S= với N =7 nhập vào từ bàn phím (dùng cả For- do và while- do)
n
1
2
1
1
1
b) S=
!
1
!
2
1
!
1
1
n