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)điều>
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ì
Ví dụ: IF a mod 2=0 THEN Writeln(‘a là so chan’);
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:
bai_giang_tin_hoc_lop_11_bai_9_cau_lenh_re_nhanh_le_duc_quan.pptx
Thuyết minh.doc
Thiet lap Flash.doc
gui quang.pptx



