Bài giảng Tin học Lớp 11 - Bài 9: Câu lệnh rẽ nhánh - Lê Đức Quảng

Bài giảng Tin học Lớp 11 - Bài 9: Câu lệnh rẽ nhánh - Lê Đức Quảng

Pascal dùng câu lệnh if – then để mô tả việc rẽ nhánh.

Dạng thiếu: If <điều kiện=""> then ;

Trong đó:

<điều kiện=""> là biểu thức logic (true/false)

là một câu lệnh Pascal

If, then là các từ khóa

Pascal dùng câu lệnh if – then để mô tả việc rẽ nhánh.

Dạng thiếu: If <điều kiện=""> then ;

Nếu <điều kiện=""> đúng thì được thực hiện, sai bị bỏ qua.

Ví dụ: IF a mod 2=0 THEN Writeln(‘a là so chan’);

 

pptx 39 trang Ngát Lê 25/10/2024 200
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học Lớp 11 - Bài 9: Câu lệnh rẽ nhánh - Lê Đức Quảng", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu 
Nội dung chương II 
Chương III: Cấu trúc rẽ nhánh và lặp 
Giáo viên: Lê Đức Quảng 
Elearning 2016 
Bài 9: Cấu trúc rẽ nhánh 
NỘI DUNG 
1. Rẽ nhánh 
Tình huống: 
A 
B 
Câu trả lời của bạn B có 2 dạng: 
Nếu thì 	(1) 
Nếu thì nếu không thì 	(2) 
30 
29 
05 
04 
03 
02 
01 
00 
Để tiện cho BGK chấm bài, thời gian được rút gọn lại 
30 giây bắt đầu 
1. Rẽ nhánh 
Cấu trúc chung để mô tả có dạng: 
Nếu thì (1) được gọi là cấu trúc rẽ nhánh dạng thiếu 
Nếu thì nếu không thì (2) được gọi là cấu trúc rẽ nhánh dạng đủ 
(1) 
Nếu thì 
(2) 
Nếu thì nếu không thì 
1. Rẽ nhánh 
Giải PT bậc 2: ax 2 + bx + c = 0 (a≠0 ) 
Thuật toán: 
B1: Nhập a, b, c (a≠0) 
B2: Tính Delta: Delta = b 2 – 4ac 
B3: Nếu Delta < 0 thì kết luận phương trình vô nghiệm và kết thúc. 
Ngược lại: thì tính và đưa ra nghiệm của PT và kết thúc. 
Em hãy viết thuật toán dưới dạng sơ đồ khối sau đó chuyển từng bước của thuật toán sang ngôn ngữ lập trình Pascal nhé! Sau đó nhấn Next để đối chiếu kết quả! 
1. Rẽ nhánh 
Sơ đồ khối: Giải phương trình bậc 2: ax 2 + bx + c = 0 (a≠0 ) 
Readln(a,b,c); 
Delta:= b*b-4*a*c; 
??? 
2. Câu lệnh IF THEN 
Pascal dùng câu lệnh if – then để mô tả việc rẽ nhánh. 
Dạng thiếu: If then ; 
Trong đó : 
 là biểu thức logic (true/false) 
 là một câu lệnh Pascal 
If, then là các từ khóa 
2. Câu lệnh IF THEN 
Sự thực hiện: 
Điều kiện 
Đúng 
Câu lệnh 
Sai 
Câu lệnh 
Đúng 
Câu lệnh 
Điều kiện 
Điều kiện 
Pascal dùng câu lệnh if – then để mô tả việc rẽ nhánh. 
Dạng thiếu: If then ; 
	 Nếu đúng thì được thực hiện , sai bị bỏ qua. 
Ví dụ: IF a mod 2=0 THEN Writeln(‘a là so chan ’) ; 
2. Câu lệnh IF THEN 
Ví dụ 1 : Khi a = 10 
	 If a mod 2 = 0 then Writeln(‘a la so chan’); 
Ví dụ 2 : Khi a = 11 
	 If a mod 2 = 0 then Writeln(‘a la so chan’); 
