Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Nguyễn Thành Phương |
Ngày 10/05/2019 |
50
Chia sẻ tài liệu: Bài 9. Cấu trúc rẽ nhánh thuộc Tin học 11
Nội dung tài liệu:
CHÀO MỪNG QUÝ THẦY CÔ
CÙNG TẤT CẢ CÁC EM HỌC SINH !
Câu 1: Trong lập trình Pascal, thủ tục nào dùng để đưa dữ liệu ra màn hình?
Kiểm tra bài củ
A. Read();
B. Readln(;
C. Writeln();
D. Write():
Câu 2: Trong Turbo Pascal, để lưu chương trình ta nhấn phím nào?
Kiểm tra bài củ
A. F2
B. F3
C. Alt + F3
D. Ctrl + F9
Câu 3: Trong Turbo Pascal, để biên dịch chương trình ta nhấn phím nào?
Kiểm tra bài củ
A. Alt + F3
B. F9
C. Alt +F9
D. Ctrl + F9
Câu 4: Chức năng của thủ tục Readln không có tham số là gì?
Kiểm tra bài củ
A. Xuống dòng dưới sau khi nhập dữ liệu
B. Để nhận vào một dữ liệu bất kì
C. Đợi người dùng nhấn phím enter
D. Đưa con trỏ chuột xuống dòng dưới
Kiểm tra bài củ
Câu 5: Để thoát khỏi hẳn chương trình dịch Turbo Pascal ta nhấn phím nào?
A. Alt + F5
B. Alt + X
C. Alt + F3
D. Ctrl + F9
Chương 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Nội dung bài học
1. Khái niệm rẽ nhánh
2. Câu lệnh IF...THEN
- Dạng thiếu
- Dạng đủ
3. Câu lệnh ghép
4. Một số ví dụ sử dụng các câu lệnh rẽ nhánh
1. RẼ NHÁNH
Này, ngày mai cậu có đi học nhóm không?
Để tớ suy nghĩ đã nhé.
?!?!..
Chiều mai, nếu trời mưa thì tớ sẽ gọi điện cho cậu để trao đổi.
à mà,chiều mai nếu trời mưa tớ sẽ gọi điện cho cậu, nếu không mưa thì tớ sẽ đến nhà cậu học nhé!
Câu trả lời của bạn B có dạng:
- Nếu…thì… (1)
- Nếu…thì…,nếu không thì… (2)
A
B
Cấu trúc 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. RẼ NHÁNH
Ví dụ:
Giải phương trình bậc 2: ax2 + bx + c = 0 (a # 0)
Thuật toán:
- B1: Nhập a, b, c
- B2: Tính Delta Db2-4ac
- B3:
+ Nếu D<0 thì kết luận phương trình vô nghiệm và thúc
+ Ngược lại: tính và đưa ra nghiệm của phương trình và kết thúc
1. RẼ NHÁNH
Nhập a,b,c
D b2 – 4ac
D < 0
Sai
Đúng
Thông báo vô nghiệm rồi kết thúc
Tính, đưa ra nghiệm thực rồi kết thúc
1. RẼ NHÁNH
Cần có cấu trúc mới để thực hiện cấu trúc rẽ nhánh
a) Cú pháp: 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;
Dạng đủ:
if <điều kiện> then else ;
Trong đó:
- <điều kiện>: là biểu thức có giá trị logic (True/False)
-, , : là 1 câu lệnh của Pascal
- if, then, else: là các từ khóa
2. Câu lệnh if-then
b) Sự thực hiện
Dạng thiếu: if <điều kiện> then;
2. Câu lệnh if-then
Đúng
Sai
Điều kiện
Câu lệnh
b) Sự thực hiện
Dạng đủ: if <điều kiện> then else ;
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
Ví dụ: if a>b then max:=a else max:=b;
c) Một số ví dụ về câu lệnh rẽ nhánh
Ví dụ 1: Viết câu lệnh rẽ nhánh kiểm tra một số nguyên a là chẳn hay lẻ?
2. Câu lệnh if-then
Điều kiện để a là số chẳn:
Câu lệnh rẽ nhánh
a mod 2 = 0
if a mod 2 = 0 then write(a, ’ la so lẻ’)
else write(a, ’ la so chẳn’);
Minh hoạ
c) Một số ví dụ về câu lệnh rẽ nhánh
2. Câu lệnh if-then
Ví dụ 2: Có thể thay thế 2 câu lệnh sau bằng 1 câu lệnh được không? Nếu được thì sẽ viết như thế nào?
IF a < 0 THEN writeln(’a la so am’);
IF a >= 0 THEN writeln(’a la so khong am’);
IF a < 0 THEN writeln(’a la so am’) ELSE writeln(’a la so khong am’);
ĐÁP ÁN
A. max:=a; if b>a then max:=b;
c) Một số ví dụ về câu lệnh rẽ nhánh
2. Câu lệnh if-then
Ví dụ 3: Tìm phương án đúng nhất: Để tìm đúng giá trị lớn nhất (max) của 2 số a và b, câu lệnh nào sau đây là đúng?
B. if a>b then max:=a else max:=b;
C. Cả A và B đều đúng
c) Một số ví dụ về câu lệnh rẽ nhánh
2. Câu lệnh if-then
Ví dụ 4: Viết cấu trúc rẽ nhánh cho phát biểu sau: nếu D<0 thì thông báo phương trình vô nghiệm, ngược lại tính và đưa ra màn hình nghiệm x1: =(-b-sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a);.
Sau ELSE có nhiều câu lệnh, phải làm sao đây?
Câu 1: Trong cấu trúc rẽ nhánh dạng đủ, được thực hiện khi nào?
Câu hỏi củng cố
A. Biểu thức <điều kiện> cho giá trị True
B. Biểu thức <điều kiện> cho giá trị False
C. Biểu thức <điều kiện> không thể tính được
D. Sau khi thực hiện xong
Câu 2: Trong lập trình Pascal, câu lệnh nào sau đây là đúng?
Câu hỏi củng cố
A. If a:=5 then a:=a+1 else a:=a+5;
B. If a=5 then a:=a+1; else a:=a+5;
C. If a=5 then a:=a+1 else a:=a+5;
D. If a:=5 then a:=a+1; else a:=a+5;
Câu 3: Cho biết giá trị của biến nguyên i sau khi thực hiện các câu lệnh sau:
i:=2; if i =1 then i:=i+1 else i:=i+2;
Câu hỏi củng cố
A. 2
B. 3
C. 4
D. 5
BÀI TẬP VỀ NHÀ
Bài 1: Viết chương trình tìm nghiệm của phương trình bậc nhất: ax + b = 0 (a # 0)
Bài 2: Viết chương trình nhập vào 1 số nguyên bất kì. Cho biết số đó là số 0, số âm hay số dương
Bài 3: Tìm giá trị lớn nhất của 3 số a, b, c bất kì nhập vào từ bàn phím
DẶN DÒ
Về nhà học lại bài
Xem trước về các phần còn lại của bài
phần 3) Câu lệnh ghép
phần 4) Một số ví dụ
Làm các bài tập về nhà
Xin chân thành cảm ơn
Quý thầy cô !
CÙNG TẤT CẢ CÁC EM HỌC SINH !
Câu 1: Trong lập trình Pascal, thủ tục nào dùng để đưa dữ liệu ra màn hình?
Kiểm tra bài củ
A. Read(
B. Readln(
C. Writeln(
D. Write(
Câu 2: Trong Turbo Pascal, để lưu chương trình ta nhấn phím nào?
Kiểm tra bài củ
A. F2
B. F3
C. Alt + F3
D. Ctrl + F9
Câu 3: Trong Turbo Pascal, để biên dịch chương trình ta nhấn phím nào?
Kiểm tra bài củ
A. Alt + F3
B. F9
C. Alt +F9
D. Ctrl + F9
Câu 4: Chức năng của thủ tục Readln không có tham số là gì?
Kiểm tra bài củ
A. Xuống dòng dưới sau khi nhập dữ liệu
B. Để nhận vào một dữ liệu bất kì
C. Đợi người dùng nhấn phím enter
D. Đưa con trỏ chuột xuống dòng dưới
Kiểm tra bài củ
Câu 5: Để thoát khỏi hẳn chương trình dịch Turbo Pascal ta nhấn phím nào?
A. Alt + F5
B. Alt + X
C. Alt + F3
D. Ctrl + F9
Chương 3: CẤU TRÚC RẼ NHÁNH VÀ LẶP
Nội dung bài học
1. Khái niệm rẽ nhánh
2. Câu lệnh IF...THEN
- Dạng thiếu
- Dạng đủ
3. Câu lệnh ghép
4. Một số ví dụ sử dụng các câu lệnh rẽ nhánh
1. RẼ NHÁNH
Này, ngày mai cậu có đi học nhóm không?
Để tớ suy nghĩ đã nhé.
?!?!..
Chiều mai, nếu trời mưa thì tớ sẽ gọi điện cho cậu để trao đổi.
à mà,chiều mai nếu trời mưa tớ sẽ gọi điện cho cậu, nếu không mưa thì tớ sẽ đến nhà cậu học nhé!
Câu trả lời của bạn B có dạng:
- Nếu…thì… (1)
- Nếu…thì…,nếu không thì… (2)
A
B
Cấu trúc 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. RẼ NHÁNH
Ví dụ:
Giải phương trình bậc 2: ax2 + bx + c = 0 (a # 0)
Thuật toán:
- B1: Nhập a, b, c
- B2: Tính Delta Db2-4ac
- B3:
+ Nếu D<0 thì kết luận phương trình vô nghiệm và thúc
+ Ngược lại: tính và đưa ra nghiệm của phương trình và kết thúc
1. RẼ NHÁNH
Nhập a,b,c
D b2 – 4ac
D < 0
Sai
Đúng
Thông báo vô nghiệm rồi kết thúc
Tính, đưa ra nghiệm thực rồi kết thúc
1. RẼ NHÁNH
Cần có cấu trúc mới để thực hiện cấu trúc rẽ nhánh
a) Cú pháp: 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
Dạng đủ:
if <điều kiện> then
Trong đó:
- <điều kiện>: là biểu thức có giá trị logic (True/False)
-
- if, then, else: là các từ khóa
2. Câu lệnh if-then
b) Sự thực hiện
Dạng thiếu: if <điều kiện> then
2. Câu lệnh if-then
Đúng
Sai
Điều kiện
Câu lệnh
b) Sự thực hiện
Dạng đủ: if <điều kiện> then
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
Ví dụ: if a>b then max:=a else max:=b;
c) Một số ví dụ về câu lệnh rẽ nhánh
Ví dụ 1: Viết câu lệnh rẽ nhánh kiểm tra một số nguyên a là chẳn hay lẻ?
2. Câu lệnh if-then
Điều kiện để a là số chẳn:
Câu lệnh rẽ nhánh
a mod 2 = 0
if a mod 2 = 0 then write(a, ’ la so lẻ’)
else write(a, ’ la so chẳn’);
Minh hoạ
c) Một số ví dụ về câu lệnh rẽ nhánh
2. Câu lệnh if-then
Ví dụ 2: Có thể thay thế 2 câu lệnh sau bằng 1 câu lệnh được không? Nếu được thì sẽ viết như thế nào?
IF a < 0 THEN writeln(’a la so am’);
IF a >= 0 THEN writeln(’a la so khong am’);
IF a < 0 THEN writeln(’a la so am’) ELSE writeln(’a la so khong am’);
ĐÁP ÁN
A. max:=a; if b>a then max:=b;
c) Một số ví dụ về câu lệnh rẽ nhánh
2. Câu lệnh if-then
Ví dụ 3: Tìm phương án đúng nhất: Để tìm đúng giá trị lớn nhất (max) của 2 số a và b, câu lệnh nào sau đây là đúng?
B. if a>b then max:=a else max:=b;
C. Cả A và B đều đúng
c) Một số ví dụ về câu lệnh rẽ nhánh
2. Câu lệnh if-then
Ví dụ 4: Viết cấu trúc rẽ nhánh cho phát biểu sau: nếu D<0 thì thông báo phương trình vô nghiệm, ngược lại tính và đưa ra màn hình nghiệm x1: =(-b-sqrt(D))/(2*a); x2:=(-b-sqrt(D))/(2*a);.
Sau ELSE có nhiều câu lệnh, phải làm sao đây?
Câu 1: Trong cấu trúc rẽ nhánh dạng đủ,
Câu hỏi củng cố
A. Biểu thức <điều kiện> cho giá trị True
B. Biểu thức <điều kiện> cho giá trị False
C. Biểu thức <điều kiện> không thể tính được
D. Sau khi thực hiện xong
Câu 2: Trong lập trình Pascal, câu lệnh nào sau đây là đúng?
Câu hỏi củng cố
A. If a:=5 then a:=a+1 else a:=a+5;
B. If a=5 then a:=a+1; else a:=a+5;
C. If a=5 then a:=a+1 else a:=a+5;
D. If a:=5 then a:=a+1; else a:=a+5;
Câu 3: Cho biết giá trị của biến nguyên i sau khi thực hiện các câu lệnh sau:
i:=2; if i =1 then i:=i+1 else i:=i+2;
Câu hỏi củng cố
A. 2
B. 3
C. 4
D. 5
BÀI TẬP VỀ NHÀ
Bài 1: Viết chương trình tìm nghiệm của phương trình bậc nhất: ax + b = 0 (a # 0)
Bài 2: Viết chương trình nhập vào 1 số nguyên bất kì. Cho biết số đó là số 0, số âm hay số dương
Bài 3: Tìm giá trị lớn nhất của 3 số a, b, c bất kì nhập vào từ bàn phím
DẶN DÒ
Về nhà học lại bài
Xem trước về các phần còn lại của bài
phần 3) Câu lệnh ghép
phần 4) Một số ví dụ
Làm các bài tập về nhà
Xin chân thành cảm ơn
Quý thầy cô !
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Thành Phương
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)