Mời các em cùng xem và tìm hiểu. các tình huống sau nhé!.[r]
Trang 2Bài 9
Trang 31 RẼ NHÁNH
Mời các em cùng xem và tìm hiểu các tình huống sau nhé!
Trang 4Để tớ nghĩ đã.
Nếu ngày mai mưa thì
tớ ở nhà học bài.
À! Nếu ngày
mai mưa thì tớ
ở nhà học bài,
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?
Trang 5Nếu
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.
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.
Trang 6Ví dụ: Tìm nghiệm thực của phương trình bậc hai
ax 2 +bx+c=0 (a0)
Hãy nêu các bước giải phương trình bậc hai?
- Tính D=b 2 - 4ac
- Nếu D < 0 thì thông báo
PT vô nghiệm , ngược lai
tính và đưa ra nghiệm
Trang 7Các em hãy xem
sơ đồ thuật toán giải phương trình bậc 2 (với a 0).
Sau khi tính D,
tùy thuộc vào giá
trị D, một trong
hai thao tác sẽ
thực hiện.
Nhập a, b, c Tính D= b 2 – 4ac
Kiểm tra
D < 0
Tính và đưa
ra nghiệm Thông báo vô nghiệm
Kết thúc
Trang 8IF <đ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
2 Câu lệnh IF - THEN
- Đ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’);
Trang 9b 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ệnh 1> đượ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 la so chan’)
ELSE Writeln(‘a la so le’);
Trang 10Ví du: Để tìm số lớn nhất (max) trong hai số a và
b.
Cách 1: sử dụng if-then thiếu
max:=a;
if b>a then max:=b;
Cách 2: sử dụng if-then đủ
if b>a then max:=b else max:=a;
Trang 113 CÂU LỆNH GHÉP
Trong 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ó dang:
begin
< các câu lệnh>;
end;
begin
< các câu lệnh>;
end;
IF D<0 THEN Writeln(‘Phuong trinh vo nghiem.’)
ELSE
BEGIN X1:= (-b- sqrt(D))/(2*a);
X2:= -b/a-X1;
Writeln(‘ X1= ’, X1:5:1, ‘ X2=’, X2:5:1);
Ví dụ:
Trang 123 CÂU LỆNH GHÉP
Hãy cho biết các lệnh sau đúng hay sai? Vì sao?
if i=j then
if j=k then writeln(‘i=k’) else writeln(‘i<>j’);
if i=j then
if j=k then writeln(‘i=k’) else writeln(‘i<>j’);
Đúng là:
-Lưu ý:
if i=j then begin
if j=k then writeln(‘i=k’);
end else writeln(‘i<>j’);
if i=j then begin
if j=k then writeln(‘i=k’);
end else writeln(‘i<>j’);
Trang 134 MỘT SỐ VÍ DỤ
Ví dụ 1:
Tìm nghiệm thực của phương trình bậc hai
ax 2 +bx+c=0 (a0)
Trang 14Hã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 cho 4 nhưng không chia hết cho 100.
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
Trang 15Em 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
Nhập vào Năm cần tính số ngày.
In ra kÕt qu¶?
Trang 165 CỦNG CỐ