Pascal dùng câu lệnh if – then để mô tả việc rẽ nhánh. 
Dạng thiếu: If then ; 
Điều kiện 
Đúng 
Câu lệnh 
Sai 
a la so chan 
10 mod 2 = 0 
Đúng 
Câu lệnh 
Điều kiện 
11 mod 2 = 0 
2. Câu lệnh IF THEN 
Trong đó : 
 là biểu thức logic (true/false) 
 , là một câu lệnh Pascal 
If, then, else: là các từ khóa 
b. Dạng đủ : If then else ; 
Nếu đúng thì được thực hiện , ngược lại thì được thực hiện. 
2. Câu lệnh IF THEN 
Điều kiện 
Đúng 
Câu lệnh 1 
Sai 
Câu lệnh 2 
Điều kiện 
Câu lệnh 1 
Câu lệnh 2 
Điều kiện 
Câu lệnh 1 
Điều kiện 
b. Dạng đủ : If then else ; 
Sự thực hiện: 
2. Câu lệnh IF THEN 
Ví dụ 1: Với a=10; 
IF a mod 2=0 THEN Writeln(‘a là so chan ’) ELSE Writeln(‘a la so le’); 
Điều kiện 
Đúng 
Câu lệnh 1 
Sai 
Câu lệnh 2 
10 mod 2 =0 
a là số chẵn 
a là số lẻ 
Điều kiện 
Câu lệnh 1 
11 mod 2 = 0 
Ví dụ 2: Với a=11; 
IF a mod 2=0 THEN Writeln(‘a là so chan ’) ELSE Writeln(‘a la so le’); 
b. Dạng đủ : If then else ; 
Ví dụ 1: Để mô tả cấu trúc rẽ nhánh trong thuật toán, nhiều ngôn ngữ lập trình bậc cao dùng câu lệnh IF – THEN, sau IF là . Điều kiện là: 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em phải trả lời câu hỏi! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
2. Câu lệnh IF THEN 
c . Luyện tập câu lệnh rẽ nhánh: 
A) 
biểu thức lôgic 
B) 
biểu thức số học 
C) 
biểu thức quan hệ 
D) 
câu lệnh 
Ví dụ 2: Với cấu trúc rẽ nhánh IF THEN , câu lệnh đứng sau THEN được thực hiện khi: 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em phải trả lời câu hỏi! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
2. Câu lệnh IF THEN 
c . Luyện tập câu lệnh rẽ nhánh: 
A) 
điều kiện được tính toán xong; 
B) 
điều kiện được tính toán và cho giá trị đúng; 
C) 
điều kiện không tính được; 
D) 
điều kiện được tính toán và cho giá trị sai; 
Ví dụ 3: Với cấu trúc rẽ nhánh IF THEN ELSE , câu lệnh 2 được thực hiện khi: 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em phải trả lời câu hỏi! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
2. Câu lệnh IF THEN 
c . Luyện tập câu lệnh rẽ nhánh: 
A) 
biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong; 
B) 
câu lệnh 1 được thực hiện; 
C) 
biểu thức điều kiện sai; 
D) 
biểu thức điều kiện đúng; 
2. Câu lệnh IF THEN 
c . Luyện tập câu lệnh rẽ nhánh: 
Ví dụ 4: Viết câu lệnh rẽ nhánh: 
If delta<0 thì thông báo phương trình vô nghiệm, ngược lại thì thông báo có nghiệm: 
 X1:= (-B - SQRT(Delta))/(2*A); 
 X2:= (-B + SQRT(Delta))/(2*A); 
Nhận xét 
Cấu trúc rẽ nhánh có dạng đủ 
Có nhiều câu lệnh ở nhánh tương ứng với biểu thức điều kiện sai 
Trong ngôn ngữ Pascal, câu lệnh ghép có dạng: 
IF Delta<0 THEN Writeln(‘Phưương trình vô nghiệm’) 
	 ELSE 
	 	 BEGIN	 
	 X1:= (-B + SQRT(Delta))/(2*A); 
	 X2:= (-B - SQRT(Delta))/(2*A); 
	 Writeln(‘ Nghiem X1= ’, X1:5:1); 
 	 Writeln(‘ Nghiem X2= ’, X2:5:1);	 	 	 END; 
 	 BEGIN 
	 ; 
	END; 
