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