Kính chào thầy cô và các em
KIỂM TRA BÀI CŨ
RẼ NHÁNH
CÂU LỆNH IF - THEN
CÂU LỆNH GHÉP
MỘT SỐ VÍ DỤ
?
Em hãy nêu thủ tục đưa dữ liệu ra màn hình, cho ví dụ?
CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9: CẤU TRÚC RẼ NHÁNH
BÀI 9: 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
Xét tình huống sau: Châu và Ngọc thường cùng nhau chuẩn bị các bài thực hành môn Tin học.
- Một lần Châu hẹn với Ngọc: “ Chiều mai nếu trời không mưa thì Châu sẽ đến nhà Ngọc”
- Một lần khác , Ngọc nói với Châu: “Chiều mai nếu trời không mưa thì Ngọc sẽ đến nhà Châu, nếu không thì sẽ gọi điện cho Châu để trao đổi”
Dạng thiếu: Nếu......thì......
Dạng đủ: Nếu......thì......, nếu không thì......
Em hãy lấy 1 ví dụ dạng nếu..thì trong đời sống?
1
BÀI 9: 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
=> Cấu trúc dùng để mô tả các mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh dạng thiếu và dạng đủ
Vậy trong nhiều thuật toán, các thao tác tiếp theo sẽ phụ thuộc vào kết quả nhận được từ các bước trước đó.
BÀI 9: 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
Xét ví dụ: Kiểm tra phương trình bậc hai: ax2+bx+c=0,(a<>0) có nghiệm hay không?
Nhập a, b, c
Delta  b2 – 4ac
Delta≥0?
Thông báo PT vô nghiệm
rồi kết thúc
Sai
Đúng

Thông báo PT có nghiệm
rồi kết thúc
- B1: Tính Delta = b2 - 4ac;
- B2: Nếu Delta >=0 thì thông báo PT có nghiệm rồi kết thúc;
- B3: Nếu Delta <0 thì thông báo PT vô nghiệm rồi kết thúc.
Em hãy cho biết sơ đồ khối hình 5sgk/39 làm công việc gì?
BÀI 9: 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
a) Dạng thiếu
 Cú pháp:
if <điều kiện> then ;
 Sơ đồ khối:
b) Dạng đủ
 Cú pháp:
if <điều kiện> then
else ;
 Sơ đồ khối:
Trong đó: - Điều kiện là biểu thức logic;
- Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh của Pascal.
- if, then, else là từ khoá
BÀI 9: 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
a) Dạng thiếu
 Sơ đồ khối:
b) Dạng đủ
 Sơ đồ khối:
Câu lệnh 1
Câu lệnh 2
Điều
Kiện
Đúng
Câu lệnh
Điều kiện
Sai
 Hoạt động:
- Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu lệnh được thực hiện, ngược lại thì câu lệnh sẽ bỏ qua.
- Điều kiện sẽ được tính và kiểm tra. Nếu điều kiện đúng (có giá trị true) thì câu lệnh 1 được thực hiện, ngược lại thì câu lệnh 2 sẽ được thực hiện.
 Hoạt động:
Đúng
Sai
BÀI 9: 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
 Ví dụ:
- Ví dụ 1: if Delta<0 then writeln(‘ Phuong trinh vo nghiem’);
- Ví dụ 2: if Delta<0 then writeln(‘ Phuong trinh vo nghiem’)
else writeln(‘ Phuong trinh co nghiem.’);
- Ví dụ 3: Vận dụng cả hai dạng câu lệnh rẽ nhánh cho bài toán tìm giá trị lớn nhất (max) trong 2 số a và b
Dạng thiếu: max:= a;
if b>a then max:=b;
Dạng đủ: if b>a then max:=b
else max:=a;
BÀI 9: 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
 Chú ý:
