Then nhánh If ..Then để mô tả việc rẽ nhánh t ơng ứng với 2 loại mệnh đề rẽ nhánh nh sau... Nếu là True đúng thì câu lệnh đ ợc thực hiện, nếu điều kiện sai thì không thực hiện gì.
Trang 2I Bài mới:
1. Lý thuyết : Câu lệnh If Then
nhánh If Then để mô tả việc rẽ nhánh t ơng ứng với 2 loại mệnh đề rẽ nhánh nh sau.
Trang 3a- Cú pháp 1: ( Hay còn gọi là dạng thiếu) ( Hay còn gọi là dạng thiếu)
If < Điều kiện> Then <Câu lệnh>; If < Điều kiện> Then <Câu lệnh>;
* Điều kiện: Điều kiện: Là biểu thức quan hệ hoặc logic
* Câu lệnh: Là 1 câu lệnh của Pascal
ý nghĩa của câu lệnh: ý nghĩa của câu lệnh:
Ch ơng trình kiểm tra giá trị của điều kiện Nếu là True (đúng) thì câu lệnh đ ợc thực hiện, nếu điều kiện sai thì không thực hiện gì.
Ví dụ: If ( X mod 2 =0) Then
Write(x , la so chan ); Write(x , la so chan );’, la so chan’);’, la so chan’); ’, la so chan’);’, la so chan’);
Trang 4b- Cú pháp 2 : ( Hay còn gọi là dạng đủ)
If <điều kiện> Then
< Câu lệnh1>
ELSE
< Câu lệnh2>;
* ý nghĩa của câu lệnh:
Ch ơng trình kiểm tra giá trị của điều kiện Nếu là True (đúng) thì
lệnh1 đ ợc thực hiện, ng ợc lại nếu là False (sai) thì lệnh 2 đ ợc thực
* Điều kiện: Điều kiện: Là biểu thức quan hệ hoặc logic
* Câu lệnh 1, câu lệnh 2: Là 1 câu lệnh của Pascal
Trang 5* Chó ý: Tr íc c©u lÖnh ELSE kh«ng cã dÊu ;
VÝ dô: If Delta < 0 Then
Write( PT vo nghiem ) Else Write( PT vo nghiem ) Else‘PT vo nghiem’) Else‘PT vo nghiem’) Else ’, la so chan’);’, la so chan’);
Write( PT Co nghiem ); Write( PT Co nghiem );‘PT vo nghiem’) Else‘PT vo nghiem’) Else ’, la so chan’);’, la so chan’);
VÝ dô 1 : T×m gi¸ trÞ lín nhÊt Max cña hai sè nguyªn a vµ b.
ThuËt to¸n:
C¸ch 1: ¸p dông có ph¸p 1 d¹ng thiÕu
- G/sö Ta g¸n Max:=a;
- If b>a Then max:=b;
Trang 6Program Max_1;
Var a,b,Max: Integer;
Begin
Writeln(‘PT vo nghiem’) Elsenhap vao a va b=‘PT vo nghiem’) Else);Readln(a,b);
Max:=a;
If b>a Then Max:=b;
Write(‘PT vo nghiem’) Else Gia tri lon nhat Max la:’, la so chan’);, Max:4:1); Readln;
End.
Trang 7Cách 2: áp dụng cú pháp 2 dạng đủ
If a>b Then Max:=a Else Max:=b;
Program Max_2;
Var a,b,Max: Integer;
Begin
Writeln(‘PT vo nghiem’) Elsenhap vao a va b=‘PT vo nghiem’) Else);Readln(a,b);
If a>b Then Max:=a
Else
Max:=b;
Write(‘PT vo nghiem’) Else Gia tri lon nhat Max la:’, la so chan’);, Max:4:1);
Readln;
End
Trang 8VÝ dô 2:
LËp tr×nh nhËp vµo tõ bµn phÝm 3 sè nguyªn
a,b,c, in ra sè lín nhÊt.
ThuËt to¸n :
- Max:=a;
- If max<b then max:=b;
- If max<c then max:=c;
Trang 9Var a,b,c,max: integer;
Begin
Writeln(‘PT vo nghiem’) Else Nhap vao 3 so nguyen a,b,c’, la so chan’););
Readln(a,b,c);
Max:=a;
If Max<b then Max:=b;
If Max<c then Max:=c;
Writeln(‘PT vo nghiem’) Elseso lon nhat trong 3 so la:’, la so chan’);, max:4:1);
Readln;
end.
Trang 10VÝ dô 3:
ViÕt ch ¬ng tr×nh gi¶i ph ¬ng tr×nh bËc hai
ax2 + bx + c = 0 víi a ≠ 0
ThuËt to¸n:
- If Delta<0 then pt v« nghiÖm
Trang 11
Var a,b,c,delta,x1,x2:real;
Begin
Writeln(‘PT vo nghiem’) Else nhap vao a,b,c’, la so chan’););readln(a,b,c);
Delta:=b*b – 4*a*c;
If delta<0 then write(‘PT vo nghiem’) Else PT vo nghiem’, la so chan’);) Else
If delta=0 then write(‘PT vo nghiem’) ElsePT co nghiem kep x=‘PT vo nghiem’) Else,-b/(2*a)) Else Begin
Write(‘PT vo nghiem’) ElsePT co hai nghiem’, la so chan’););
X1:=(-b+sqrt(delta))/(2*a);
X2:=(-b-sqrt(delta))/(2*a);
Write(‘PT vo nghiem’) Else nghiem x1=‘PT vo nghiem’) Else,x1);
Write(‘PT vo nghiem’) Else nghiem x2=‘PT vo nghiem’) Else,x2); End; End
Trang 12Bµi tËp 1
ViÕt ch ¬ng tr×nh gi¶i ph ¬ng tr×nh bËc nhÊt
ax +b=0
Var a,b,x: real;
Begin
Write(‘PT vo nghiem’) Elsenhap vao a,b’, la so chan’););readln(a,b);
If a=0 then
If b<> 0 then write(‘PT vo nghiem’) ElsePT vo nghiem’, la so chan’);) else
Write(‘PT vo nghiem’) ElsePT co vo so nghiem’, la so chan’);) Else
Trang 13
NhËp sè nguyªn d ¬ng X, in ra kÕt qu¶ cho biÕt sè cã chia hÕt cho 3 hay 7 kh«ng.
ThuËt to¸n :
§Ó kiÓm tra 1 sè cã chia hÕt cho 3 hay kh«ng ta
dïng hµm Mod, nÕy x mod 3 =0, nghÜa lµ x chia hÕt cho 3, ng îc l¹i x kh«ng chia hÕt cho 3
* Hµm mod lµ hµm chia lÊy phÇn d cña 2 sè nguyªn
Trang 14Program _ bai1;
Var x: Integer;
Begin
Write(‘PT vo nghiem’) ElseNhap so nguyen x=’, la so chan’););readln(x);
If (x mod 3) = 0 then
Write(x’, la so chan’);,chia het cho 3’, la so chan’);)
Else
Write(x’, la so chan’);,khong chia het cho 3’, la so chan’););
If (x mod 7) = 0 then
Write(x’, la so chan’);,chia het cho 7’, la so chan’);)
Else
Write(x’, la so chan’);,khong chia het cho 7’, la so chan’););