Tìm kiếm theo tiêu đề

Tin tức cộng đồng

[MỜI HỢP TÁC] Các kỳ thi Olympic Quốc tế 2026 (IMO - IEO - ISO)

Kính gửi Quý Lãnh đạo, Ban Giám hiệu và Quý Thầy/Cô, FermatTech (Đối tác Google tại VN) phối hợp cùng SCO Ấn Độ trân trọng kính mời tham gia 3 kỳ thi uy tín dành cho HS từ lớp 1 - 12: - IMO: Olympic Toán Quốc tế. - IEO: Olympic Tiếng Anh Quốc tế. - ISO: Olympic Khoa học...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

Bài 9. Cấu trúc rẽ nhánh

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Phạm Thị Hồng Phượng
Ngày gửi: 14h:24' 20-04-2009
Dung lượng: 408.5 KB
Số lượt tải: 54
Số lượt thích: 0 người
Để thực hiện chương trình được viết bằng một ngôn ngữ lập trình ta cần phải làm gì?
KIỂM TRA BÀI CŨ:
Soạn thảo :Viết chương trình, nhập chương trình vào máy.
Dịch (Alt+F9): Phát hiện và thông báo lỗi cú pháp, NLT sửa lỗi.
Thực hiện chương trình (Ctrl+F9).
Nhập vào các giá trị chạy thử - Nhấn Enter.
chương 2: cấu trúc rẽ nhánh và lặp
CẤU TRÚC RẼ NHÁNH
Nội dung:

Rẽ Nhánh
Câu Lệnh If-Then
Câu Lệnh Ghép
Một Số Ví Dụ



Tháng 10 năm học 2008
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
1. RẼ NHÁNH
HÃY ĐƯA RA MỆNH ĐỀ NẾU- THÌ THEO HÌNH VẼ 2 ?
HS B
HS A
HÌNH VẼ 2
Nếu bạn A học trường 1 Thì rẽ bên trái
Nếu bạn B học trường 2 Thì rẽ bên phải
Nếu bạn A không học trường 2 Thì rẽ bên trái
HÃY ĐƯA RA MỆNH ĐỀ NẾU- KHÔNG THÌ THEO HÌNH VẼ 2 ?
HÌNH VẼ 1
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
Nhập a,b,c
D  b2 -4ac
D≥0?
Thông báo vô
Nghiệm, KT
Tính và đưa ra
Nghiệm, KT
Đ
S
Sơ đồ thể hiện sự rẽ nhánh
1. RẼ NHÁNH
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
Nhập a,b,c
D  b2 -4ac
D<0?
Thông báo
Nghiệm kép, KT
PT vô
Nghiệm, KT
Đ
S
Sơ đồ thể hiện sự rẽ nhánh
1. RẼ NHÁNH
D=0?
Đ
Thông báo 2
Nghiệm, KT
S
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
2. CÂU LỆNH IF-THEN
Điều kiện
Đ
S
Câu lệnh
Điều kiện
Đ
S
Câu lệnh 1
Câu lệnh 2
IF <Điều kiện> Then ;
a. Dạng thiếu
IF <Điều kiện> Then
ELSE ;
b. Dạng đủ
Nếu điều kiện đúng câu lệnh được thực hiện, ngược lại câu lệnh sẽ bị bỏ qua.
Nếu điều kiện đúng câu lệnh 1 được thực hiện, ngược lại câu lệnh 2 sẽ được thực hiện
Sau mỗi câu lệnh được kết thúc bằng dấu ; nhưng câu lệnh trước ELSE không có dấu ;
? Có nhận xét gì về câu lệnh trước ELSE
IF
Then
ELSE
Tên dành riêng (từ khóa)
Điều kiện :
Là biểu thức quan hệ hoặc biểu thức logic
Điều kiện :
Là câu lệnh đơn
Câu lệnh 1
Câu lệnh 2 :
Câu lệnh
Hãy so sánh hai cấu trúc trên?
Chú ý: Dạng đủ có thể lồng nhau, khi đó Else sẽ gắn với If gần nhất.
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
If a mod 2=0 then
Write( ‘ a la so chan ’);

