nhà Ngọc và điều kiệnkiện là Nếu mưa thỏa mãn Câu nóikhông của Châu có đến đề cập việc sẽkhi Câu nói của Châu đề cập việcđến gì sẽ xảygìra xảy ra khi điềuthỏa kiệnmãn đó không được thỏa [r]
Trang 1Gi¸o ¸n ®iƯn tư tin häc líp 11
Tiết 11:
Ngô Thái Gil _THPT Phú Hưng
Trang 2Mục tiêu:
1 Về kiến thức:
- Phát biểu được nội dung và nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán
- Sử dụng được cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
2 Về kỹ năng:
- Phân biệt và sử dụng được câu lệnh rẽ nhánh ở 2 dạng:
dạng thiếu và đầy đủ
- Viết được các câu lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ và áp dụng để thực hiện được thuật toán của một bài
toán đơn giản
Trang 3Gi¸o ¸n ®iÖn tö tin häc líp 11
Trang 4Mêi c¸c b¹n cïng xem vµ t×m hiÓu c¸c t×nh huèng sau nhÐ!
Trang 5Một lần Châu hẹn với Ngọc: ”Chiều mai nếu trời không mưa thì Châu sẽ đến nhà Ngọc”.
Câu nói của Châu cho biết việc làm cụ thể nào? Và điều kiện đó là gì ?
Câu nói của Châu có đề cập đến việc gì sẽ xảy ra khi điều kiện đó không được thỏa mãn không ?
Ta nói cách diễn đạt như vậy thuộc dạng thiếu:
Nếu…thì…
Nhận xét:
Tình Huoáng 1:
Câu nói của Châu cho biết việc làm cụ thể Châu sẽ đến nhà Ngọc và điều kiện là Nếu trời không mưa (thỏa mãn) Câu nói của Châu không đề cập đến việc gì sẽ xảy ra khi điều kiện đó không được thỏa mãn (trời mưa)?
Trang 6Tình Huoáng 2:
Ngọc hẹn với Châu : “Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, nếu mưa thì sẽ gọi điện cho Châu
để trao đổi ”.
Câu nói của Ngọc khẳng định hai việc cụ thể gì ?
Có khi nào cả hai việc cùng được thực hiện không? Vậy mỗi việc sẽ được thực hiện khi nào?
Ta nói cách diễn đạt như vậy thuộc dạng đủ:
Nếu…thì…, nếu không thì…
Nhận xét
?
?
?
Câu nói của Ngọc khẳng định hai việc cụ thể Ngọc sẽ đến nhà Châu và Ngọc gọi điện cho Châu để trao đổi
Cả hai việc không thể thực hiện cùng 1 thời điểm Tuy nhiên việc nào trong 2 việc sẽ được thực hiện tùy thuộc vào điều kiện cụ thể.
Mỗi việc sẽ được thực hiện khi trời không mưa thì Ngọc
sẽ đến nhà Châu Nếu trời mưa sẽ gọi điện cho Châu.
Trang 7Nếu… thì….
Nếu…thì…, nếu không thì…
Một việc làm cụ thể sẽ diễn
ra nếu một điều kiện cụ thể
được thỏa mãn
Hai việc làm cụ thể chắc chắn sẽ diễn ra tùy thuộc điều kiện cụ thể có thỏa mãn hay không
Cấu trúc dùng đề mô tả các mệnh đề như trên gọi là
cấu trúc rẽ nhánh
Cấu trúc dùng đề mô tả các mệnh đề như trên gọi là
cấu trúc rẽ nhánh
Trang 8Rẽ nhánh là một điều khiển chọn thực hiện hay không thực hiện một
công việc phù hợp với một điều kiện đang xảy ra
Ví dụ: Giải phương trình bậc hai ax 2 + bx + c =0, (a # 0)
Trình bày các bước giải của phương trình trên trong toán học ?
Trình bày các bước viết chương trình để tìm nghiệm của phương trình trên trong pascal ?
Nhập a, b, c D= b 2 -4ac
D≥ 0
Thông báo vô nghiệm, rồi kết thúc
Tính và đưa ra nghiệm thực, rồi kết thúc
Đ S
ng îc l¹i tÝnh vµ ® a ra nghiÖm.
Trang 9IF <Điều kiện> THEN <Câu lệnh>;
Điều kiện
Đúng
Câu lệnh
Nếu <điều kiện> đúng thì <câu lệnh> đ ợc thực hiện,
sai <câu lệnh> 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 là biểu thức lôgic.
- Câu lệnh là một lệnh của Pascal.
Trong đó:
Ví dụ: IF a mod 2=0 THEN Writeln( a la so chan );‘a la so chan’); ’);
Trang 10b Dạng đủ IF <Điều kiện> THEN <Câu lệnh 1> ELSE <Câu lệnh 2>;
Đ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âu lệnh1> đ ợc thực hiện,
ng ợc lại thì <câu lệnh 2> đ ợ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 )‘a la so chan’); ’);
ELSE Writeln( a la so le );‘a la so chan’); ’);
Trang 11H y dùng câu lệnh ã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( Phuong trinh vo nghiem )‘Phuong trinh vo nghiem’) ’)
ELSE
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln( Nghiem X1= , X1:5:1);‘Phuong trinh vo nghiem’) ’)
Writeln( Nghiem X2= , X2:5:1);‘Phuong trinh vo nghiem’) ’)
Nếu Delta âm thì thông báo PT vô nghiệm,
ng ợc lại tính và đ a ra nghiệm.
Trang 12Trong Pascal 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;
BEGIN
< C¸c c©u lÖnh>;
END;
IF Delta<0 THEN Writeln( Phuong trinh vo nghiem )‘Phuong trinh vo nghiem’) ’)
ELSE
BEGIN
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln( Nghiem X1= , X1:5:1);‘Phuong trinh vo nghiem’) ’)
Writeln( Nghiem X2= , X2:5:1);‘Phuong trinh vo nghiem’) ’)
END;
VÝ dô:
{
1 Lệnh
Trang 13Ví dụ 1:
Số thực a (được nhập từ bàn phím) nếu a > 0 thì in ra màn hình “a là số dương”.
Xác định bài toán:
Input: số a Output: a là số dương nếu a>0
Dữ liệu: a: kiểu thực
Nhập số a
Kết thúc
a > 0
đúng
sai
a là số dương
Sơ đồ khối
if (a > 0) then writeln(a, ‘ la so duong');
Trang 14Program VD1;
Uses Crt;
Var a: real;
Begin
Write(‘Nhap gia tri a=’); Readln(a);
write(a,’ la so duong’);
Readln
End.
Nhập số a
Kết thúc
a > 0
đúng
sai
a là số dương
•Mô tả bằng Pascal
Trang 15Ví dụ 2: Xác định số nguyên a (được nhập từ bàn phím) là số chẵn hay số lẻ
Xác định bài toán:
Input: số nguyên a
Output: a là số chẵn hoặc a là số lẻ
Dữ liệu: a: kiểu ngyên
Nhập số a
a mod 2 = 0
Kết thúc
đúng sai
NÕu a chia hÕt cho 2 th× a lµ sè
ch½n ng îc l¹i a lµ sè lÎ
Trang 16Program vidu2;
Uses crt;
Var N: integer;
Begin
Write(‘Hay nhap vao gia tri N =’);
Readln(N);
else write(a, ‘la so le’);
Readln
End.
chẵn hay số lẻ
Trang 17Hãy 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ác câu lệnh>;
IF <điều kiện> THEN <Câu
lệnh>;
IF <điều kiện> THEN <Câu lệnh
1>
lệnh2>;