Bài 9. Cấu trúc rẽ nhánh

Chia sẻ bởi Nguyễn My Ly | 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:

Nhiệt liệt chào mừng
các thầy cô về dự
Giáo viên: Nguyễn Mạnh Dũng
Trường THPT Phạm Quang Thẩm
Nam h?c 2011 - 2012
M�N: TIN H?C 11
L?P: 11G
Biểu thức quan hệ được tạo thành như thế nào ? Cho VD ?
Hai biểu thức cùng kiểu liên kết với nhau bởi phép toán quan hệ cho ta được biểu thức quan hệ
Ví dụ: x > 9;
i * 4 < 3 * j ;
KI?M TRA b�i cũ
Biểu thức logic được tạo thành như thế nào ? Cho VD ?
Các biểu thức quan hệ liên kết với nhau bởi phép toán logic
Ví dụ: 0 < x < 9  (x > 0) and (x < 9)
CHƯƠNG 3:
CẤU TRÚC RẼ NHÁNH VÀ LẶP
BÀI 9:

CẤU TRÚC RẼ NHÁNH
Nội dung:
Mời các bạn cùng xem và tìm hiểu các tình huống sau nhé!
ừm, để tớ nghĩ đã.
Nếu ngày mai mưa thì tớ nghỉ.
à! Nếu ngày mai mưa thì tớ nghỉ, nếu không mưa thì tớ đến nhà cậu học nhé.
Này, ngày mai cậu có đi học nhóm không?
Nếu … thì… Cách diễn đạt này thuộc dạng thiếu
Nếu … thì… , nếu không thì…  Cách diễn đạt này thuộc dạng đủ
Mệnh đề 1
Nếu trời mưa thì Minh sẽ ở nhà xem ti vi.
Mệnh đề 2
Nếu trời mưa thì Minh sẽ ở nhà xem ti vi, nếu trời không mưa (điều kiện ngược lại)thì Minh sẽ đi học nhóm với Hùng
Rẽ nhánh
Cấu trúc dùng để mô tả các mệnh đề có dạng như trên gọi là
cấu trúc rẽ nhánh.
Xét hai mệnh đề sau:
Ví dụ: Giải phương trình bậc hai: ax2 + bx +c =0

Thuật toán:
+ Tính delta: D = b2 – 4ac
+ Kiểm tra D
- Nếu D<0 thì thông báo phương trình vô nghiệm.
- Nếu D≥0 thì tính và đưa ra nghiệm của phương trình.
Nhập a,b,c
D = b2 – 4ac
D ≥ 0 ?
Đúng
Sai
Thông báo vô nghiệm rồi kết thúc
Tính và đưa ra nghiệm thực rồi kết thúc
IF < Di?u ki?n > THEN < Cõu l?nh > ;
Điều kiện
Đúng

Câu lệnh
Nếu dúng thì du?c th?c hi?n,
sai b? b? qua.
Sai
a. D?ng thiếu

Câu lệnh
Đúng

Câu lệnh
Điều kiện
Điều kiện
2. Câu lệnh IF - THEN
- Điều kiện là biểu thức lôgic.
- Câu lệnh là một lệnh của Pascal.
Trong đó:
Ví dụ:
IF a mod 2=0 THEN Writeln(` a la so chan`);
Max
Giải thuật
Nếu Max < b
Gán Max := a
Lần lượt so sánh Max với b và c.
In giá trị Max
Ví dụ : Giải bài toán
Hãy lập chương trình nhập vào từ bàn phím 3 số nguyên a, b, c bất kỳ (a?b ?c). In ra màn hình số có giá trị lớn nhất?
Thì gán Max := b
Nếu Max < c
Thì gán Max := c
Mô phỏng bài toán tìm số lớn nhất của 3 số a, b, c
Xác định bài toán:
- Input : Ta cần nhập vào 3 số a,b và c
- Output : Thông báo giá trị lớn nhất giữa 3 số này
Ngôn ngữ tự nhiên
Ngôn ngữ lập trình
Max = a
Max := a ; {Phép gán}
Nếu b lớn hơn max thì
If b > max then
Max = c
Max := c ;
Nếu c lớn hơn max thì
If c > max then
Max = b
Max := b ;
b. D?ng d?:
IF < Di?u ki?n > THEN < Cõu l?nh 1 > ELSE < Cõu l?nh 2 >;
Điều kiện
Đúng