Hoàn thành ví dụ 4: 
3. Câu lệnh ghép 
Input: 3 số thực a, b, c (a≠ 0) 
Output: Đưa ra màn hình các nghiệm hoặc thông báo “ PT vô nghiệm ” 
Xác định bài toán: 
4. Một số ví dụ 
Ví dụ 1: Giải phương trình bậc 2: ax 2 + bx + c = 0 (a≠0) 
Thuật toán: 
Bây giờ, các em hãy khởi động CT Pascal để viết chương trình, sau khi xong em hãy click vào nút Next để đối chiếu kết quả. 
4. Một số ví dụ 
Ví dụ 1: Giải phương trình bậc 2: ax 2 + bx + c = 0 (a≠0) 
4. Một số ví dụ 
Ví dụ 1: Giải phương trình bậc 2: ax 2 + bx + c = 0 (a≠0) 
4. Một số ví dụ 
1 5 6 
X1 = -3 
X2 = -2 
Ví dụ 1: Giải phương trình bậc 2: ax 2 + bx + c = 0 (a≠0) 
Ví dụ 2: Tìm số ngày của năm N, biết rằng năm nhuận là: 
+ năm chia hết cho 400 hoặc 
+ chia hết 4 nhưng không chia hết cho 100. 
Ví dụ các năm 2000, 2004 là năm nhuận và có số ngày là 366, các năm 1900, 1945 không phải là năm nhuận có số ngày là 365. 
Input: Số nguyên dương N 
Output: Đưa số ngày của năm N ra màn hình. 
Xác định bài toán: 
4. Một số ví dụ 
30 
29 
05 
04 
03 
02 
01 
00 
30 giây bắt đầu 
4. Một số ví dụ 
Điều kiện năm nhuận: 
+ năm chia hết cho 400 hoặc 
+ chia hết 4 nhưng không chia hết cho 100. 
Cụ thể : 
B1: Nhập N nguyên dương; 
B2: Nếu thỏa mãn ĐK năm nhuận thì SN:=366 ngược lại SN:=365; 
B3: Thông báo số ngày ra màn hình và k ết thúc. 
(N mod 400=0) or ((N mod 4 = 0) and (N mod 100 <> 0)) 
Thuật toán: 
30 
29 
05 
04 
03 
02 
01 
00 
30 giây bắt đầu 
30 
29 
05 
04 
03 
02 
01 
00 
30 giây bắt đầu 
4. Một số ví dụ 
Chương trình 
4. Một số ví dụ 
Chương trình 
2000 
Nam 2000 co 366 ngay 
Tóm tắt bài học 
Rẽ nhánh 
Nếu thì (1) dạng thiếu 
Nếu thì nếu không thì . (2) dạng đủ 
Câu lệnh IF THEN 
D ạng thiếu: if then ; 
D ạng đủ: if then else ; 
Câu lệnh ghép 
Trong ngôn ngữ Pascal, câu lệnh có dạng: 
Begin 
 ; 