- Câu lệnh if-then dạng đủ có thể lồng nhau
Ví dụ: If (a>b) and (a>c) then max:=a
else
if (b>a) and (b>c) then max:=b
else max:=c;
- Trước từ khóa else không có dấu chấm phẩy (;)
BÀI 9: 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
- Khái niệm: Là một câu lệnh được hợp thành từ nhiều câu lệnh thành phần.
- Cú pháp:
Begin
;
End;
Ví dụ: if Delta>=0 then
Begin
Writeln (‘ PT co nghiem’);
x1:= (-b-sqrt(Delta))/(2*a);
x2:= (-b+sqrt(Delta))/(2*a);
Writeln(‘x1= ‘,x1:6:2,’x2= ‘,x2:6:2);
End;
BÀI 9: 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âu hỏi và bài tập củng cố
Câu hỏi và bài tập củng cố
BÀI 9: CẤU TRÚC RẼ NHÁNH
CÂU LỆNH IF - THEN
RẼ NHÁNH
BÀI 9: CẤU TRÚC RẼ NHÁNH
CÂU LỆNH IF - THEN
CÂU LỆNH GHÉP
RẼ NHÁNH
BÀI 9: CẤU TRÚC RẼ NHÁNH
CÂU LỆNH IF - THEN
Câu 1. Câu lệnh if-then nào sau đây viết đúng?
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. Xét lệnh: If a>b then write(a);
Nếu a=7, b=6 thì lệnh kết quả trả về là?
a. Không đưa ra gì
b. 6
c. 7
d. 67
BÀI 9: 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âu hỏi và bài tập củng cố
Câu hỏi và bài tập củng cố
BÀI 9: CẤU TRÚC RẼ NHÁNH
CÂU LỆNH IF - THEN
RẼ NHÁNH
BÀI 9: CẤU TRÚC RẼ NHÁNH
CÂU LỆNH IF - THEN
CÂU LỆNH GHÉP
RẼ NHÁNH
BÀI 9: CẤU TRÚC RẼ NHÁNH
CÂU LỆNH IF - THEN
Câu 3: Chỉ ra câu lệnh ghép trong chương trình sau:
Câu lệnh ghép
MỘT SỐ VÍ DỤ
CÂU LỆNH GHÉP
RẼ NHÁNH
BÀI 9: CẤU TRÚC RẼ NHÁNH
CÂU LỆNH IF - THEN
Câu 4: Hãy chỉ ra các lỗi trong đoạn chương trình sau:
Var a,b: interger; {1}
Begin {2}
Write(‘Nhap a,b:’);readln(a,b); {3}
if (a>b) then write(‘max:’,a); {4}
eles write(‘Max:’,b); {5}
End {6}
BÀI 9: 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âu 5: Cho đoạn chương trình sau:
a:=5; b:=7;
If b mod a<>0 then b:=b-a;
X:=a*b;
Sau khi thực hiện chương trình xong, giá trị của x là?
a. a*b
b. 5*2
c.10
d. ‘a*b’
Câu hỏi và bài tập củng cố
Câu 6: Đối với câu lệnh if – then dạng đủ, câu lệnh 2 được thực hiện khi nào?
a) Biểu thức điều kiện đúng
b) Biểu thức điều kiện sai
c) Câu lệnh 1 được thực hiện
BÀI 9: 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âu hỏi và bài tập củng cố
Câu 7: Hãy viết câu lệnh rẽ nhánh dạng thiếu và dạng đủ cho bài toán sau: Hãy kiểm tra xem số nguyên a có phải là số chẵn không?
Dạng thiếu: if a mod 2=0 then writeln(‘a la so chan.’);
If a mod 2 <>0 then writeln(‘a khong la so chan.’);
Dạng đủ: if a mod 2=0 then writeln(‘a la so chan.’)
else writeln(‘a khong phai la so chan.’);
BÀI 9: 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âu hỏi và bài tập củng cố
Câu 8: Lập trình kiểm tra số nguyên a có phải là số chẵn không?
- Xem trước : Phần 4. Một số ví dụ.
- Trả lời các câu hỏi và bài tập 1, 2,4 (trang 64 - SGK).
DẶN DÒ
BÀI HỌC ĐẾN ĐÂY LÀ KẾT THÚC
XIN CHÂN THÀNH CẢM ƠN THẦY CÔ VÀ CÁC EM!
nguon VI OLET