Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Nguyễn Xuân Tứ |
Ngày 10/05/2019 |
54
Chia sẻ tài liệu: Bài 9. Cấu trúc rẽ nhánh thuộc Tin học 11
Nội dung tài liệu:
CHÀO MỪNG QUÝ THẦY CÔ
VỀ THAM DỰ HỘI GIẢNG CHÀO MỪNG 20-11
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
ừm, để tớ nghĩ đã.
Nếu ngày mai mưa thì tớ nghỉ.
Này, ngày mai cậu có đi học nhóm không?
Nếu ngày mai mưa thì tớ nghỉ, nếu không mưa thì tớ đến nhà cậu học nhé.
1. RẼ NHÁNH
Ví dụ 1:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Nhập a, b, c
Delta <- b2 – 4ac
Delta < 0
Tính và đưa ra nghiệm thực, rồi kết thúc
Sai
Đúng
1. RẼ NHÁNH
- Sau khi tính Delta. Tuỳ thuộc vào giá trị Delta, một trong hai thao tác(đúng/sai) sẽ thực hiện.
Ví dụ 2: Giải phương trình bậc hai ax2+bx+c=0 (a?0)
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
1. Rẽ nhánh
Nếu ... thì..
Nếu . thì.nếu không thì .
Cấu trúc dùng để mô tả các mệnh đề có dạng như trên gọi là
cấu trúc rẽ nhánh.
- Có hai dạng mệnh đề:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
IF <Điều kiện> THEN;
Điều kiện
Đúng
Câu lệnh
Nếu <điều kiện> đúng thì
được thực hiện,nếu điều kiện sai bị bỏ qua.
Sai
a. Dạng thiếu
Câu lệnh
Đúng
Câu lệnh
Điều kiện
Điều kiện
- Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh là lệnh của Pascal.
Trong đó:
Câu lệnh
Sơ đồ khối
ý nghĩa
2. Câu lệnh IF - THEN
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Ví dụ 2 :
Viết câu lệnh rẽ nhánh dạng thiếu:
Giải phương trình bậc 2:ax2+bx+c=0(a 0)
(Chỉ xét trường hợp D<0)
if D < 0 then Writeln(‘ phuong trinh vo nghiem’);
Ví dụ 3:
Tìm giá trị lớn nhất của 2 số nguyên a và b
(không xét trường hợp a=b)
max := a;
if b > max then max := b;
IF a mod 2=0 THEN Writeln(‘ a la so chan’);
Ví dụ 1: Điều kiện để a là số chẵn
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
b. Dạng đủ
IF <Điều kiện> THEN
ELSE;
Điều kiện
Đúng
Câu
lệnh 1
Sai
Câu lệnh 2
Nếu <điều kiện> đúng thì được thực hiện,
Ngược lại thì được thực hiện.
Điều kiện
Câu
lệnh 1
Câu lệnh 2
Điều kiện
Câu
lệnh 1
Điều kiện
Sơ đồ khối
- Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh1 và Câu lệnh 2 là câu lệnh của Pascal.
Trong đó:
ý nghĩa
2. Câu lệnh IF - THEN
Câu lệnh
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Viết câu lệnh rẽ nhánh dạng đủ:
Ví dụ 1:
Kiểm tra N là số chia hết cho 3 hay không?
if N mod 3 = 0 then Writeln(‘N chia het cho 3’)
else Write(‘N khong chia het cho 3’);
B1: Nhập vào N
B2: Nếu N mod 3=0 thì N chia hết cho 3 và kết thúc.
B3: N không chia hết cho 3 và kết thúc.
Ví dụ 2:
Để thực hiện phép chia 2 số a và b với điều kiện b<>0, ta viết:
B2: Nếu b<>0 thì Ta/b và kết thúc.
B3: Mẫu số = 0! Không chia được và kết thúc.
B1: Nhập vào a, b
If b <> 0 then T:=a/b
else Write(‘ Mau so = 0! Khong chia đuoc’);
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Viết câu lệnh rẽ nhánh dạng đủ:
Ví dụ 3:
If x< 0 then f:=x
else f:= x+sin(x);
B1: Nhập vào x
B2: Nếu x<0 thì fx và kết thúc
B3: fx+sinx và kết thúc
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Hãy nêu sự giống và khác nhau của hai dạng câu lệnh if-then?
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
3.CU L?NH GHẫP
Trong TP cho phép gộp nhiều câu lệnh thành một câu lệnh gọi là câu lệnh ghép, có dạng:
BEGIN
< Các câu lệnh>;
END;
Ví dụ: Quan sát đoạn chương trình sau:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
3.CU L?NH GHẫP
Quan sát đoạn chương trình sau:
iF a>b then
Begin
Max:=a;
Min:=b;
End ;
Else
Begin
Max:=b;
Min:=a;
End;
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Câu lệnh rẽ nhánh lồng nhau
IF ĐK1 THEN IF ĐK2 THEN Công việc 1
ELSE Công việc 2;
IF a = 0 THEN IF b = 0 THEN Writeln(‘Pt vo so nghiem’)
ELSE Writeln(‘Pt vo nghiem’)
ELSE
Begin
x:= -b/a;
Writeln(‘Nghiệm x= ’,x:10:2);
End;
Ví dụ:Giải phương trình bậc nhất: ax+b=0
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Em hãy hoàn thiện chương trình tìm số lớn nhất của ba số nguyên a, b, c như sau:
Program TIM_MAX;
Uses crt;
Var a, b, c, Max:integer;
BEGIN
Write(`Nhập vào 3 số a,b,c:`);
Readln(a,b,c);
Max:=. . .;
Nếu Max Nếu MaxWriteln(`gia tri lom nhat la`,Max);
Readln;
END.
Ví dụ 1:
4. Một số ví dụ
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Program TIM_MAX;
Uses crt;
Var a, b, c, Max:integer ;
BEGIN
Write(`Nhập vào 3 số a,b,c:`);Readln(a,b,c);
Max:=a;
if Max if Max Writeln(`Gia tri lon nhat la`,Max)
Readln;
END.
Ví dụ 1:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
4. Một số ví dụ
Program GPTB2;
Uses crt;
Var a, b, c, Delta, x1, x2:real;
BEGIN
Write(`Nhập vào 3 hệ số a,b,c:`);Readln(a,b,c);
Delta :=b*b-4*a*c;
Readln;
END.
Nếu Delta<0 thì xu?t ptvn
ngược lại Tính và in nghiệm;
Em hãy hoàn thiện chương trình giải phương trình bậc 2 (a?0) theo dàn ý sau:
Ví dụ 2: Giải phương trình bậc 2:ax2+bx+c=0(a 0)
(Không xét trường hợp Delta=0)
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
4. Một số ví dụ
Program GPTB2;
Uses crt;
Var a, b, c, Delta, x1, x2:real;
BEGIN
Write(`Nhập vào 3 hệ số a,b,c:`);Readln(a,b,c);
Delta :=b*b-4*a*c;
Readln;
END.
if Delta<0 then writeln(`ptvn`)
Else
Begin
X1:=(-b+sqrt(Delta)/2*a;
X2:=(-b-sqrt(Delta)/2*a;
Writeln(`Nghiem x1=`,x1:5:2);
Writeln(`Nghiem x2=`,x2:5:2);
End;
Câu 1:Cú pháp biểu diễn cấu trúc rẽ nhánh dạng thiếu là:
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Iff <đk> then;
If <đk> then else
If <đk> then;
If <đk> then else ;
Câu 2: Kết quả của đoạn chương trình sau là gì?
Var x: integer;
Begin
X:=10;
If (x-3)>5 then Writeln(‘ Xin chuc mung’);
End.
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Không hiển thị gì cả
In ra kết quả là 7
In ra màn hình câu: ‘ Xin chuc mung
In ra kết quả là 5
Câu 3: Kết quả của đoạn chương trình sau là gì?
Var x, y:integer;
Begin
x:=10; y:=15;
If x>y then x:=x-y else y:=y-x;
End.
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Chương trình báo lỗi
X=5 và y=15
X=10 và y=15
y=5 và x=10
Câu 4: Kết quả của đoạn chương trình sau là gì?
Var x, y:integer;
Begin
x:=23; y:=45;
If x>y then write(‘so lon nhat la x’);
If x Else write(‘ hai so bang nhau’);
End.
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
So lon nhat la x
So lon nhat la y
Hai so bang nhau
Y lớn hơn x
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.
? Lệnh rẽ nhánh dạng thiếu
? Lệnh rẽ nhánh dạng đủ
Câu lệnh ghép
BEGIN
;
END;
IF <điều kiện> THEN;
IF <điều kiện> THEN
ELSE;
Về nhà
Ôn tập lại bài học hôm nay
Làm bài tấp số1,2 và 4 ở SGK trang 50,51.
Nghiên cứu trước bai 10: ‘cấu trúc lặp’
VỀ THAM DỰ HỘI GIẢNG CHÀO MỪNG 20-11
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
ừm, để tớ nghĩ đã.
Nếu ngày mai mưa thì tớ nghỉ.
Này, ngày mai cậu có đi học nhóm không?
Nếu ngày mai mưa thì tớ nghỉ, nếu không mưa thì tớ đến nhà cậu học nhé.
1. RẼ NHÁNH
Ví dụ 1:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Nhập a, b, c
Delta <- b2 – 4ac
Delta < 0
Tính và đưa ra nghiệm thực, rồi kết thúc
Sai
Đúng
1. RẼ NHÁNH
- Sau khi tính Delta. Tuỳ thuộc vào giá trị Delta, một trong hai thao tác(đúng/sai) sẽ thực hiện.
Ví dụ 2: Giải phương trình bậc hai ax2+bx+c=0 (a?0)
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
1. Rẽ nhánh
Nếu ... thì..
Nếu . thì.nếu không thì .
Cấu trúc dùng để mô tả các mệnh đề có dạng như trên gọi là
cấu trúc rẽ nhánh.
- Có hai dạng mệnh đề:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
IF <Điều kiện> THEN
Điều kiện
Đúng
Câu lệnh
Nếu <điều kiện> đúng thì
Sai
a. Dạng thiếu
Câu lệnh
Đúng
Câu lệnh
Điều kiện
Điều kiện
- Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh là lệnh của Pascal.
Trong đó:
Câu lệnh
Sơ đồ khối
ý nghĩa
2. Câu lệnh IF - THEN
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Ví dụ 2 :
Viết câu lệnh rẽ nhánh dạng thiếu:
Giải phương trình bậc 2:ax2+bx+c=0(a 0)
(Chỉ xét trường hợp D<0)
if D < 0 then Writeln(‘ phuong trinh vo nghiem’);
Ví dụ 3:
Tìm giá trị lớn nhất của 2 số nguyên a và b
(không xét trường hợp a=b)
max := a;
if b > max then max := b;
IF a mod 2=0 THEN Writeln(‘ a la so chan’);
Ví dụ 1: Điều kiện để a là số chẵn
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
b. Dạng đủ
IF <Điều kiện> THEN
ELSE
Điều kiện
Đúng
Câu
lệnh 1
Sai
Câu lệnh 2
Nếu <điều kiện> đúng thì
Ngược lại thì
Điều kiện
Câu
lệnh 1
Câu lệnh 2
Điều kiện
Câu
lệnh 1
Điều kiện
Sơ đồ khối
- Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh1 và Câu lệnh 2 là câu lệnh của Pascal.
Trong đó:
ý nghĩa
2. Câu lệnh IF - THEN
Câu lệnh
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Viết câu lệnh rẽ nhánh dạng đủ:
Ví dụ 1:
Kiểm tra N là số chia hết cho 3 hay không?
if N mod 3 = 0 then Writeln(‘N chia het cho 3’)
else Write(‘N khong chia het cho 3’);
B1: Nhập vào N
B2: Nếu N mod 3=0 thì N chia hết cho 3 và kết thúc.
B3: N không chia hết cho 3 và kết thúc.
Ví dụ 2:
Để thực hiện phép chia 2 số a và b với điều kiện b<>0, ta viết:
B2: Nếu b<>0 thì Ta/b và kết thúc.
B3: Mẫu số = 0! Không chia được và kết thúc.
B1: Nhập vào a, b
If b <> 0 then T:=a/b
else Write(‘ Mau so = 0! Khong chia đuoc’);
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Viết câu lệnh rẽ nhánh dạng đủ:
Ví dụ 3:
If x< 0 then f:=x
else f:= x+sin(x);
B1: Nhập vào x
B2: Nếu x<0 thì fx và kết thúc
B3: fx+sinx và kết thúc
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Hãy nêu sự giống và khác nhau của hai dạng câu lệnh if-then?
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
3.CU L?NH GHẫP
Trong TP cho phép gộp nhiều câu lệnh thành một câu lệnh gọi là câu lệnh ghép, có dạng:
BEGIN
< Các câu lệnh>;
END;
Ví dụ: Quan sát đoạn chương trình sau:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
3.CU L?NH GHẫP
Quan sát đoạn chương trình sau:
iF a>b then
Begin
Max:=a;
Min:=b;
End ;
Else
Begin
Max:=b;
Min:=a;
End;
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Câu lệnh rẽ nhánh lồng nhau
IF ĐK1 THEN IF ĐK2 THEN Công việc 1
ELSE Công việc 2;
IF a = 0 THEN IF b = 0 THEN Writeln(‘Pt vo so nghiem’)
ELSE Writeln(‘Pt vo nghiem’)
ELSE
Begin
x:= -b/a;
Writeln(‘Nghiệm x= ’,x:10:2);
End;
Ví dụ:Giải phương trình bậc nhất: ax+b=0
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Em hãy hoàn thiện chương trình tìm số lớn nhất của ba số nguyên a, b, c như sau:
Program TIM_MAX;
Uses crt;
Var a, b, c, Max:integer;
BEGIN
Write(`Nhập vào 3 số a,b,c:`);
Readln(a,b,c);
Max:=. . .;
Nếu Max Nếu Max
Readln;
END.
Ví dụ 1:
4. Một số ví dụ
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Program TIM_MAX;
Uses crt;
Var a, b, c, Max:integer ;
BEGIN
Write(`Nhập vào 3 số a,b,c:`);Readln(a,b,c);
Max:=a;
if Max if Max
Readln;
END.
Ví dụ 1:
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
4. Một số ví dụ
Program GPTB2;
Uses crt;
Var a, b, c, Delta, x1, x2:real;
BEGIN
Write(`Nhập vào 3 hệ số a,b,c:`);Readln(a,b,c);
Delta :=b*b-4*a*c;
Readln;
END.
Nếu Delta<0 thì xu?t ptvn
ngược lại Tính và in nghiệm;
Em hãy hoàn thiện chương trình giải phương trình bậc 2 (a?0) theo dàn ý sau:
Ví dụ 2: Giải phương trình bậc 2:ax2+bx+c=0(a 0)
(Không xét trường hợp Delta=0)
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
4. Một số ví dụ
Program GPTB2;
Uses crt;
Var a, b, c, Delta, x1, x2:real;
BEGIN
Write(`Nhập vào 3 hệ số a,b,c:`);Readln(a,b,c);
Delta :=b*b-4*a*c;
Readln;
END.
if Delta<0 then writeln(`ptvn`)
Else
Begin
X1:=(-b+sqrt(Delta)/2*a;
X2:=(-b-sqrt(Delta)/2*a;
Writeln(`Nghiem x1=`,x1:5:2);
Writeln(`Nghiem x2=`,x2:5:2);
End;
Câu 1:Cú pháp biểu diễn cấu trúc rẽ nhánh dạng thiếu là:
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Iff <đk> then
If <đk> then
If <đk> then
If <đk> then
Câu 2: Kết quả của đoạn chương trình sau là gì?
Var x: integer;
Begin
X:=10;
If (x-3)>5 then Writeln(‘ Xin chuc mung’);
End.
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Không hiển thị gì cả
In ra kết quả là 7
In ra màn hình câu: ‘ Xin chuc mung
In ra kết quả là 5
Câu 3: Kết quả của đoạn chương trình sau là gì?
Var x, y:integer;
Begin
x:=10; y:=15;
If x>y then x:=x-y else y:=y-x;
End.
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
Chương trình báo lỗi
X=5 và y=15
X=10 và y=15
y=5 và x=10
Câu 4: Kết quả của đoạn chương trình sau là gì?
Var x, y:integer;
Begin
x:=23; y:=45;
If x>y then write(‘so lon nhat la x’);
If x
End.
CÂU LỆNH RẼ NHÁNH
Tiết 12
Bài 9
So lon nhat la x
So lon nhat la y
Hai so bang nhau
Y lớn hơn x
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.
? Lệnh rẽ nhánh dạng thiếu
? Lệnh rẽ nhánh dạng đủ
Câu lệnh ghép
BEGIN
END;
IF <điều kiện> THEN
IF <điều kiện> THEN
ELSE
Về nhà
Ôn tập lại bài học hôm nay
Làm bài tấp số1,2 và 4 ở SGK trang 50,51.
Nghiên cứu trước bai 10: ‘cấu trúc lặp’
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Xuân Tứ
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)