Tải bản đầy đủ (.doc) (3 trang)

Bài 11-Cấu trúc lặp và rẽ nhánh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (138.79 KB, 3 trang )

Trường THPT Gia Bình 2 Giáo án tin học lớp 11
CHƯƠNG III
CẤU TRÚC RẼ NHÁNH VÀ LẶP
Tuần : . . . Tiết : 11
§9. CẤU TRÚC RẼ NHÁNH

I. Mục tiêu
1. Về 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.
- Hiểu cơ chế hoạt động của câu lệnh rẽ nhánh (dạng thiếu và dạng đầy đủ)
- Hiểu câu lệnh ghép.
2. Về 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 để thể hiện được thuật toán của một
số bài toán đơn giản.
3. Về thái độ:
- Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính.
- Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như: xem xét gảii quyết vấn đề một cách
cẩn thận, chu đáo, có sáng tạo, không thỏa mãn với kết quả ban đầu đạt được,……
II. Phương pháp, phương tiện dạy học
- Phương pháp : thuyết trình, vấn đáp
- Phương tiện : máy chiếu, máy tính,sách giáo khoa.
III. Tiến trình bài dạy
1. Kiểm tra bài cũ:
2. Giảng bài mới
HOẠT ĐỘNG GV HOẠT ĐỘNG HS NỘI DUNG
- Thường ngày có rất nhiều việc
chỉ được thực hiện khi có một
điều kiện cụ thể nào đó được
thỏa mãn. ở dạng mệnh đề
nếu… thì…


-Yêu cầu học sinh tìm một số ví
dụ .
- Yêu cầu học sinh trình bài
thuật toán bằng cách liệt kê và
sơ đồ khối để giải phương trình
bậc hai.
- Phân tích để học sinh thấy
được cấu trúc rẽ nhánh trong
thuật toán.

Học sinh chú ý lắng nghe và
cho ví dụ tương tự.

- nhập a,b,c
Tính delta=b
2
−4ac
Nếu delta>=0 thí tính và
đưa ra nghiệm, ngược lại
thông báo phương trình vô
nghiệm.
§9. CẤU TRÚC RẼ NHÁNH
1. Khái niệm rẽ nhánh
Ví dụ: Để viết chương trình giải phương
trình bậc hai, ta phải:
Tính ∆=b
2
−4ac
Sau đó tùy thuộc vào giá trò của ∆ mà
ta có tính nghiệm hay không. Tức là: Nếu

∆<0 thì phương trình vô nghiệm, ngược lại
thì phương trình có nghiệm.
Như vậy ta có một số mệnh đề dạng:
Nếu ………thì………
Nếu ………thì………ngược lại.
 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.
Trường THPT Gia Bình 2 Giáo án tin học lớp 11
- Từ sơ đồ khối giải phương
trình bậc hai. Em nào cho biết:
nếu chỉ sử dụng những cấu trúc
lệnh đã học ở những bài trước
thì có thể mô tả được thật toán
này được không?
- Làm chó học sinh thấy rõ sự
cần thiết phải có các câu lệnh
rẽ nhánh.
- Giới thiệu cú pháp và phân
tích sự hoạt động của các câu
lệnh rẽ nhánh trong ngôn ngữ
Pascal.
- Theo em điều kiện là một
biểu thức như thế nào?
- Chú ý là trước Else không có
dấu chấm phấy.
- Cho một số ví dụ minh họa để
giải thích hoạt động của các
dạng câu lệnh if.
- Giả sử ta có đoạn lệnh sau:
If d<0 then writeln(‘Pt VN’)

