cấu trúc rẽ nhánh

Nhấn vào đây để tải về
Nhắn tin cho tác giả
Báo tài liệu sai quy định
Mở thư mục chứa tài liệu này
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Ngô Thị Quỳnh Huyên (trang riêng)
Ngày gửi: 21h:05' 27-11-2012
Dung lượng: 2.4 MB
Số lượt tải: 44
Số lượt thích: 0 người
TRƯỜNG THCS & THPT CHU VĂN AN
Chào mừng các thầy cô đến tham dự tiết học lớp 11A
TỔ : LÝ - TIN
Giáo viên : Ngô Thị Quỳnh Huyên
CHƯƠNG 3: 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ï
Tiết 11:
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
    - 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 d?ng thiếu và đủ.
( Daïng thieáu )
( Daïng ñuû )
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
a. D?ng thi?u
2. Câu lệnh if – then:
Trong Pascal: If <điều kiện> then ;

- Cú pháp
N?u <điều kiện> thì ;
điều kiện: là biểu thức quan hệ hoặc biểu thức logic.
câu lệnh: là một lệnh nào đó của Pascal
Trong đó:
If, then: từ khóa
BÀI 9: CẤU TRÚC RẼ NHÁNH
Lưu ý: sau Then chỉ có 1 câu lệnh
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
Ý 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ơ đồ
a. D?ng thi?u
2. Câu lệnh if – then:
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
BÀI 9: CẤU TRÚC RẼ NHÁNH
Sơ đồ khối
Dạng thiếu
If <đk> then ;
- Sơ đồ
a. D?ng thi?u
2. Câu lệnh if – then:
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
BÀI 9: CẤU TRÚC RẼ NHÁNH
- Ví dụ:
Nếu delta < 0 thì đưa kq ra màn hình là “PT vô nghiệm”
Pascal: If delta < 0 then writeln(‘phuong trinh vo nghiem’);
Dạng thiếu
If <đk> then ;
Chuyển sang câu lệnh Pascal

b. Dạng đủ
Pascal:
If< điều kiện > then < CL1 > else < CL 2 >;
*Chú ý: Trước từ khóa Else không có dấu chấm phẩy (;).
- Cú pháp
BÀI 9: CẤU TRÚC RẼ NHÁNH
N?u <điều kiện> thì không thì ;
Trong đó:
+ Điều kiện: Là biểu thức quan hệ hoặc logic.
+ Câu lệnh 1, câu lệnh 2: Là một câu lệnh của Pascal.
+ If, then, else: từ khóa
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
D?ng thi?u
If then ;
2. Câu lệnh if – then:
BÀI 9: CẤU TRÚC RẼ NHÁNH
- Sơ đồ
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.
- Ý nghĩa:
b. Dạng đủ
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
b. Dạng đủ:
If then
Else ;
D?ng thi?u
If then ;
2. Câu lệnh if – then:
- Sơ đồ
a. D?ng d?:
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
BÀI 9: CẤU TRÚC RẼ NHÁNH
- Ví dụ:
Nếu delta < 0 thì đưa kq ra màn hình là “PT vô nghiệm”, nếu không thì đưa kq ra màn hình “PT có nghiệm”
Pascal: If delta < 0 then write (‘phuong trinh vo nghiem’)
Else writeln (‘phuong trinh co nghiem’);
b. Dạng đủ:
If then
Else ;
Dạng thiếu
If <đk> then ;
2. Câu lệnh if – then:
Chuyển sang câu lệnh 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ò nhỏ nhaát cuûa hai soá a vaø b ?
Cách 1: Dạng thiếu
If b < a then Min := b;

Cách 2: Dạng đủ
If a > b then Min := b
Else Min := a;
Bài giải
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
Min := a;
b. Dạng đủ:
If then
Else ;
Dạng thiếu
If <đk> then ;
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.
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
BÀI 9: CẤU TRÚC RẼ NHÁNH
b. Dạng đủ:
If then
Else ;
Dạng thiếu
If <đk> then ;
- 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.
3. Caâu leänh gheùp
* Chú ý:
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
BÀI 9: CẤU TRÚC RẼ NHÁNH
- Sau End phải là dấu “;”
b. Dạng đủ:
If then
Else ;
Dạng thiếu
If <đk> then ;
3. Caâu leänh gheùp
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
Begin

End;
BÀI 9: CẤU TRÚC RẼ NHÁNH
Ví dụ:

Hãy dùng câu lệnh IF viết lệnh để tính nghiệm của pt bậc 2 khi delta>0
end;
Write(‘PT co 2 nghiem phan biet’);
x1 := (-b - sqrt(delta) ) / (2*a);
x2 := (-b + sqrt(delta) ) / (2*a);
Writeln(‘Nghiem x1=’,x1, ‘x2=‘,x2);
If delta >0 then
b. Dạng đủ:
If then
Else ;
Dạng thiếu
If <đk> then ;
begin
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
Các bước giải:
Nhaäp 3 soá a,b,c
Tính d:=b*b-4*a*c
Neáu d<0 thì pt voâ nghieâm, ngöôïc laïi thì phöông trình coù nghieäm
BÀI 9: CẤU TRÚC RẼ NHÁNH
* Input: Các hệ số a, b, c nhập từ bàn phím.

* Output: Đưa ra màn hình các nghiệm thực hoặc thông báo “Phương trình vô nghiệm”
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
Begin

End;
b. Dạng đủ:
If then
Else ;
Dạng đủ
If <đk> then ;
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 ?
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
Begin

End;
b. Dạng đủ:
If then
Else ;
Dạng thiếu
If <đk> then ;
* 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.
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
Begin

End;
b. Dạng đủ:
If then
Else ;
Dạng đủ
If <đk> then ;
BÀI 9: CẤU TRÚC RẼ NHÁNH
2. Caâu leänh
IF-THEN
4. Moät soá ví duï
1. Reõ nhaùnh
3.Caâu leänh gheùp
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
begin

End;
BÀI TẬP CỦNG CỐ
Em hãy phân biệt rõ 2 trường hợp sau đây:

TH1: if a>0 then a:=a+1; b:=b+1;
TH2: if a>0 then
begin
a:=a+1;
b:=b+1;
end;

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;
DẶN DÒ
2. Xem trước §10_ “Cấu trúc lặp” _Trang 42 _ SGK
3. Thực hiện phần câu hỏi và bài tập _ trang 50, 51 _Sách Giáo khoa
Bài học đã
KẾT THÚC
Thân ái chào các em