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

Chia sẻ bởi Mai Phương Diệp | Ngày 10/05/2019 | 66

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ương III
. Các câu lệnh thực hiện rẽ nhánh và lặp của Pascal
. Cấu trúc rẽ nhánh và lặp trong lập trình
Cấu trúc rẽ nhánh và lặp
Thời gian 1 tiết
1. Rẽ nhánh
Chiều mai nếu trời mưa thì Châu sẽ nghỉ ở nhà
Chiều mai nếu trời mưa thì Châu sẽ nghỉ ở nhà, nếu không mưa thì Châu sẽ đến nhà Ngọc học nhé.


Thuộc dạng thiếu
Nếu < điều kiện > thì < CV>
Nếu< điều kiện> thì < CV1> nếu không thì< CV2>;
Thuộc dạng đủ:
Ví dụ: Giải phương trình bậc hai ax2+bx+c=0 (a?0)
Hãy nêu ý tu?ng giải phương trình bậc hai?
D:=b*b-4*a*c
D>=0?
Thông báo VN
Kết thúc
Tính và đưa ra nghiệm
Kết thúc
Nhập a, b, c
Đ
S
D>=0?
Sơ đồ
Tính Delta=b2 - 4ac
Nếu Delta >=0 thì tớnh v� dua ra nghi?m c?a PT, ngược lại thụng bỏo PT vụ nghi?m r?i k?t thỳc
IF a mod 2= 0 then
Write(‘a la so chan’)
IF a mod 2= 0 then write(‘a la so chan’)
Else Write (‘ a la so le’);
a. Dạng thiếu
b. Dạng đủ
- IF, THEN, ELSE là các từ khoá.
- Điều kiện : là biểu thức lôgic.
- Câu lệnh, CL1,CL2: là một lệnh của TP.
Trong đó:
VD: Nếu a chia hết cho 2
thì a la số chẵn
VD:Nếu a chia hết cho 2 thì a là số chẵn
Ngược lại a là số lẻ.
If <điều kiện> then ;
If <điều kiện> then
else ;
2. Câu lệnh IF - THEN
Lưu ý:- Sau Then v� sau else ch? cú 1 câu l?nh chuong trỡnh.
- Tru?c Else khụng ch?a d?u ";"
Điều kiện
Đúng

Câu lệnh
Nếu <điều kiện> đúng thì được thực hiện,
sai bị bỏ qua.
Sai

Câu lệnh
Đúng

Câu lệnh
Điều kiện
Điều kiện
2. Câu lệnh IF - THEN (D?ng thi?u)
If <điều kiện> then ;
Điều kiện
Đúng

Câu lệnh 1
Sai

Câu lệnh 2
Nếu <điều kiện> đúng thì được thực hiện,
ngược lại thì đượ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
If <điều kiện> then else ;
2. Câu lệnh IF - THEN (D?ng d? )
VD2: Kết luận nghiệm PT bậc hai:
IF D<0 then writeln(`phuong trinh vo nghiem`)
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 ;
VD1: Tìm số lớn nhất max trong hai số a và b ?
2. Câu lệnh IF - THEN - Vớ d?
3. Câu lệnh ghép
BEGIN
< Các câu lệnh>;
END;
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;
Ví dụ:
C?ng c?
Cấu trúc chung c?a c?u trỳc rẽ nhánh.
? C?u trỳc chung v� quỏ trỡnh th?c hi?n c?a cõu lệnh rẽ nhánh IF - Then (dạng thiếu v� d? )
Câu lệnh ghép
BEGIN
;
END;
Trắc nghiệm
Câu 1: Cho biết kết quả hiển thị lên màn hình của đoạn chương trình sau:
Var a, b,max: word;
a:= 100; b:=5;
Max:=a;
If b>a then max:=b;
Write(‘so lon nhat la: ‘, max);
so lon nhat la: max B. 100
C. so lon nhat la: 100 d. so lon nhat la: 5
Đáp án: Câu C
Trắc nghiệm
Câu 2: Đoạn chương trình sau đưa ra màn hình kết quả gì?
Var a,b: integer;
A:=5; b:=2;
If a>b then write(a+b) ;
7 B. a+b
C. 5+2 D. không in gì cả
Đáp án: Câu A
Trắc nghiệm
Câu 3: Đoạn chương trình sau đưa ra màn hình kết quả gì?
Var a: integer;
A:=7;
If a mod 2=0 then write(‘a la so chan’) else write(‘a la so le’);
a la so chan B. a la so le
C. 7 la so le D. báo lỗi ngữ pháp
Đáp án: Câu B
Trắc nghiệm
Câu 4: Đoạn chương trình sau đưa ra màn hình kết quả gì?
Var m,n: integer;
m:=2; n:=5;
If m7) else write(m);
2 B. 5
C. false D. true
Đáp án: Câu D
Hãy xác định Input và Output của bài?
Ví dụ 1: 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.
Input: Nhập N từ bàn phím.
Output: Đưa số ngày của năm N ra màn hình.
Nếu N chia hết cho 400 hoặc N chia hết cho 4 nhưng không chia hết cho 100
thì In ra số ngày của năm nhuận là 366,
ngược lại In ra số ngày là 365
Em hãy khai báo biến cho bài toán trên?
Viết điều kiện:
Nếu N chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100
thì nhận số ngày của năm nhuận, ngược lại nhận số ngày của năm thường.
Nhập vào NĂM cần tính số lượng ngày
In ra kết quả?
Bài tập v? nh�:
Viết câu lệnh rẽ nhánh tính:
1.
2.
Nếu
nếu
nếu


Đáp án:
Bài 1
If (x+2) > 0 and (x+1) <> 0 then
y:= 1 + sqrt(x+2)/(x+1);
Else
Write(‘khong tinh duoc’);
Bài 2
If (sqr(x)+sqr(y)) <=1 then z:= sqr(x) + sqr(y);
Else
if y >= x then z:= x + y
Else
z:= 0.5;
* 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ẻ: Mai Phương Diệp
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)