Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Võ Minh Tâm |
Ngày 10/05/2019 |
46
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:
TRƯỜNG THPT CẦU KÈ
Thân chào các em!
Toå: Lyù - Tin
Giaùo vieân thöïc hieän:
Voõ Minh Taâm
LỚP: 11C4
Kiểm tra bài cũ:
Em hãy nêu phương pháp giải phương trình bậc hai ax2+bx+c=0 (a ? 0)
Lời giải
Tính biệt thức ? = b2 - 4ac . Xét ?
+ Nếu ?< 0: Phương trình vô nghiệm.
+Nếu ? = 0: Phương trình có nghiệm kép.
+Nếu ? > 0: Phương trình có hai nghiệm phân biệt.
Sai
Đúng
Kieåm tra
0 ?
Thông báo
vô nghiệm
Tính và đưa
ra nghiệm
Kết thúc
CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9: CẤU TRÚC RẼ NHÁNH
1. Reõ nhaùnh
2. Caâu leänh If - then
3. Caâu leänh gheùp
4. Moät soá ví duï
Ví dụ: Để giải phương trình bậc hai: ax2 +bx +c = 0 (a 0 ) ta phải: Tính Delta = b*b - 4*a*c
1. Reõ nhaùnh
- Neáu Delta < 0 thì phöông trình voâ nghieäm
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
- Neáu Delta >= 0 thì phöông trình coù nghieäm .
Hoaëc coù theå noùi: Neáu delta < 0 thì phöông trình voâ nghieäm, ngöôïc laïi thì phöông trình coù nghieäm.
* Ta coù meänh ñeà sau:
- Neáu . . . thì. . . .
- Nếu . . . thì. . . . ngược lại thì.
* Cấu trúc này đựơc gọi là cấu trúc rẽ nhánh thiếu và đủ.
( Daïng thieáu )
( Daïng ñuû )
a. Dạng thiếu
2. Caâu leänh if - then
If <điều kiện> then;
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
Đúng
Ý nghĩa:
Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua.
- Sơ đồ
- Cú pháp
Sai
Kết
thúc
- Sơ đồ
BÀI 9: CẤU TRÚC RẼ NHÁNH
Đúng
Sai
2. Caâu leänh IF-THEN
If < ñieàu kieän > then
< caâu leänh >;
If < ñieàu kieän > then < caâu leänh1 > else < caâu leänh2 >;
3. Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
b. Dạng đủ
If< điều kiện > then < câu lệnh1 >
else < câu lệnh 2 >;
*Chú ý: Trước từ khóa Else không có dấu chấm phẩy (;).
- Cú pháp
Dạng đủ: Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì thực hiện câu lệnh1, ngược lại thì thực hiện câu lệnh2.
Kết thúc
- Ý nghĩa
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
Trong đó:
+ Điều kiện: Là biểu thức quan hệ hoặc logic.
+ Câu lệnh, câu lệnh 1, câu lệnh 2: Là một câu lệnh của Pascal.
* Ví duï: Vaän duïng caû 2 daïng cuûa caâu leänh if – then cho baøi toaùn tìm giaù trò lôùn nhaát cuûa hai soá a vaø b ?
Cách 1: Dạng thiếu
Max := a;
If b > a then Max := b;
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
Cách 2: Dạng đủ
If a > b then Max := a
Else Max := b;
Bài giải
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF -THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
Qua đoạn chương trình:
Em có nhận xét gì về câu lệnh trước từ khóa else?
Nếu sau từ khoá then và else có không phải là 1 lệnh mà 2 lệnh trở lên thì phải làm như thế nào ?
* Xét đoạn chương trình Pascal tìm min và max của 2 số a và b.
IF a < b THEN
BEGIN
Max := b;
Min := a;
END
ELSE {a > b}
BEGIN
Max := a;
Min := b;
END;
* Nhận xét đoạn chương trình:
- Trước từ khoá else mặc dù kết thúc một câu lệnh nhưng không bao giờ có dấu chấm phẩy (;).
-Trong Pascal cho phép ta sử dụng cặp từ khoá begin, end để ghép 2 câu lệnh trở lên thành một câu lệnh và được gọi là 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;
- Caâu leänh gheùp: Laø caâu leänh chöùa töø 2 leänh trôû leân vaø ñöôïc ñaët trong caëp töø khoaù BEGIN vaø END.
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF - THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
3. Caâu leänh gheùp
* Chú ý:
Sau END phải có dấu chấm phẩy (;)
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
Ví dụ:
if delta < 0 then
writeln(` phuong trinh vo nghiem`)
else {delta >= 0 }
writeln(` Phuong trinh co nghiem`);
begin
x1:= ( - b + sqrt(delta))/(2*a);
x2:= -b/a- x1;
writeln(` x1 = `,x1:8:2 ,` x2 = `,x2:8:2);
end;
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh IF…THEN…
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
4. Moät soá ví duï
Ví dụ1:
Tìm nghiệm thực của phương trình bậc 2 : ax2+bx+c=0. (a 0)
Xây dựng ý tưởng
Nhập 3 số a,b,c
Tính
delta:=b*b-4*a*c
Nếu delta<0 thì pt vô nghiêm, ngược lại phương trình có nghiệm
Program giai_ptb2;
Var a, b, c, delta, x1, x2: real;
Begin
write(‘Nhap he so a,b,c tu ban phim: ’);
readln(a,b,c);
delta:= b*b - 4*a*c;
if delta < 0 then
writeln(‘phuong trinh vo nghiem’)
else {delta >= 0}
begin
x1:=(-b + sqrt(delta))/(2*a);
x2:= -b/a – x1;
writeln(‘x1=‘,x1:8:2, ‘x2=‘,x2:8:2);
end;
readln
End.
Dùng câu lệnh if-then dạng đủ
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF - THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
Ví dụ2:
Tìm số ngày của 1 năm N. 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.
- Hướng dẫn: Trong biểu thức điều kiện ta sử dụng các phép toán logic như là or, and để gộp các điều kiện lại với nhau.
BTĐK : ((N mod 400 = 0) or (N mod 4 = 0) and
(N mod 100<>0))
- Dùng cấu trúc dạng đủ để lập trình cho bài toán trên ?
* Chương trình
Program so_ngay;
Var N, SN: integer;
Begin
write(‘ Nhap vao nam = ‘);
readln(N);
if ((N mod 400 = 0) or (N mod 4 = 0) and (N
mod 100<>0)) then SN:= 366
else
SN:=365;
writeln(‘So ngay cua nam ’,N,’ la ’,SN);
Readln
End.
2. Caâu leänh IF…THEN…
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
1. Reõ nhaùnh
2. Câu lệnh
IF - THEN
3. Câu lệnh ghép
4. Một số ví dụ
Củng cố
Rẽ nhánh
Câu lệnh If - then
a. Dạng thiếu
If <điều kiện> then;
b. Dạng đủ
If <điều kiện> then else ;
3. Câu lệnh ghép
BÀI 9: CẤU TRÚC RẼ NHÁNH
Hãy chọn câu trả lời đúng nhất
1. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đâylà đúng?
a. If <điều kiện>; then; b. If <điều kiện> then;
c. If <điều kiện> then d. If <điều kiện>then.
2. Trong ngôn ngữ lập trình Pascal, về mặt cú pháp cách viết câu lệnh ghép nào sau đây là đúng?
a. Begin: b. Begin; c. Begin d. Begin
a:=1; a:=1; a:=1 a:=1; b:=5; b:=5; b:=5 b:=5;
End; End; End: End;
3. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đâylà đúng?
a. If <điều kiện>; then; else ;
b. If <điều kiện> then; else ;
c. If <điều kiện> then else ;
d. If <điều kiện> then else .
Hãy chọn câu trả lời đúng nhất
4. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
a. If a=5 then a:=d+1; b. If a=5 then a:= d+1
else a:=d +2; else a:=d+2;
c. If a=5 then a=d+1 d. If a:=5 then a:=d+1
else a:=d+2; else a:=d+2;
5. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
a. 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
b. 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 begin và end.
c. 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 begin và end;
Tạm biệt các em
TIẾT HỌC KẾT THÚC!
Thân chào các em!
Toå: Lyù - Tin
Giaùo vieân thöïc hieän:
Voõ Minh Taâm
LỚP: 11C4
Kiểm tra bài cũ:
Em hãy nêu phương pháp giải phương trình bậc hai ax2+bx+c=0 (a ? 0)
Lời giải
Tính biệt thức ? = b2 - 4ac . Xét ?
+ Nếu ?< 0: Phương trình vô nghiệm.
+Nếu ? = 0: Phương trình có nghiệm kép.
+Nếu ? > 0: Phương trình có hai nghiệm phân biệt.
Sai
Đúng
Kieåm tra
0 ?
Thông báo
vô nghiệm
Tính và đưa
ra nghiệm
Kết thúc
CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9: CẤU TRÚC RẼ NHÁNH
1. Reõ nhaùnh
2. Caâu leänh If - then
3. Caâu leänh gheùp
4. Moät soá ví duï
Ví dụ: Để giải phương trình bậc hai: ax2 +bx +c = 0 (a 0 ) ta phải: Tính Delta = b*b - 4*a*c
1. Reõ nhaùnh
- Neáu Delta < 0 thì phöông trình voâ nghieäm
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
- Neáu Delta >= 0 thì phöông trình coù nghieäm .
Hoaëc coù theå noùi: Neáu delta < 0 thì phöông trình voâ nghieäm, ngöôïc laïi thì phöông trình coù nghieäm.
* Ta coù meänh ñeà sau:
- Neáu . . . thì. . . .
- Nếu . . . thì. . . . ngược lại thì.
* Cấu trúc này đựơc gọi là cấu trúc rẽ nhánh thiếu và đủ.
( Daïng thieáu )
( Daïng ñuû )
a. Dạng thiếu
2. Caâu leänh if - then
If <điều kiện> then
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
Đúng
Ý nghĩa:
Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua.
- Sơ đồ
- Cú pháp
Sai
Kết
thúc
- Sơ đồ
BÀI 9: CẤU TRÚC RẼ NHÁNH
Đúng
Sai
2. Caâu leänh IF-THEN
If < ñieàu kieän > then
< caâu leänh >;
If < ñieàu kieän > then < caâu leänh1 > else < caâu leänh2 >;
3. Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
b. Dạng đủ
If< điều kiện > then < câu lệnh1 >
else < câu lệnh 2 >;
*Chú ý: Trước từ khóa Else không có dấu chấm phẩy (;).
- Cú pháp
Dạng đủ: Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng thì thực hiện câu lệnh1, ngược lại thì thực hiện câu lệnh2.
Kết thúc
- Ý nghĩa
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
Trong đó:
+ Điều kiện: Là biểu thức quan hệ hoặc logic.
+ Câu lệnh, câu lệnh 1, câu lệnh 2: Là một câu lệnh của Pascal.
* Ví duï: Vaän duïng caû 2 daïng cuûa caâu leänh if – then cho baøi toaùn tìm giaù trò lôùn nhaát cuûa hai soá a vaø b ?
Cách 1: Dạng thiếu
Max := a;
If b > a then Max := b;
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
Cách 2: Dạng đủ
If a > b then Max := a
Else Max := b;
Bài giải
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF -THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
Qua đoạn chương trình:
Em có nhận xét gì về câu lệnh trước từ khóa else?
Nếu sau từ khoá then và else có không phải là 1 lệnh mà 2 lệnh trở lên thì phải làm như thế nào ?
* Xét đoạn chương trình Pascal tìm min và max của 2 số a và b.
IF a < b THEN
BEGIN
Max := b;
Min := a;
END
ELSE {a > b}
BEGIN
Max := a;
Min := b;
END;
* Nhận xét đoạn chương trình:
- Trước từ khoá else mặc dù kết thúc một câu lệnh nhưng không bao giờ có dấu chấm phẩy (;).
-Trong Pascal cho phép ta sử dụng cặp từ khoá begin, end để ghép 2 câu lệnh trở lên thành một câu lệnh và được gọi là 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;
- Caâu leänh gheùp: Laø caâu leänh chöùa töø 2 leänh trôû leân vaø ñöôïc ñaët trong caëp töø khoaù BEGIN vaø END.
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF - THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
3. Caâu leänh gheùp
* Chú ý:
Sau END phải có dấu chấm phẩy (;)
2. Caâu leänh
IF-THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
Ví dụ:
if delta < 0 then
writeln(` phuong trinh vo nghiem`)
else {delta >= 0 }
writeln(` Phuong trinh co nghiem`);
begin
x1:= ( - b + sqrt(delta))/(2*a);
x2:= -b/a- x1;
writeln(` x1 = `,x1:8:2 ,` x2 = `,x2:8:2);
end;
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh IF…THEN…
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
4. Moät soá ví duï
Ví dụ1:
Tìm nghiệm thực của phương trình bậc 2 : ax2+bx+c=0. (a 0)
Xây dựng ý tưởng
Nhập 3 số a,b,c
Tính
delta:=b*b-4*a*c
Nếu delta<0 thì pt vô nghiêm, ngược lại phương trình có nghiệm
Program giai_ptb2;
Var a, b, c, delta, x1, x2: real;
Begin
write(‘Nhap he so a,b,c tu ban phim: ’);
readln(a,b,c);
delta:= b*b - 4*a*c;
if delta < 0 then
writeln(‘phuong trinh vo nghiem’)
else {delta >= 0}
begin
x1:=(-b + sqrt(delta))/(2*a);
x2:= -b/a – x1;
writeln(‘x1=‘,x1:8:2, ‘x2=‘,x2:8:2);
end;
readln
End.
Dùng câu lệnh if-then dạng đủ
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF - THEN
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
Ví dụ2:
Tìm số ngày của 1 năm N. 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.
- Hướng dẫn: Trong biểu thức điều kiện ta sử dụng các phép toán logic như là or, and để gộp các điều kiện lại với nhau.
BTĐK : ((N mod 400 = 0) or (N mod 4 = 0) and
(N mod 100<>0))
- Dùng cấu trúc dạng đủ để lập trình cho bài toán trên ?
* Chương trình
Program so_ngay;
Var N, SN: integer;
Begin
write(‘ Nhap vao nam = ‘);
readln(N);
if ((N mod 400 = 0) or (N mod 4 = 0) and (N
mod 100<>0)) then SN:= 366
else
SN:=365;
writeln(‘So ngay cua nam ’,N,’ la ’,SN);
Readln
End.
2. Caâu leänh IF…THEN…
3.Caâu leänh gheùp
4. Moät soá ví duï
1. Reõ nhaùnh
BÀI 9: CẤU TRÚC RẼ NHÁNH
1. Reõ nhaùnh
2. Câu lệnh
IF - THEN
3. Câu lệnh ghép
4. Một số ví dụ
Củng cố
Rẽ nhánh
Câu lệnh If - then
a. Dạng thiếu
If <điều kiện> then
b. Dạng đủ
If <điều kiện> then
3. Câu lệnh ghép
BÀI 9: CẤU TRÚC RẼ NHÁNH
Hãy chọn câu trả lời đúng nhất
1. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đâylà đúng?
a. If <điều kiện>; then
c. If <điều kiện> then
2. Trong ngôn ngữ lập trình Pascal, về mặt cú pháp cách viết câu lệnh ghép nào sau đây là đúng?
a. Begin: b. Begin; c. Begin d. Begin
a:=1; a:=1; a:=1 a:=1; b:=5; b:=5; b:=5 b:=5;
End; End; End: End;
3. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đâylà đúng?
a. If <điều kiện>; then
b. If <điều kiện> then
c. If <điều kiện> then
d. If <điều kiện> then
Hãy chọn câu trả lời đúng nhất
4. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
a. If a=5 then a:=d+1; b. If a=5 then a:= d+1
else a:=d +2; else a:=d+2;
c. If a=5 then a=d+1 d. If a:=5 then a:=d+1
else a:=d+2; else a:=d+2;
5. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây là đúng?
a. 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
b. 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 begin và end.
c. 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 begin và end;
Tạm biệt các em
TIẾT HỌC KẾT THÚC!
* 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ẻ: Võ Minh Tâm
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)