Câu lệnh 1
Sai

Câu lệnh 2
Nếu Dỳng thì du?c th?c hi?n, ngu?c l?i du?c th?c hi?n.
Đ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 mod 2=0 THEN Writeln(`a là so chan`)
ELSE Writeln(`a la so le`);
2. Câu lệnh IF - THEN
Bài toán: Giải phương trình bậc hai: ax2 + bx +c =0
- Tính delta D = b2 – 4ac
- Kiểm tra D
+Nếu D < 0: Thông báo phương trình vô nghiệm
+ Nếu D ≥ 0: Tính và đưa ra màn hình nghiệm của
phương trình.
Giống nhau: là câu lệnh cấu trúc rẽ nhánh, khi gặp điều
kiện sẽ thực hiện thao tác thích hợp.

Khác nhau:
+ Dạng thiếu: điều kiện sai sẽ bỏ qua câu lệnh.
+ Dạng đủ: điều kiện sai sẽ thực hiện câu lệnh 2.
Tìm giống và khác nhau giữa 2 dạng
Hãy dùng câu lệnh IF - THEN viết lệnh để xét các trường hợp của DELTA
IF Delta<0 then writeln(`phuong trỡnh vụ nghi?m`)
ELSE
X1:= (-B + SQRT(Delta))/(2*A);
X2:= (-B - SQRT(Delta))/(2*A);
Writeln(` Nghiem X1= `, X1:5:1);
Writeln(` Nghiem X2= `, X2:5:1);
3. C�U L?NH GHẫP:
Trong Pascal cho phép gộp nhiều câu lệnh thành một câu lệnh, gọi là câu lệnh ghép, có dạng như sau:
BEGIN
< Cỏc Cõu l?nh >;
END;
IF Delta<0 then writeln(`phuong 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;
Ví dụ:
Program GPTB2;
Uses crt;
Var . . . ;
BEGIN
. . . Nhập vào 3 hệ số a,b,c .. .
Delta :=. . .;
Readln;
END.
Nếu Delta<0 thì writeln(`ptvn`)
ngược lại Tính và in nghiệm;
4. một số ví dụ
Em hãy hoàn thiện chương trình giải phương trình bậc 2 (a?0) theo dàn ý sau:
Ví dụ 1:
Bài tập củng cố:
1. Nêu cú pháp của câu lệnh IF-THEN ở hai dạng
thiếu và đủ?
- Dạng thiếu: IF <điều kiện> THEN ;
- Dạng đủ: IF <điều kiện> THEN
ELSE ;
2. Bài tập trắc nghiệm:

Bài 1: Hãy chọn phương án ghép đúng nhất. Trong
câu lệnh IF – THEN, sau IF là <điều kiện>. Điều kiện
là:
A. Biểu thức logic.
B. Biểu thức số học.
C. Một câu lệnh.
A
Bài 2: Hãy chọn phương án ghép đúng nhất.
Trong câu lệnh IF <điều kiện> THEN .
Câu lệnh đứng sau THEN được thực hiện khi?
A. Điều kiện cho giá trị sai.
B. Điều kiện cho giá trị đúng.
C. Không cần xét điều kiện.
B
Bài 3: Với cấu trúc
IF <điều kiện>THEN
ELSE , câu lệnh 2 được thực hiện khi?
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
Áp dụng: hãy nhập vào một số nguyên a,nếu a chia hết cho 2 thì in ra màn hình “a la so chan”, ngược lại in ra “a la so le”.
Program baitap1;
Uses crt;
Var a: integer;
Begin
Write(‘nhap so nguyen a ‘); readln(a);
If (a mod 2 =0) then
Writeln(a, ‘la so chan’);
Else
Writeln(a, ‘la so le’);
Readln
End.
Bài học đến đây là kết thúc
cảm ơn các thầy cô giáo và các em
* 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 My Ly
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)