Kiến thức - Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán.. - Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu được cách sử dụng câ
Trang 1CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Ngày soạn: / /
I CHUẨN KIẾN THỨC - KĨ NĂNG
1 Kiến thức
- Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán
- Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu được cách sử dụng câu lệnh ghép
2 Kĩ năng
- Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
- Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng được để thể hiện thuật toán của một số bài toán đơn giản
II CHUẨN BỊ
1 Giáo viên: + Soạn giáo án.
+ Chuẩn bị bảng phụ sau:
2 Học sinh: sọan bài ở nhà.
III PHƯƠNG PHÁP: Giảng giải + hoạt động của học sinh.
IV HOẠT ĐỘNG DẠY HỌC
1 Hoạt động 1: (5 phút) Kiểm tra bài cũ
Cho 2 số nguyên a, b; tìm Max(a,b)
Yêu cầu: viết phần tên, phần khai báo, và câu
lệnh nhập a, b bằng Pascal Nêu thuật toán tìm
Max(a,b)
Gọi 2 hs lên bảng
Nhận xét, đánh giá, cho điểm
Đ/án:
Program baitap;
Var a, b, max : integer;
Begin
2 hs lên bảng trả lời độc lập
Hs khác nhận xét
Câu lệnh
IF
S
Câu lệnh 1
IF
S Câu lệnh 2
Trang 2readln(a,b);
end.
2 Hoạt động 2: (5 phút) Tìm hiểu cấu trúc rẽ nhánh thiếu và đủ
- Với bài toán trên làm thế nào để tìm
Max(a, b)?
- Hãy mô tả thuật toán bằng NNLT
Pascal?
- Hãy cho biết câu: Nếu …thì … là
loại câu gì?
Còn dạng nào khác không?
- Hãy cho ví dụ về các loại câu điều
kiện
* Chọn hai câu làm ví dụ Từ đó phân
tích cho học sinh thấy cấu trúc rẽ
nhánh thể hiện trong ví dụ này
- So sánh:
+ Nếu a>b thì max = a
+ Nếu a<b thì max = b
- Chưa làm được
- Câu điều kiện
- Có, Nếu …thì … nếu không thì …
- Nếu có học bài thì đạt điểm 10
- Nếu là người lớn thì 5000đ nếu trẻ em thì 1000đ
1 Rẽ nhánh:
* Một số mệnh đề có dạng điều kiện:
+ Dạng thiếu: Nếu… thì…
+ Dạng đủ: Nếu … thì
… nếu không thì …
* Cấu trúc dùng để mô
tả các mệnh đề như trên được gọi là cấu trúc rẽ nhánh thiếu và đủ
* Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc rẽ nhánh
3 Hoạt động 3: (12 phút)Câu lệnh If …then
1 Y/cầu hs n/cứu sgk và dựa vào các
ví dụ cấu trúc rẽ nhánh để đưa ra cấu
trúc chung của câu lệnh rẽ nhánh
2 Khi không đề cập đến việc gì xãy
ra nếu điều kiện không thõa mãn cấu
trúc câu lậnh rẽ nhánh như thế nào?
3.Gọi học sinh viết câu lệnh so sánh
để tìm Max(a, b) bằng 2 cách
- Có thể chỉ dùng 1 câu lệnh khuyết?
max:=a; if a < b then max:=b;
Lưu ý: Trước từ khoá Else không có
dấu ;
- Dạng nào thuận tiện hơn?
1 N/cứu sgk và trả lời If<điều_kiện>Then<lệnh1
> Else<lệnh2>;
2 Chú ý lắng nghe và trả
lời
Câu lệnh khuyết:
If <điều_kiện>
Then<lệnh>;
3 Lên bảng
If a > b then max:= a;
If a < b then max:= b;
Hoặc:
If a > b then max:=a Else max:=b;
Suy nghĩ và trả lời
-> tuỳ trường hợp cụ thể
2 Câu lệnh IF – THEN:
* Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh:
a Dạng đủ:
IF <điều kiện> THEN
<câu lệnh 1> ELSE <
câu lệnh 2>;
b Dạng khuyết:
(dạng đặc biệt)
IF <điều kiện> THEN
<câu lệnh>;
4 Hoạt động 4: (3 phút) Câu lệnh ghép
1 Nêu vđ: Sau then, sau else phải có
một câu lệnh Nhưng thực tế trong
các trường hợp phức tạp đòi hỏi phải
là nhiều câu lệnh
NNLT cho phép gộp dãy các lệnh
1 Chú ý lắng nghe Câu lệnh ghép trong
Pascal:
Begin
<các lệnh cần ghép>;
End;
Trang 3thành một câu lệnh ghép
2 Y/cầu hs n/cứu sgk cho biết cấu
trúc câu lệnh ghép trong Pascal
2 N/cứu sgk và trả lời
Begin
<các lệnh cần ghép>;
End;
5 Hoạt động 5: (18 phút)Rèn luyện kĩ năng vận dụng lệnh If
a Nội dung:
Vd1: Viết chương trình nhập vào độ dài 2 cạnh của một hình chữ nhật, tính chu
vi, diện tích của hcn đó
Vd2: Tìm nghiệm của pt bậc hai: ax2+bx+c=0
b Cách tiến hành
1 Nêu nội dung, mục đích yêu cầu
của vd1
Chtrình này các em đã viết, hãy cho
biếtcó hạn chế nào trong chtrình của
em không?
- Hãy nêu ra hướng giải quyết của các
em
- Y/cầu hs về nhà hoàn thiện chtrình
2 Nêu nội dung, mục đích yêu cầu
của bài tập vd2
- Hãy nêu các bước chính để trả lời
nghiệm pt bậc hai?
- Ta cần bao nhiêu lệnh rẽ nhánh để
mô tả các bước trên?
- Y/cầu hs viết chtrình hoàn thiện
(1hs trình bày trên bảng)
Gọi hs khác nhận xét, đánh gía
- Chuẩn hóa lại chtrình cho cả lớp
bằng việc treo bảng chtrình mẫu của
gv đã chuẩn bị
1 Chú ý dẫn dắt của gv
Khi nhập độ dài âm thì cho
ra dtích, chu vi âm Điều này không có trong thực tế
- Dùng câu lệnh rẽ nhánh
để kiểm tra giá trị độ dài các cạnh Nếu độ dài dương thì tính dtích và chu
vi, ngược lại thì thông báo
độ dài Sai.
2 Ghi đề bài, chú ý mục đích, y/cầu của bài tập
+ Tính delta + Nếu delta<0 thì pt vô nghiệm
+ Nếu delta >=0 thì kết luận pt có nghiệm:
x1=(-b+sqrt(delta))/(2*a) x2=(-b-sqrt(delta))/(2*a)
- Hai câu lệnh rẽ nhánh dạng khuyết hoặc 1 lệnh rẽ nhánh dạng đầy đủ
- 1 hs lên bảng viết chtrình Lấy ý kiến của 2-3hs
Vd1: Viết chương trình nhập vào độ dài 2 cạnh của một hình chữ nhật, tính chu vi, diện tích của hcn đó
Vd2: Tìm nghiệm của pt bậc hai: ax2+bx+c=0
Program ptbac2; Var a, b, c, d, x1, x2:
real;
Begin
Write(‘nhap a, b, c ‘); Read(a,b,c);
D:=b*b-4*a*c;
If d<0 then write(‘pt vo nghiem’)
else begin x1=(-b+sqrt(delta))/ (2*a);
x2=-b/a-x1;
write(‘x1= ’,x1:6:2,’
x2= ’, x2:6:2) end;
readln;
Trang 4End
IV ĐÁNH GIÁ CUỐI BÀI (5phút)
1 Nội dung đã học
Cấu trúc chung và sơ đồ thực hiện của cấu trúc rẽ nhánh IF
2 Câu hỏi, bài tập về nhà
Xem trước bài: Cấu trúc lặp, sgk, trang 42
- Trả lời câu hỏi 1, 2, 4 sgk trang 50, 51
- Viết chtrình nhập vào 3 số a, b, c và in ra màn hình giá trị lớn nhất trong 3 số đó
- Viết chtrình giải pt: ax4 + bx2 + c = 0