Else
Begin
x1:=(−b−sqrt(d))/2*a;
x2:=(−b+sqrt(d))/2*a;
writeln(‘x1=’,x1:8:3,’x2=’,x2:8:3);
End;
-Nếu ta bỏ lệnh begin…end; thì
xảy ra điều gì nếu ta nhập các
hệ số tương ứng là 1 2 3
Khi đó chương trình không in
ra được câu thông báo là
phương trình vô nghiệm mà sẽ
báo lỗi hoặc cho kết quả sai.
- Câu lệnh begin. . .end; được
- Không thể nào viết chương
trình để mô tả thuật toán
trên.
- Học sinh chú ý theo dõi sự
hoạt động của các dạng của
câu lệnh rẽ nhánh.
- Là một biểu thức lôgic.
- Học sinh chú ý theo dõi và
lắng nghe.
2. Câu lệnh if-then
Dạng thiếu:
If <ĐK> then <câu lệnh>;
Dạng đầy đủ:
If <ĐK> then <câu lệnh 1>
Else <câu lệnh 2>;


Điều kiện : là biểu thức quan hệ hay
lôgic.
Câu lệnh, câu lệnh 1, câu lệnh 2 là một
câu lệnh của Pascal.
Trước Else không có dấu chấm phẩy
* Ý nghóa:
Dạng thiếu: Nếu điền kiện đúng thì thực
hiện câu lệnh, nếu điều kiện sai thì không
thực hiện gì.
Dạng đầy đủ: Nếu điền kiện đúng thì
thực hiện câu lệnh 1, nếu điều kiện sai thì
thực hiện câu lệnh 2.
Ví du 1:
If a mod 3=0 then
Write(‘a chia het cho 3’)
Else write(‘a không chia het cho 3);
Ví dụ 2:
Max:=a
If b>a then max:=b;
Hoặc
If a>b then max:=a
Else max:=b;
3. Câu lệnh ghép
Trong Pascal câu lệnh ghép có dạng:
Begin
<các câu lệnh>
End;

Ví dụ:
If delta<0 then

write(‘pt vo nghiem’)
Else
Begin
x1:=(−b−sqrt(delta))/2*a;
x2:=(−b+sqrt(delta))/2*a;
End;
NhËp a, b, c
TÝnh Delta = b
2
– 4ac
KiĨm tra
Delta < 0
TÝnh vµ ®­a
ra nghiƯm
Th«ng b¸o
v« nghiƯm
KÕt thóc
Sai §óng
Trường THPT Gia Bình 2 Giáo án tin học lớp 11
gọi là câu lệnh ghép.
- Từ những ví dụ trên yêu cầu
học sinh hoàn thiện chương
trình giải phương trình bậc hai.
- Hướng dẫn học sinh cách viết
ví dụ 2.
- Suy nghó trả lời phương
trình vô nghiệm.
- Hoàn thiện chương trình
giải phương trình bậc hai.
- Học sinh theo dõ và viết

chương trình theo hướng dẫn.
4. Một số ví dụ
Ví dụ 1: Tìm nghiệm của pt bậc 2 dạng
ax
2
+bx+c=0. Các hệ số a,b,c nhập từ bàn
phím.
program vidu1;
Uses crt;
var a,b,c,d,x1,x2:real;
begin
clrscr;
write('Nhap a,b,c:’);readln(a,b,c);
d:=b*b−4*a*c;
If d<0 then writeln(‘Pt vo Nghiem’)
Else
Begin
x1:=(−b−sqrt(d))/2*a;
x2:=(−b+sqrt(d))/2*a;
Writeln(‘x1=’,x1:8:3,’x2=’,x2:8:3);
End;
readln;
end.
Ví dụ 2: Tìm số ngày của năm N, biết
rằng năm nhuận là năm chia hết cho 400
hoặc chia hết cho 4 nhưng không chia hết
cho 100.
program vidu1;
Uses crt;
var N,sn:integer;

begin
clrscr;
write('Nhap nam:’);readln(N);
If (N mod 400=0) or
((N mod 4=0) and (N mod 100<>0) then
Then sn:=366
Else sn:=365;
Writeln(‘So ngay cua nam ‘,N,’ la ‘,sn);
readln;
end.
3. Củng cố :
Cú pháp và ý nghóa của câu lệnh rẽ nhánh? Câu lệnh sau then hoặc sau else có thể có nhiều lệnh
được không? Có thể chứa lệnh if được không?
4. Dặn dò : + Xem lại bài
+ Chuẩn bò bài

×