CÊu tróc rÏ nh¸nh.[r]
Trang 1c©u lÖnh ®iÒu kiÖn
Bµi 6
Gi¸o ¸n ®iÖn tö tin häc líp 8
NÕu
th×
Trang 2NÕu th×
NÕu … th×…, nÕu kh«ng th×
Trang 3Mô tả hoạt động tính tiền cho khách nh sau:
1 Tính tổng số tiền T khách hàng đã mua
Ví dụ 1 : Một hiệu sách thực hiện đợt khuyến mãi với nội dung sau Nếu khách
mua với số tiền từ 100000 trở lên sẽ đ ợc giảm giá 30%
2 Nếu T>= 100000 thì số tiền phải thanh toán
= 70%*T
3 Tính số tiền khách hàng tiếp theo
Ví dụ trên thể hiện cấu trúc rẽ nhánh dạng thiếu
Trang 4Mô tả hoạt động tính tiền cho khách nh sau:
1 Tính tổng số tiền T khách hàng đã mua
Ví dụ 2 : Một hiệu sách thực hiện đợt khuyến mãi với nội dung sau Nếu khách
mua với số tiền từ 100000 trở lên sẽ đ ợc giảm giá 30% và d ới
100000 giảm giá 10%
2 Nếu T>= 100000 thì số tiền phải thanh
toán = 70%*T, ng ợc lại số tiền phải thanh toán =90%*T
3 Tính số tiền khách hàng tiếp theo
Ví dụ trên thể hiện cấu trúc rẽ nhánh dạng đủ
Trang 5Sơ đồ cấu trúc rẽ nhánh
Trang 6IF <Đ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ì thực hiện <câu lệnh> sau từ khoá Then,
sai <câu lệnh> bị bỏ qua.
Trang 7VÝ dô 1: NÕu X>5 th× in gi¸ trÞ cña X ra mµn h×nh
IF X>5 Then Writeln('Gia tri cua X=',X);
VÝ dô 2: Gi¶m gi¸ 30% cho kh¸ch hµng mua víi sè tiÒn T >=100000
IF T>=100000 Then ST:=70/100*T
VÝ dô 3: NÕu Delta<0 th× in ra mµn h×nh PT vo nghiem
IF delta<0 Then Writeln( Phuong trinh vo nghiem ); ‘ ’
Trang 8IF <Điều kiện> THEN <Câu lệnh 1> ELSE < Câu lệnh 2>;
Điều kiện
Câu lệnh 1
Điều kiện
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.
Trang 9IF a mod 2=0 THEN Writeln( a lµ so chan ) ‘ ’
xem a lµ sè ch½n hay sè lÎ
Trang 10Lưu ý:
+ Nếu đằng sau THEN có nhiều hơn 2 câu lệnh cần thực hiện thì các câu lệnh đ ợc đặt trong khối lệnh BEGIN … END;
Ví dụ 1: Nếu a lớn hơn b thì tăng biến a lên 1 đơn vị
Trang 11Điều kiện phức hợp là liên kết các điều kiện đơn giản bằng các phép toán logic: AND ( và), OR( hoặc) ,
NOT( phủ định)
Ví dụ 2: nếu a lớn hơn b và lớn hơn 80 thì in a ra màn hình
If (a>b) and (a>80) then write(a);
Tức là a phải thoả mãn đồng thời 2 điều kiện thì thực
hiện in a ra màn hình
Ví dụ 3: nếu a lớn hơn b hoặc a lớn hơn 80 thì in a ra màn
hình
If (a>b) or (a>80) then write(a);
Tức là a chỉ cần thoả mãn 1 trong 2 điều kiện thì thực hiện in a ra màn hình
Lưu ý:
Trang 12• Điều kiện phức hợp là liên kết các điều
kiện đơn giản bằng các phép toán
logic: AND ( và), OR( hoặc) ,
NOT( phủ định)
• Ví dụ 2: nếu a lớn hơn b và lớn hơn 80 thì in a
ra màn hình
If (a>b) and (a>80) then write(a);
Tức là a phải thoả mãn đồng thời 2 điều kiện
thì thực hiện in a ra màn hình
Trang 13BÀI TẬP
Trang 15Program bai1;
Var a: integer;
Begin
writeln(‘nhap so a:’); readln(a);
If a mod 2 = 0 then writeln(‘So‘,a,’la so chan’) else writeln(‘So ’,a,’ la so le’);
Readln;
End
Trang 16Bài 2: Nhập số nguyên a và b, sau
đó so sánh hai số và in ra màn hình kết quả?
Ví dụ:
Nhập a = 3; b =9 thì in ra màn hình dòng chữ: So a nho hon so b
Hoặc nhập a = 8; b = 8 thì in ra màn hình dòng chữ: Hai so bang nhau
Trang 17if a>b then writeln(‘so a lon hon so b’);
if a=b then writeln(‘hai so bang nhau’);
if a<b then writeln(‘so a nho hon so b’);Readln;
End.
Cách 1
Trang 18If a>b then writeln(‘so a lon hon so b’) else
If a=b then writeln(‘hai so bang nhau’)
else writeln(‘so a nho hon so b’);
Readln;
End.
Cách 2
Trang 19If a>b then writeln(‘so a lon hon so b’) else
If a=b then writeln(‘hai so bang nhau’)
else writeln(‘so a nho hon so b’);
Trong đoạn chương trình tham khảo trên
lồng nhau
If <điều kiện 1> then <câu lệnh 1> else
if <điều kiện 2> then <câu lệnh 2>
else <câu lệnh 3>;
Trang 20Bài 3: Nhập ba số dương a,b,c từ bàn phím và in ra màn hình kết quả kiểm tra ba số đó có phải độ dài ba cạnh của một tam giác hay không?
Ý tưởng:
Ba số dương a,b,c là độ dài 3 cạnh của một tam giác khi và chỉ khi tổng
độ dài 2 cạnh lớn hơn một cạnh
Trang 21Tham khảo SGK – trang 54
Program bai3;
Var a,b,c: real;
Begin
write(‘Nhap ba so a,b,c la:’); readln(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then
writeln(‘a,b,c la do dai 3 canh cua mot tam
3 canh cua mot tam giac’);
Readln
End.