Bài 9: CẤU TRÚC RẼ NHÁNH - baigiangdienbien.edu.vn

Download Report

Transcript Bài 9: CẤU TRÚC RẼ NHÁNH - baigiangdienbien.edu.vn

SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐIỆN BIÊN
TRƯỜNG PTDTNT THPT HUYỆN MƯỜNG ẢNG
BÀI DỰ THI “CUỘC THI THIẾT KẾ BÀI GIẢNG ĐIỆN TỬ E – LEARNING”
NĂM HỌC: 2013-2014
TRƯỜNG PTDTNT THPT MƯỜNG ẢNG, MƯỜNG ẢNG, ĐIỆN BIÊN
MÔN: TIN HỌC 11
BAN CƠ BẢN
TÊN BÀI: BÀI 9: CẤU TRÚC RẼ NHÁNH
Họ và tên giáo viên: Phùng Thanh Hưng
ĐT: 0986887166
Email: [email protected]
Chương
3: CẤU
TRÚC
RẼ NHÁNH
VÀ2 LẶP
TÓM
TẮT NỘI
DUNG
CHƯƠNG
Bài 9: CẤU TRÚC RẼ NHÁNH
- Chương trình đơn giản
NỘI DUNG
- Cách viết một chương trình đơn giản
- Các thao tác soạn thảo, biên dich và
1. Rẽ nhánh
sửa lỗi chương trình
2. Câu lệnh- IF-THEN
Chạy chương trình, nhập dữ liệu cho
chương trình
3. Câu lệnh ghép
4. Một số ví dụ
Bài 9: CẤU TRÚC RẼ NHÁNH
1. RẼ NHÁNH
Này, ngày mai cậu
có di học nhóm
không
à mà,chiều mai nếu trời
không
sẽ trời
đến nhà
Chiềumưa
mai,tớ
nếu
cậu, nếu
mưa
không
mưa
thìthì
tớ sẽ
sẽ gọi
điệnđến
chonhà
cậucậu.
để trao đổi
nhé!
?!?!..
Để tớ suy nghĩ đã
nhé…
Bài 9: CẤU TRÚC RẼ NHÁNH
Nếu … thì
Nếu … thì,
Nếu không
thì…
Cấu trúc được dùng để mô tả các mệnh đề có dạng như thế được gọi là:
CẤU TRÚC RẼ NHÁNH THIẾU VÀ ĐỦ
Bài 9: CẤU TRÚC RẼ NHÁNH
1. RẼ NHÁNH
SƠ ĐỒ KHỐI
Nhập
a, b, c
Cần có cấu
D:= b2 –
4ac
trúc mới để
thực hiện phép
S
Thông
báo vô
nghiệm
rồi kết
thúc
D>=
0?
Đ
Tính, đưa
ra nghiệm
thực rồi
kết thúc
toán rẽ nhánh
Bài 9: CẤU TRÚC RẼ NHÁNH
1. RẼ NHÁNH
 Ví
dụ:
Giải phương trình bậc hai: ax2 + bx +c = 0 (a  0)

Các bước giải bài toán:
Bước 1: Nhập hệ số a,b,c
Bước 2: Tính delta D = b2 – 4ac
Bước 3: Nếu D<0: thì thông báo phương trình
vô nghiệm và kết thúc. Ngược lại thì tính và đưa
ra nghiệm của phương trình và kết thúc.
Bài 9: CẤU TRÚC RẼ NHÁNH
2. CÂU LỆNH IF … THEN
a. Cú pháp: Pascal dùng câu lệnh IF…Then để mô tả việc rẽ nhánh
 Dạng thiếu:
IF < Điều kiện > THEN < Câu lệnh > ;
 Dạng đủ:
IF < Điều kiện > THEN < Câu lệnh 1 >
ELSE < Câu lệnh 2 > ;
 Trong đó:
- Điều kiện là biểu thức quan hệ hoặc biểu thức logic
- <Câu lệnh> , <Câu lệnh 1>, <Câu lệnh 2> là một
câu lệnh đơn của TurboPascal
- IF, THEN, ELSE là các từ khóa
Chú ý: Trong câu lệnh rẽ nhánh dạng đủ trước từ khóa
ELSE không có dấu chấm phẩy (;)
Bài 9: CẤU TRÚC RẼ NHÁNH
2. Câu lệnh IF…THEN
b. Sự thực hiện
 Dạng thiếu:
IF < Điều kiện > THEN < Câu lệnh > ;
 Sơ đồ:
Bước 1: Tính giá trị của biểu
thức điều kiện
Đ
Điều kiện
S
Câu
lệnh
Bước 2: Kiểm tra giá trị của
biểu thức điều kiện
+ Nếu biểu thức ĐK có giá trị
đúng thì thực hiện câu lệnh
sau từ khóa Then, rồi ra khỏi
câu lệnh If
+ Nếu biểu thức ĐK có giá trị
sai, thì thoát ra khỏi câu lệnh
If
Bài 9: CẤU TRÚC RẼ NHÁNH
2. Câu lệnh IF…THEN
b. Sự thực hiện
 Dạng đủ: IF < Điều kiện > THEN < Câu lệnh 1 > ELSE < Câu lệnh 2 > ;
