Bài 9. Cấu trúc rẽ nhánh

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Vũ Phong
Ngày gửi: 07h:25' 13-11-2019
Dung lượng: 1.5 MB
Số lượt tải: 233
Nguồn:
Người gửi: Nguyễn Vũ Phong
Ngày gửi: 07h:25' 13-11-2019
Dung lượng: 1.5 MB
Số lượt tải: 233
Số lượt thích:
0 người
Bài 9
cấu trúc rẽ nhánh
08/11/2019
Tiết PPCT: 12
1. Rẽ nhánh
Mời các em cùng xem và tìm hiểu các tình huống sau nhé!
ừm, để tớ nghĩ đã.
Nếu ngày mai mưa thì tớ nghỉ.
à! 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é.
Này, ngày mai cậu có đi học nhóm không?
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.
Ví dụ: Giải phương trình bậc hai ax2+bx+c=0 (a?0)
Hãy nêu các bước giải phương trình bậc hai?
Nhập hệ số a,b,c
Tính Delta=b2 - 4ac
Nếu Delta âm thì thông báo PT vô nghiệm, ngược lại tính và đưa ra nghiệm.
Các em hãy vẽ sơ đồ thuật toán giải phương trình bậc 2 (với a?0)
Sau khi tính Delta, tuỳ thuộc vào giá trị Delta, một trong hai thao tác sẽ thực hiện.
Nhập a, b, c
Tính Delta = b2 - 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
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,
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
2. Câu lệnh IF - THEN
- Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh là một lệnh của TP.
Trong đó:
Ví dụ:
IF a mod 2=0 THEN Writeln(` a la so chan`);
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
Ví dụ:
IF a mod 2=0 THEN Writeln(`a là so chan`)
ELSE Writeln(`a la so le`);
Ví dụ 2: Viết câu lệnh kiểm tra số nguyên a, xem a là số chẵn hay số lẻ?
sử dụng dạng thiếu và dạng đầy đủ.
Dạng đầy đủ:
If ................................. then ........................................................
Else ................................................
Dạng thiếu:
If a mod 2 = 0 then writeln (‘ a la so chan ’);
If .............................. then ................ (‘ a la so le ’);
a mod 2 <> 0
writeln
a mod 2 = 0
writeln (‘a la so chan’)
writeln (‘a la so le’ );
Lưu ý: - Sau Then và sau Else chỉ có 1 lệnh chương trình.
- Câu lệnh trước Else không có dấu chấm phẩy(;)
Hãy dùng câu lệnh IF - THEN viết lệnh để xét các trường hợp của DELTA
IF Delta<0 THEN Writeln(`Phương trình vô nghiệm`)
ELSE
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(` Nghiem X1= `, X1:5:1);
Writeln(` Nghiem X2= `, X2:5:1);
Các em quan sát đoạn chương trình và cho biết sau Else có mấy lệnh chương trình?
3. Câu 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;
IF Delta<0 THEN Writeln(`Phương trình vô nghiệm`)
ELSE
BEGIN
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(` Nghiem X1= `, X1:5:1);
Writeln(` Nghiem X2= `, X2:5:1);
END;
Ví dụ:
Program GPTB2;
Uses crt;
Var . . . ;
BEGIN
. . . Nhập vào 3 hệ số a,b,c .. .
Delta :=. . .;
Readln;
END.
Nếu Delta<0 thì Writeln(`PTVN`)
ngược lại Tính và in nghiệm;
4. Một số ví dụ
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ụ 1:
Hãy xác định Input và Output của bài?
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.
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
Em hãy khai báo biến cho bài toán trên?
Viết điều kiện:
Nếu N chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100
thì nhận số ngày của năm nhuận, ngược lại nhận số ngày của năm thường.
Nhập vào NĂM cần tính số lượng ngày
In ra kết quả?
Câu lệnh nào sau đây viết đúng cú pháp?
A. If <điều kiện> then Else ;
B. If <điều kiện> then ; Else
C. If <điều kiện> then Else <điều kiện>;
D. If then <điều kiện>;
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Cho đoạn chương trình sau:
a:=5; b:=10;
x := a;
If a < b Then x := b;
Write(x);
Kết quả X bằng bao nhiêu?
A. 5
B. 10
C. 15
D. 20
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Trong pascal cách viết câu lệnh ghép nào sau đây là đúng?
A. Begin a :=1; b :=2; End.
B. Begin a ;=1, b :=2; End;
C. Begin a :=1; b :=2; End;
D. Begin a :=1; b :=2, End.
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Chọn câu lệnh sai trong các câu lệnh sau:
A. If a < b ; Then x := x + 1;
B. if a < b then x := b - a;
C. if a < b then x := a + b;
D. if a < b then x := a else x := b;
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Sau khi thi hành đoạn chương trình sau , thì biến x viết ra màn hình có giá trị là bao nhiêu ?
Begin
a:= 4 ; b: = 1; x:= 2 ;
If a + b > 6 Then x := x + a + b;
Write(x);
End.
A. 2
B. 7
C. 5
D. 0
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
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;
cấu trúc rẽ nhánh
08/11/2019
Tiết PPCT: 12
1. Rẽ nhánh
Mời các em cùng xem và tìm hiểu các tình huống sau nhé!
ừm, để tớ nghĩ đã.
Nếu ngày mai mưa thì tớ nghỉ.
à! 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é.
Này, ngày mai cậu có đi học nhóm không?
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.
Ví dụ: Giải phương trình bậc hai ax2+bx+c=0 (a?0)
Hãy nêu các bước giải phương trình bậc hai?
Nhập hệ số a,b,c
Tính Delta=b2 - 4ac
Nếu Delta âm thì thông báo PT vô nghiệm, ngược lại tính và đưa ra nghiệm.
Các em hãy vẽ sơ đồ thuật toán giải phương trình bậc 2 (với a?0)
Sau khi tính Delta, tuỳ thuộc vào giá trị Delta, một trong hai thao tác sẽ thực hiện.
Nhập a, b, c
Tính Delta = b2 - 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
IF <Điều Kiện> THEN
Điều kiện
Đúng
Câu lệnh
Nếu <điều kiện> đúng thì
sai
Sai
a. Dạng thiếu
Câu lệnh
Đúng
Câu lệnh
Điều kiện
Điều kiện
2. Câu lệnh IF - THEN
- Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh là một lệnh của TP.
Trong đó:
Ví dụ:
IF a mod 2=0 THEN Writeln(` a la so chan`);
b. Dạng đủ
IF <Điều kiện> THEN
Đ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
Ví dụ:
IF a mod 2=0 THEN Writeln(`a là so chan`)
ELSE Writeln(`a la so le`);
Ví dụ 2: Viết câu lệnh kiểm tra số nguyên a, xem a là số chẵn hay số lẻ?
sử dụng dạng thiếu và dạng đầy đủ.
Dạng đầy đủ:
If ................................. then ........................................................
Else ................................................
Dạng thiếu:
If a mod 2 = 0 then writeln (‘ a la so chan ’);
If .............................. then ................ (‘ a la so le ’);
a mod 2 <> 0
writeln
a mod 2 = 0
writeln (‘a la so chan’)
writeln (‘a la so le’ );
Lưu ý: - Sau Then và sau Else chỉ có 1 lệnh chương trình.
- Câu lệnh trước Else không có dấu chấm phẩy(;)
Hãy dùng câu lệnh IF - THEN viết lệnh để xét các trường hợp của DELTA
IF Delta<0 THEN Writeln(`Phương trình vô nghiệm`)
ELSE
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(` Nghiem X1= `, X1:5:1);
Writeln(` Nghiem X2= `, X2:5:1);
Các em quan sát đoạn chương trình và cho biết sau Else có mấy lệnh chương trình?
3. Câu 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;
IF Delta<0 THEN Writeln(`Phương trình vô nghiệm`)
ELSE
BEGIN
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(` Nghiem X1= `, X1:5:1);
Writeln(` Nghiem X2= `, X2:5:1);
END;
Ví dụ:
Program GPTB2;
Uses crt;
Var . . . ;
BEGIN
. . . Nhập vào 3 hệ số a,b,c .. .
Delta :=. . .;
Readln;
END.
Nếu Delta<0 thì Writeln(`PTVN`)
ngược lại Tính và in nghiệm;
4. Một số ví dụ
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ụ 1:
Hãy xác định Input và Output của bài?
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.
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
Em hãy khai báo biến cho bài toán trên?
Viết điều kiện:
Nếu N chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100
thì nhận số ngày của năm nhuận, ngược lại nhận số ngày của năm thường.
Nhập vào NĂM cần tính số lượng ngày
In ra kết quả?
Câu lệnh nào sau đây viết đúng cú pháp?
A. If <điều kiện> then
B. If <điều kiện> then
C. If <điều kiện> then
D. If
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Cho đoạn chương trình sau:
a:=5; b:=10;
x := a;
If a < b Then x := b;
Write(x);
Kết quả X bằng bao nhiêu?
A. 5
B. 10
C. 15
D. 20
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Trong pascal cách viết câu lệnh ghép nào sau đây là đúng?
A. Begin a :=1; b :=2; End.
B. Begin a ;=1, b :=2; End;
C. Begin a :=1; b :=2; End;
D. Begin a :=1; b :=2, End.
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Chọn câu lệnh sai trong các câu lệnh sau:
A. If a < b ; Then x := x + 1;
B. if a < b then x := b - a;
C. if a < b then x := a + b;
D. if a < b then x := a else x := b;
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
Sau khi thi hành đoạn chương trình sau , thì biến x viết ra màn hình có giá trị là bao nhiêu ?
Begin
a:= 4 ; b: = 1; x:= 2 ;
If a + b > 6 Then x := x + a + b;
Write(x);
End.
A. 2
B. 7
C. 5
D. 0
BÀI TẬP CỦNG CỐ: CHỌN ĐÁP ÁN ĐÚNG
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
 







Các ý kiến mới nhất