Viết chương trình tính tổng của 2 số a và b nhập vào từ bàn phím. Bài tập về nhà.[r]
Trang 1Nội dung
I Khái niệm rẽ nhánh
II Câu lệnh If-then-else III Câu lệnh ghép
IV Một số ví dụ
BÀI 9:
Trang 2I.Khái niệm rẽ nhánh
Ý tưởng giải thuật
a
Trường hợp 1 :
Ví dụ: Cho 2 số a,b Hãy cho biết số lớn nhất (không cần xét trường hợp a=b)
Trang 3Ví dụ: Cho 2 số a,b Hãy cho biết số lớn nhất (không cần xét trường hợp a=b)
b
a
b lớn nhất
Trường hợp 2 :
Ý tưởng giải thuật
Vậy ta có kết luận gì về ví dụ này?
Trang 4Sơ đồ khối:
Ví dụ: Cho 2 số a,b Hãy cho biết số lớn nhất.
(không cần xét trường hợp a=b)
Begin
Nhập a,b
a > b
Thông báo
a lớn nhất
Thông báo
b lớn nhất
End
Trang 5II Câu lệnh if-then-else
a) Dạng thiếu
If <điều kiện> then <câu lệnh>;
ĐK Câu lệnh
*Lưu đồ:
Trang 6II Câu lệnh if-then-else
a) Dạng đủ
If <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
*Lưu đồ:
ĐK
Câu lệnh 1
Câu lệnh 2
Nếu ĐK đúng thì thực hiện Công Việc 1
Ngược lại thực hiện công việc 2
Trang 7TỪ KHÓA : IF , THEN , ELSE
ĐK : là biểu thức kiểu Boolean (trả lại giá trị True hoặc False)
Lưu ý quan trọng : trước ELSE không có dấu chấm phẩy (;)
II Câu lệnh if-then-else
Trang 8III Câu lệnh ghép
Trong ngôn ngữ Pascal, Câu lệnh ghép
có dạng:
Begin
<các câu lệnh>;
End ;
Trang 9 Sau End phải là dấu ;
Từ nay nói đến câu lệnh thì đó có thể là câu lệnh đơn hoặc là câu lệnh ghép
III Câu lệnh ghép
*Chú ý:
Trang 10Ví dụ: viết chương trình Cho 2 số a,b Hãy cho biết số lớn nhất
PROGRAM SOLON;
VAR a,b:integer;
BEGIN Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF a>b THEN Writeln(‘a la so lon nhat’) ELSE
Writeln(‘b la so lon nhat’);
Readln;
END.
PROGRAM SOLON;
VAR a,b:integer;
BEGIN Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF a>b THEN Writeln(‘a la so lon nhat’) ELSE
Writeln(‘b la so lon nhat’);
Readln;
END.
Trang 11IV Một số ví dụ
VD : Viết chương trình giải phương trình bậc I : ax + b =0
PROGRAM PTB1;
VAR a,b:integer; x:real;
BEGIN Write(‘Nhap 2 he so a , b : ‘);
Readln(a,b);
IF a = 0 THEN
IF b = 0 THEN Writeln(‘Pt vo so nghiem’) ELSE
Writeln(‘Pt vo nghiem’) ELSE
Begin
Trang 12IV Một số ví dụ
Viết chương trình giải phương trình bậc II :
ax2 + bx + c = 0
Trang 13Program giai_ptrb2;
uses crt;
var a,b,c:real;
D,x,x1,x2:real; begin
clrscr;
writeln('nhap vao 3 so a,b,c');
readln(a,b,c);
D:=sqr(b)-4*a*c;
if D<0 then writeln('ptr vo nghiem')
else
begin if D=0 then
begin
x:=-b/(2*a);
writeln('ptr co nghiem kep x= ',x:8:3);
end
else
begin
x1:=(-b+sqrt(D))/(2*a);
x2:=-b/a-x1;
writeln('ptr co 2 nghiem phan biet'); writeln('x1= ',x1:8:3);
Trang 14IV Một số ví dụ
Viết chương trình nhập vào 2 số a,b Tính thương số a/b
PROGRAM THUONG;
VAR a,b:integer; t:real;
BEGIN Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF b<>0 THEN Begin
t:=a/b;
Writeln(‘Thuong la : ’,t:10:2); End
ELSE
Writeln(‘Không chia duoc’); Readln;
END.
Begin
Nhập a,b
b <>0
t:=a/b
Thông báo t
Thông báo Không chia được
End
Trang 15Viết chương trình tính tổng của 2 số a và b
nhập vào từ bàn phím.
Bài tập về nhà