End; 
Các bài tập 
Bài tập cũng cố 
BÀI TẬP TRẮC NGHIỆM 
(gồm 10 câu, mỗi câu 1 điểm) 
Chúc các em làm bài tốt! 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
1. Hãy chọn cách dùng sai. Muốn dùng biến X lưu giá trị nhỏ nhất trong các giá trị của hai biến A, B có thể dùng cấu trúc rẽ nhánh như sau: 
A) 
if A <= B then X := A else X := B; 
B) 
if A < B then X := A; 
C) 
X := B; if A < B then X := A; 
D) 
if A < B then X := A else X := B; 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
2. Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh ? 
A) 
A + B 
B) 
A > B 
C) 
N mod 100 
D) 
“A nho hon B” 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
3. Phát biểu nào sau đây có thể lấy làm biểu thức điều kiện trong cấu trúc rẽ nhánh ? 
A) 
100 > 99 
B) 
“A > B” 
C) 
“A nho hon B” 
D) 
“false” 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
4. Câu lệnh if nào sau đây đúng: 
A) 
if (a= 0) then a:= d+1 else a:= d+2; 
B) 
if (a= 0) then a:= d+1 else a:= d+2. 
C) 
if (a= 0) then a:= d+1; else a:= d+2; 
D) 
if (a= 0) then a= d+1 else a= d+2; 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
5. Cho chương trình sau: 
Var S, i : Integer; 
BEGIN 
 i := 1; S:= 40; 
 if ( i > 5 ) then S:= 5 * 3 + ( 5 - i ) * 2 
 else 
 if ( i > 2 ) then S:= 5 * i else S:= 0; 
END. 
 Sau khi chạy CT giá trị của S là? 
A) 
 15 
B) 
 19 
C) 
 40 
D) 
 0 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
6. Cho N là một biến kiểu nguyên, chọn câu đúng cú pháp: 
A) 
 If N < 10 then write (' Nho hon 10 ') ; else write (' Lon hon 10 '); 
B) 
 If N < 10 then write (' Nho hon 10 ') else write (' Lon hon 10 '); 
C) 
 If N < 10 Write (' Nho hon 10 ') else then write (' Lon hon 10 '); 
D) 
 If N 20 then write (' N > 20 '); 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
7. Lệnh nào sau đây in ra màn hình số lớn hơn trong 2 số A, B 
A) 
 If A < B then writeln(A) else writeln(B); 
B) 
If A > B then write(B) else write(A); 
C) 
If A > B then write(B) else write(A); 
D) 
If A > B then write(B) else write(A); 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
8. Trong ngôn ngữ lập trình Pascal, muốn kiểm tra đồng thời cả 3 giá trị của A, B, C có cùng lớn hơn 0 hay không ta viết lệnh If như thế nào cho đúng? 
A) 
If (A>0) and (B>0) and (C>0) then 
B) 
If A>0 and B>0 and C>0 then 
C) 
If (A>0) or (B>0) or (C>0) then 
D) 
If A, B, C>0 then 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
9. Cho đoạn CT: 
	 x :=2; y:=3; 
	IF x > y THEN F:= 2*x – y 
	ELSE IF x=y THEN F:= 2*x ELSE F:= x*x + y*y ; 
Sau khi thực hiện CT, giá trị F là: 
A) 
F = 13 
B) 
F = 1 
C) 
F = 4 
D) 
Không xác định 
Bạn trả lời chính xác! 
Bạn trả lời sai rồi! 
Em trả lời chính xác! 
Câu trả lời của em là: 
Đáp án là: 
Em chưa hoàn thành bài tập! 
Bạn phải trả lời trước khi tiếp tục... 
Trả lời 
Xóa 
Bài tập cũng cố 
10. Cho I là biến nguyên. Sau khi thực hiện các lệnh: 
 i :=2; 
 if i=1 then i:=i+1 else i:=i+2; 
Giá trị của i là: 
Kết quả 
Điểm của em: 
{score} 
Trên tổng điểm 
{max-score} 
Số lần kiểm tra 
{total-attempts} 
Question Feedback/Review Information Will Appear Here 
Xem lại 
Tiếp tục 
Thank You! 
Tài liệu tham khảo 
SGK Tin học 11; 
Thiết kế bài giảng Tin học 11 (Th.s Lê Thủy Thạch) 
Một số tư liệu, ý tưởng từ Internet. 

Tài liệu đính kèm:

  • pptxbai_giang_tin_hoc_lop_11_bai_9_cau_lenh_re_nhanh_le_duc_quan.pptx
  • docThuyết minh.doc
  • docThiet lap Flash.doc
  • pptxgui quang.pptx