If (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (a+c>b) then
Write(‘a, b, c la ba canh tam giac’)
Else
Write(‘ khong la ba canh tam giac’);
2. CÂU LỆNH IF-THEN
Ví dụ 1: Viết thông báo nếu số nguyên a chia hết cho 2 thì a là số chẳn .
Ví dụ 2: Kiểm tra xem 3 số nguyên a,b,c có phải 3 cạnh của tam giác không?
a mod 2=0
Nhập a
Đ
a là số chẳn
S
a>0,b>0,
c>0,a+b>c,
b+c>a,
a+c>b
Nhập a,b,c
Đ
a,b,c là 3 cạnh tam giác
S
a,b,c kgông là 3 cạnh
tam giác
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
3. CÂU LỆNH GHÉP
Sau Then, Else nếu thực hiện nhiều hơn một câu lệnh thì phải được đặt giữa BEGIN END (câu lệnh ghép)

If <Điều kiện> then
Begin
;
;
.. . . . . ..
;
End
Else
Begin
;
;
.. . . . . ..
;
End;
Ví du: ï D?i ch? 2 s? a, b sao cho s? bé d?ng tru?c, s? l?n d?ng sau.
a=8;
b=2;
tg
a
b
8
2
If a>b then {doi cho b cho a}
BEGIN
tg:=a;
a:=b;
b:=tg;
Write(‘doi cho b cho a, ket qua la’, a,b);
END
Else Write(‘khong doi cho’);
Câu lệnh ghép
8
tg
2
a
8
b
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
4. MỘT SỐ VÍ DỤ
PROGRAM SOCHAN;
Var a: word;
BEGIN
Write(‘Nhap vao so nguyen a’);
Read(a);
If a mod 2=0 then
Write( ‘ a la so chan ’)
Readln
END.
Program kiemtra;
Uses Crt;
Var a,b,c: integer;
BEGIN
Clrscr;
Write(‘ Nhap vao 3 so nguyen a,b,c);
Readln(a,b,c);
If (a>0) and (b>0) and (c>0) and (a+b>c) and (b+c>a) and (a+c>b) then
Write(‘a, b, c la ba canh tam giac’)
Else
Write(‘ khong la ba canh tam giac’);
Readln
END.
VD2: Viết chương trình kiểm tra xem 3 số nguyên a, b, c nhập vào từ bàn phím có phải là 3 cạnh của tam giác không?
VD1: Viết chương trình thông báo số nguyên a nhập vào từ bàn phím là số chẳn?
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
Program doicho;
Var a,b,tg: Integer;
BEGIN
Write(‘ Nhap vao 2 so a,b’); readln(a,b);
If a>b then {doi cho b cho a}
Begin
tg:=a;
a:=b;
b:=tg;
Write(‘ Ket qua tim duoc la:’, a,b);
End
Else
Write(‘khong doi cho’, a,b);
END.
VD3: Viết chương trình nhập 2 số a, b bất kỳ từ bàn phím, đổi chổ 2 số sao cho số bé đứng trước, số lớn đứng sau.
VD4: Tìm số lớn nhất trong 4 số nguyên a,b,c,d.
max:=a;
If b>max then max:=b
else
if c>max then max:=c
else max :=d
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
CỦNG CỐ
Cấu trúc câu lệnh IF-THEN có 2 dạng:
Dạng thiếu: IF <ĐiềuKiện> Then ;
Dạng đủ: IF <ĐiềuKiện> Then
Else < ;
<Điều kiện> là biểu thức quan hệ hoặc biểu thức logic
Dạng đủ có thể lồng nhau, khi đó Else sẽ gắn với If gần nhất.
VD: max:=a;
If b>max then max:=b else if c>max then max:=c else max :=d
Câu lệnh ghép

Sau Then, Else có nhiều hơn một thì phải được đặt giữa BEGIN END.
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
BÀI TẬP
Viết chương trình kiểm tra xem số nguyên a nhập vào có phải là tháng trong năm không?
Viết chương trình giải phương trình bậc 2: ax2+b+c=0 (a≠0)
HD:(xét các trường hợp của delta (delta <0, delta =0, delta >0))
Viết chương trình giải phương trình bậc nhất: ax+b=0
HD: xét các trường hợp của a,b : a ≠ 0
ngược lại xét : b=0,
ngược lại xét: b ≠ 0
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
Program Giảipt_bac2;
Var a,b, c,d: Integer;
x,x1,x2: Real;
BEGIN
Write(‘ Nhap vao 3 so a,b,c’); readln(a,b,c);
D:=sqr(b)-4*a*c
If D<0 then Writeln(‘Phuong trinh vo nghiem’)
Else
If D=0 Then Writeln(‘ Phuong trinh co nghiem kep x= ‘, -b/(2*a))
Else
Begin
x1:=(-b+sqrt(d))/(2*a); x2:=(-b+sqrt(d))/2*a;
Writeln(‘ phuong trinh co 2 nghiem la:’, ‘x1=‘,x1,’x2=‘,x2);
End;
END.
VD4: Vi?t chuong trình gi?i phuong trình b?c 2: ax2+b+c=0 (a?0)
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
2. CÂU LỆNH GHÉP
Sau Then, Else nếu thực hiện nhiều hơn một câu lệnh thì phải được đặt giữa BEGIN END (câu lệnh ghép)
Ví du: ï Nh?p 2 s? nguyên a,b. D?i ch? 2 s? sao cho s? bé d?ng tru?c, s? l?n d?ng sau.

If a>b then {doi cho b cho a}
BEGIN
tg:=a;
a:=b;
b:=tg;
Write(‘doi cho b cho a, ket qua la’, a,b);
END
Else Write(‘khong doi cho’);
Câu lệnh ghép
Nhập a,b
a>b
S
Kết quả là
a,b
tg a; a b; b tg
Kết quả là
a,b
Đ
tg
a
b
8
2
a=8;
b=2;
CẤU TRÚC RẼ NHÁNH
RẼ NHÁNH
CÂU LỆNH IF-THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
 
Gửi ý kiến