TRƯỜNG THPT NGUYỄN XUÂN ÔN
Giáo viên thực hiện:
Hoàng Xuân Thắng
1. 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
1. Rẽ nhánh
Ví dụ 2: Thuật toán giải phương trình bậc hai ax 2 +bx+ c = 0
(a ≠ 0)
dưới dạng sơ đồ khối.
S
Đ
2. Cấu trúc if - then
Câ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
Dạng thiếu
Điều kiện
S
Dạng đủ
Đ
Câu lệnh
Đ
Điều kiện
S
Câu lệnh 2
Câu lệnh 1
Điều kiện
S
Đ
Câu lệnh
Điều kiện
S
Câu lệnh 2
Đ
Câu lệnh 1
Ví 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ẽ
If X mod 2 = 0 then writeln(‘X la so chan’);
If X mod 2<> 0 then writeln(‘X la so le’);
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 ’)
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.
Nhó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
Nhóm 4:
Em hãy sử dụng cấu trúc if – then dạng thiếu để viết câu lệnh cho câu sau:
Nếu D lớn hơn 0 thì tính và đưa ra 2 nghiệm của phương trình bậc hai
Program 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.
Program 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);
end;
end;
Readln;
End.
Câ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 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
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;
D. Sau khi thực hiện lệnh If-then-else trên
thì a < 0.
1. Câu lệnh If - then
a. 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>;
2. Câu lệnh ghép
Begin
<các câu lệnh>;
end;