Caáu truùc duøng ñeå moâ taû caùc meänh ñeà coù daïng nhö theá ñöôïc goïi laø. CAÁU TRUÙC REÕ NHAÙNH D NG THIEÁU VAØ ÑUÛ Ạ[r]
Trang 1GIÁO ÁN ĐIỆN TỬ MÔN TIN HỌC LỚP 11
Trang 2Bài 9
GIÁO ÁN ĐIỆN TỬ MÔN TIN HỌC LỚP 11
CẤU TRÚC RẼ NHÁNH
Trang 31 RẼ NHÁNH
Thường ngày, có rất nhiều việc chỉ được thực hiện khi một điều kiện cụ thể nào đó được thoả mãn.
Mời các bạn cùng xem và tìm hiểu tình huống sau nhé!
Trang 4Pinochio ơi, chiều
mai cậu đến nhà
mình làm bài tập
không? Để tớ suy nghĩ tí đã nhé
À mà, chiều mai nếu
trời không mưa thì tớ sẽ đến nhà cậu, nếu không thì tớ sẽ gọi điện cho cậu
để trao đổi nhé.
?!?!
Chiều mai, nếu trời không mưa thì tớ sẽ đến nhà cậu.
Trang 5Cấu trúc dùng để mô tả các mệnh đề có dạng như thế được gọi là
CẤU TRÚC RẼ NHÁNH D NG THIẾU VÀ ĐỦ Ạ
Cấu trúc dùng để mô tả các mệnh đề có dạng như thế được gọi là
CẤU TRÚC RẼ NHÁNH D NG THIẾU VÀ ĐỦ Ạ
NÕu … th×
nÕu kh«ng th×
…
Trang 6Xác định hệ số a, b, c (a ≠ 0) Tính biệt số Delta: D = b2 - 4ac
Nếu D âm thì thông báo phương trình vô nghiệm.
Nếu D không âm thì tính và đưa ra các nghiệm.
Xét ví dụ ứng dụng
Ví dụ : Giải phương trình bậc hai:
ax2+bx+c=0 (a 0)
Các em hãy cho biết các bước giải phương trình
bậc hai ở trên?
Trang 7Như vậy, sau khi
tính Delta D, tuỳ
thuộc vào giá trị
của D, một trong
hai thao tác sẽ
được thực hiện
Nhập a, b, c
D b2 – 4ac
D ≥ 0 ?
Thông báo vô nghiệm Tính và rồi đưa ra nghiệm thực
Kết thúc
Sơ đồ thuật toán mô tả giải phương trình bậc 2 (a 0)
Trang 8IF < điều kiện > THEN < câu lệnh >;
SAI
a) Dạng thiếu
ĐÚNG CÂU LỆNH
ĐIỀU KIỆN
Điều kiện là biểu thức logic.
Câu lệnh là một câu lệnh của Pascal.
Trong đó:
Ví dụ: IF D < 0 THEN Write(‘ phuong trinh vo nghiem’);
2 CÂU LỆNH IF-THEN
Nếu < điều kiện > đúng thì < câu lệnh > được thực hiện,
sai thì < câu lệnh > bị bỏ qua.
Trang 9IF < điều kiện > THEN < câu lệnh 1 > ELSE < câu lệnh 2 >;
b) Dạng đủ
Điều kiện là biểu thức logic.
Câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal.
Trong đó:
Ví dụ: IF D < 0 THEN Write(‘ phuong trinh vo nghiem’)
ELSE Write(‘phuong trinh co nghiem’);
2 CÂU LỆNH IF-THEN (tt)
Nếu < điều kiện > đúng thì < câu lệnh 1 > được thực hiện, sai thì < câu lệnh 2 > được thực hiện.
CÂU LỆNH 1
ĐIỀU KIỆN
CÂU LỆNH 2
Trang 10< C¸c c©u lƯnh>;
END;
BEGIN
< C¸c c©u lƯnh>;
END;
3 CÂU LỆNH GHÉP
Sau từ khoá (then hoặc else) phải là một câu lệnh.
Trong trường hợp nhiều lệnh thì trong Turbo Pascal cho phép gộp nhiều câu lệnh thành một câu lệnh ghép (hay câu lệnh hợp thành), thường nó có dạng:
IF D<0 THEN Writeln(‘Phuong trinh vo nghiem’) ELSE
BEGIN
X1:= (-B + SQRT(D))/(2*A); X2:= (-B - SQRT(D))/(2*A); END;
VÍ DỤ
Trang 114 BÀI TẬP ÁP DỤNG
Ví dụ 1 : Hoàn thành
ví dụ giải phương
trình bậc 2.
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 “Phuong trinh vo nghiem”
Lập trình
Hãy xác định INPUT và OUTPUT của bài toán?
PROGRAM GiaiPTB2;
VAR a,b,c,D,x1,x2 : REAL;
BEGIN
WRITE ( ‘Nhap a, b, c:’);
READLN (a, b, c);
D := b*b – 4*a*c;
IF D<0 THEN WRITE ( ‘phuong trinh vo ngiem’) ELSE
BEGIN
x1 := (-b + sqrt(D)) / (2*a);
x2 := -b/a – x1;
WRITELN ( ‘x1=’, x1, ‘x2=’, x2);
END ; READLN
END
Trang 124 BÀI TẬP ÁP DỤNG
Ví dụ 1 : Hoàn thành
ví dụ giải phương
trình bậc 2.
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 “Phuong trinh vo nghiem”
Lập trình
PROGRAM GiaiPTB2;
VAR a,b,c,D,x1,x2 : REAL;
BEGIN
WRITE ( ‘Nhap a, b, c:’);
READLN (a, b, c);
D := b*b – 4*a*c;
IF D < 0 THEN WRITE ( ‘phuong trinh vo ngiem’);
IF D >= 0 THEN
BEGIN
x1 := (-b + sqrt(D)) / (2*a);
x2 := -b/a – x1;
WRITELN ( ‘x1=’, x1, ‘x2=’, x2);
END ; READLN
END
Trang 13Nếu a ≠ 0 thì tính và đưa ra nghiệm.
Nếu a = 0 ta xét giá trị của b:
- Nếu b = 0 thì thông báo phương trình có vô số nghiệm.
- Nếu b = 0 thì thông báo phương trình vô nghiệm.
Bài tập
Ví dụ : Giải và biện luận phương trình : ax + c = 0
Các em hãy cho biết các bước giải và biện luận
phương trình ở trên?
Trang 144 BÀI TẬP ÁP DỤNG
Ví dụ 2: Cho phương
trình ax + b = 0
Hãy giải và biện luận
phương trình trên.
Input : Các hệ số a,b nhập vào từ bàn phím.
Output : Đưa ra màn hình kết quả nghiệm hoặc đưa ra thông báo về kết quả nghiệm.
Lập trình
Hãy xác định INPUT và OUTPUT của bài toán?
PROGRAM Giai_bien_luan_PT;
VAR a,b,x : real;
BEGIN
write (‘Nhap a, b:’);
readln (a, b);
IF (a<>0) THEN BEGIN
x := -b/a;
write (‘x =’, x);
END ;
IF (a=0) and (b=0) THEN write (‘pt co vsn’);
IF (a=0) and (b<>0) THEN write (‘ptvn’);
readln
END
Trang 15Điều kiện để ba số a, b, c là độ dài ba cạnh của một tam giác là tổng độ dài hai cạnh phải lớn hơn cạnh còn lại.
Nghĩa là: (a + b > c) và (a + c > b) và (b + c > a)
Bài tập
Ví dụ : Cho ba số tự nhiên a, b, c
Các em hãy cho biết điều kiện để a, b, c là độ dài
ba cạnh của một tam giác?
Trang 164 BÀI TẬP ÁP DỤNG
Ví dụ 3 : Cho ba số tự
nhiên a, b, c Hãy kiểm
tra xem chúng có phải
độ dài ba cạnh của một
tam giác hay không?
Nếu đúng thì tính chu vi
tam giác.
Input : Các hệ số a, b, c nhập vào từ bàn phím.
Output : Đưa ra màn hình chu vi tam giác hoặc thơng báo “a,b,c khơng phải
độ dài ba cạnh của tam giác”
Lập trình
Hãy xác định INPUT và OUTPUT của bài toán?
PROGRAM GiaiPTB2;
VAR a,b,c : byte;
CV : word;
BEGIN
write (‘Nhap a, b, c:’);
readln (a, b, c);
IF (a+b>c) and (a+c>b) and (b+c>a) THEN
BEGIN
CV := a+b+c;
write (‘Chu vi tam giac =’, CV );
END ;
IF (a+b<=c) or (a+c<=b) and (b+c<=a) THEN write (‘a, b, c khong phai do dai ba canh cua tam giac’);
readln
END
Trang 17CỦNG CỐ
Cấu trúc mô tả các mệnh đề có dạng:
Đây là câu lệnh rẽ nhánh.
Lệnh rẽ nhánh dạng thiếu:
Lệnh rẽ nhánh dạng đủ:
IF < điều kiện > THEN < câu lệnh >;
IF < điều kiện > THEN < câu lệnh 1 > ELSE < câu lệnh 2>;
Câu lệnh ghép:
BEGIN <các câu lệnh>;
END;
BEGIN
END;
Trang 18KẾT THÚC BÀI HỌC