Bước 1: Tính giá trị của biểu
thức điều kiện
 Sơ đồ:
Sai
Câu lệnh 2
Điều kiện
Đúng
Bước 2: Kiểm tra giá trị của
biểu thức điều kiện
Câu lệnh 1
+ Nếu biểu thức ĐK có giá trị
đúng thì thực hiện câu lệnh 1
sau từ khóa Then, rồi ra khỏi
câu lệnh If
+ Nếu biểu thức ĐK có giá trị
sai, thì thì thực hiện câu lệnh 2
sau từ khóa Else, rồi ra khỏi
câu lệnh If`
Bài 9: CẤU TRÚC RẼ NHÁNH
2. Câu lệnh IF…THEN
c. Ví dụ về câu lệnh rẽ nhánh
 Ví dụ 1: Câu lệnh kiểm tra số nguyên a chia hết cho 3?
A) a div 3 = 0
B) a mod 3 = 0
C) a / 3 = 0
Đúng rồi! Chúc mừng bạn!
Click chuột để tiếp tục
Rất tiếc! Sai rồi! Lần sau bạn
cố gắng nhé!
Phải trả lời câu hỏi này trước
khi sang câu hỏi sau!
KẾT QUẢ LÀM LẠI
Bài 9: CẤU TRÚC RẼ NHÁNH
2. Câu lệnh IF…THEN
c. Ví dụ về câu lệnh rẽ nhánh
 Ví dụ 2: Tìm giá trị lớn nhất max trong hai số a và b?
max := a;
A)
if b>a then max :=b;
B) if b>a then max :=a;
else max :=b;
C) Cả hai đáp án trên
Đúng rồi! Chúc mừng bạn!
Click chuột để tiếp tục
Rất tiếc! Sai rồi! Lần sau bạn
cố gắng nhé!
Phải trả lời câu hỏi này trước
khi sang câu hỏi sau!
KẾT QUẢ LÀM LẠI
Bài 9: CẤU TRÚC RẼ NHÁNH
2. Câu lệnh IF…THEN
c. Ví dụ về câu lệnh rẽ nhánh
 Ví dụ 3: Viết câu lệnh rẽ nhánh.
Nếu D<0 thì thông báo phương trình vô nghiệm, ngược lại thì phương
trình có nghiệm X1:=(-b-sqrt (D))/(2*a) và X2:=(-b+sqrt (D))/(2*a)
Bài 9: CẤU TRÚC RẼ NHÁNH
3. CÂU LỆNH GHÉP
 Trong ngôn ngữ Pascal, câu lệnh ghép có
dạng
Begin
<Các câu lệnh>;
End;
 Ví dụ:
If D<0 then writeln (‘Phương trình vô nghiệm’)
Else
Begin
Các Câu lệnh
X1:=(-b+sprt(D)/(2*a);
X2:=(-b-sprt(D)/(2*a);
End;
…
Bài 9: CẤU TRÚC RẼ NHÁNH
4. MỘT SỐ VÍ DỤ
 Ví dụ 1: Tìm nghiệm của phương trình bậc hai:
ax2 + bx +c = 0 (a  0)
 Xác định bài toán:
 Thuật toán: Nhập
a, b,
c
 Input: 3 số thực a,b,c
D:= b2 –
4ac
 Output: Đưa ra màn hình
các nghiệm hoặc thông báo
“Phương trình vô nghiệm”.
Đ
Thông
báo vô
nghiệm
rồi kết
thúc
D<0
S
Tính,
đưa ra
nghiệm
thực rồi
kết thúc
Bài 9: CẤU TRÚC RẼ NHÁNH
4. MỘT SỐ VÍ DỤ
Ví dụ 1:
Program GPTB2;
Uses crt;
Em hãy hoàn thiện Var . . . ;
chương trình giải
BEGIN
phương trình bậc 2
. . . Nhập vào 3 hệ số a,b,c .. .
(a0) theo dàn ý
sau:
Delta :=. . ………....;
Nếu Delta<0 thì Writeln(‘PTVN’)
Ngược lại Tính và đưa ra nghiệm;
Readln
END.
Lệnh khai báo các
biến dùng trong
chương trình
Câu lệnh ghép
Bài 9: CẤU TRÚC RẼ NHÁNH
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 4 nhưng không chia hết
cho 100.
Hãy xác định
Input và
Output của
bài?
Input: Nhập N từ bàn phím.
Output: Đưa số ngày của năm N ra màn hình.
Nếu N chia hết cho 400 hoặc N chia hết
cho 4 nhưng không chia hết cho 100
thì In ra số ngày của năm nhuận là 366
ngược lại In ra số ngày là 365
NhËp
vµosè
N¡M
cÇncña
tÝnh
sènhuËn,
lîng ngµy
ViÕtnhËn
th×
®iÒu
kiÖn:
ngµy
n¨m
ngîc l¹i
Em h·y khai b¸o biÕn cho bµi to¸n trªn?
NÕu
nhËn
Nsè
chia
ngµy
hÕt
cña
cho
n¨m
400thêng.
hoÆc chia hÕt
In ra kÕt
qu¶?
cho 4 nhng kh«ng chia hÕt cho 100
BÀI TẬP CỦNG CỐ
Câu hỏi 1: Trong ngôn ngữ lập trình Pascal phát biểu nào sau đây
là đúng với câu lệnh rẽ nhánh If ... then
A)
B)
C)
D)
Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu
lệnh phải được đặt giữa cặp Begin và end.
Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu
lệnh phải được đặt giữa cặp Begin và end;
Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu
lệnh phải được đặt giữa cặp Begin và end:
Nếu sau then muốn thực hiện nhiều câu lệnh thì các câu
lệnh phải được đặt giữa hai dấu ngoặc đơn
Đúng rồi! Chúc mừng bạn!
Click chuột để tiếp tục
Rất tiếc! Sai rồi! Lần sau bạn
cố gắng nhé!
Phải trả lời câu hỏi này trước
khi sang câu hỏi sau!
KẾT QUẢ LÀM LẠI
BÀI TẬP CỦNG CỐ
Câu hỏi 2: Chọn phương án sai: Muốn dùng biến X lưu giá
trị nhỏ nhất trong các giá trị của 2 biến A < B có thể dùng
cấu trúc rẽ nhánh như sau:
A) X:=B;
If A<B then X:=A else X:=B;
B)
X:=B;
If A<B then X:=A ;
C) If A<B then X:=A else X:=B;
D) If A<B then X:=A ;
Đúng rồi! Chúc mừng bạn!
Click chuột để tiếp tục
Rất tiếc! Sai rồi! Lần sau bạn
cố gắng nhé!
Phải trả lời câu hỏi này trước
khi sang câu hỏi sau!
KẾT QUẢ LÀM LẠI
BÀI TẬP CỦNG CỐ
Câu hỏi 3: Hãy chọn phương án đúng với cấu trúc rẽ
nhánh If <điều kiênh> then <câu lệnh 1> else <câu ệnh
2>;
Câu lệnh 2 không được thực hiện khi:
A) Biểu thức điều kiện đúng
B) Biểu thức điều kiện sai
C) Biểu thức điều kiện không thể tính được
D) Câu lệnh 1 không được thực hiện
Đúng rồi! Chúc mừng bạn!
Click chuột để tiếp tục
Rất tiếc! Sai rồi! Lần sau bạn
cố gắng nhé!
Phải trả lời câu hỏi này trước
khi sang câu hỏi sau!
KẾT QUẢ LÀM LẠI
BÀI TẬP CỦNG CỐ
Câu hỏi 4: Cho i là biến nguyên sau khi thực hiện các lệnh
i:=2; if i=1 then i:=i+1 else i:=i+2;
A) 3
B) 2
C) 4
D) 5
Đúng rồi! Chúc mừng bạn!
Click chuột để tiếp tục
Rất tiếc! Sai rồi! Lần sau bạn
cố gắng nhé!
Phải trả lời câu hỏi này trước
khi sang câu hỏi sau!
KẾT QUẢ LÀM LẠI
TỔNG HỢP KẾT QUẢ KIỂM TRA
BÀI TẬP KIỂM TRA BÀI CŨ
Điểm của bạn
Tổng số điểm
Bài Quiz số
{score}
{max-score}
{total-attempts}
Question Feedback/Review Information Will Appear
Here
TIẾP TỤC
XEM lẠI
HÃY NHỚ
CẤU TRÚC MÔ TẢ CÁC MỆNH ĐỀ:
“NẾU … THÌ…”
“NẾU … THÌ …NGƯỢC LẠI…”
GỌI LÀ CẤU TRÚC RẼ NHÁNH.
IF <ĐIỀU KIỆN> THEN <CÂU
LỆNH>;
IF <ĐIỀU KIỆN> THEN <CÂU
LỆNH 1>
ELSE <CÂU LỆNH2>;
LỆNH RẼ NHÁNH DẠNG THIẾU
LỆNH RẼ NHÁNH DẠNG ĐỦ
CÂU LỆNH GHÉP
BEGIN
<CÁC CÂU LỆNH>;
END;
HỌC LIỆU THAM KHẢO
 Tài liêu:
 Sách giáo khoa, sách giáo viên, sách tin học 11
 Muntimedia:
 Phần mềm sử dụng Adobe Presenter 7.0,
 Photoshop CS3, Crel Draw X5
 Địa chỉ website tham khảo:
 Bộ GD&ĐT:
http://edu.net.vn/media
 Violet:
http://violet.vn
Chúc các em học tốt