Rẽ nhánhVí dụ 1: Nếu em trả lời tốt các câu hỏi thì thầy sẽ cho em điểm 10 Ví dụ 2: Nếu trời mưa thì chúng em tập bóng chuyền trong phòng tập nếu không thì chúng em tập ngoài trời... V
Trang 1TRƯỜNG THPT NGUY N XUÂN ÔN ỄN XUÂN ÔN
Trang 21 Rẽ nhánh
Ví dụ 1:
Nếu em trả lời tốt các câu hỏi thì thầy sẽ cho em điểm 10
Ví dụ 2:
Nếu trời mưa thì chúng em tập bóng chuyền trong phòng tập nếu không thì
chúng em tập ngoài trời
Trang 3Ví dụ 2: Thuật toán giải phương trình bậc hai
dưới dạng sơ đồ khối
0
2
bx c
ax
) 0 ( a
1 Rẽ nhánh
Trang 4Câu 1: Câu lệnh If-then nào dưới đây viết đúng cú pháp (với a, b là số
nguyên)
a) If a>b then a:=b;
b) If a then a>b, a:=b;
c) If-then(a>b,a:=b);
Câu 2: Lệnh nào dưới đây viết đúng cú pháp (với A là số nguyên)
A If A then A:=10 else A:=0;
B If A < 10; then A:=10; else A:=0;
C If A < 10 then A:=10 else A:=0;
D If A < 10 then A:=10; else A:=0;
2 Cấu trúc if - then
Trang 5Điều kiện Câu lệnh
2 Cấu trúc if - then
Câu lệnh 2
Đ
S
Đ
S
Trang 6Điều kiện Điều kiện Đ Câu lệnh Câu lệnh
S
Điều kiện
Trang 7Điều kiện Câu lệnh 1
Câu lệnh 2
Câu lệnh 1
Câu lệnh 2
S
Điều kiện
Trang 8Ví dụ 3: Sử dụng câu lệnh if – then dạng thiếu để viết lệnh cho các câu sau:
Nếu X chia hết cho 2 thì đưa ra thông báo X là số chẵn
Nếu X không chia hết cho 2 thì đưa ra thông báo X là số lẽ
Ví dụ 4: Em hãy sử dụng câu lệnh if – then dạng đủ để viết hai câu lệnh ở
ví dụ 3 thành một câu lệnh
If X mod 2 = 0 then writeln(‘X la so chan’);
If X mod 2<> 0 then writeln(‘X la so le’);
If X mod 2 = 0 then writeln(‘X la so chan ’)
Else writeln(‘X la so le’);
Ví dụ 5: Chương trình sau đây kiểm tra số X là chẵn hay lẽ, nếu lẽ thì hiện ra giá
trị của X.
Trang 9Nhóm 1: Em hãy sử dụng cấu trúc if – then dạng thiếu và dạng đủ để viết câu lệnh
cho các câu sau:
Nếu X lớn hơn không thì X là số dương
Nếu X lớn hơn không thì X là số dương ngược lại X là số âm
Nhóm 2:
Em hãy sử dụng cấu trúc if – then dạng thiếu để viết câu lệnh cho các câu sau:
Nếu D nhỏ hơn 0 thì đưa ra thông báo phương trình vô nghiệm
Nhóm 3:
Em hãy sử dụng cấu trúc if – then dạng thiếu để viết câu lệnh cho các câu sau:
Nếu D bằng 0 thì tính và đưa ra thông báo phương trình có nghiệm kép
Trang 10Program Giai_PTB2;
Var a, b, c:real;
D, x1, x2: real;
Begin
write(‘a,b,c:’); readln(a,b,c);
D:=b*b – 4*a*c;
if D<0 then writeln(‘phuong tinh vo nghiem’);
If D=0 then writlen(‘phuong trinh co nghiem kep x=‘,-b/(2*a):6:2);
if D>0 then
Begin
x1:=(-b-sqrt(D))/(2*a); x2:=-b/a – x1;
writeln(‘x1= ‘,x1:8:3,’ x2= ‘,x2:8:3);
end;
Readln;
End.
Trang 11Program Giai_PTB2;
Var a, b, c:real;
D, x1, x2: real;
Begin
write(‘a,b,c:’); readln(a,b,c);
D:=b*b – 4*a*c;
if D<0 then writeln(‘phuong tinh vo nghiem’)
else
begin
If D=0 then writlen(‘phuong trinh co nghiem kep x=‘,-b/(2*a):6:2) else
Begin
x1:=(-b-sqrt(D))/(2*a); x2:=-b/a – x1;
writeln(‘x1= ‘,x1:8:3,’ x2= ‘,x2:8:3);
Trang 12Câu 1 Câu lệnh If-then nào dưới đây
viết đúng cú pháp
a) If a>b then a:=b;
b) If-then a>b, a:=b;
c) If-then(a>b,a:=b);
d) If (a>b) then a:=b;
Câu 3 Xét lệnh:
if a>b then writeln(a);
Hỏi nếu a=7; b=6; thì lệnh trên đưa
ra màn hình gì?
a) Không đưa ra gì;
b) Đưa ra số 6;
c) Đưa ra số 7;
d) Đưa ra số 67;
Câu 4 Xét lệnh
If a > b then a:=a-b else a:=b-a;
Phát biểu nào dưới đây đúng?
A Sau khi thực hiện lệnh If-then-else trên thì a ≥ 0;
B Sau khi thực hiện lệnh If-then-else trên thì a > 0;
C Sau khi thực hiện lệnh If-then-else trên thì a ≤ 0;
Câu 2 Cho đoạn chương trình sau:
Readln (a, b );
If a mod b <> 0 then writeln (a,’ Khong chia het cho ‘, b)
Else writeln (a,’ chia het cho ‘, b);
Nhận xét đoạn chương trình trên cho kết quả như thế nào nếu ta cho a=
10, b=2 10 chi het cho 2
Trang 13a Dạng thiếu :
If <điều kiện> then <câu lệnh>;
b Dạng đủ :
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
1 Câu lệnh If - then
2 Câu lệnh ghép