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

Chia sẻ bởi Nam Long Bui | Ngày 10/05/2019 | 165

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:

Bài 9
Giáo án điện tử tin học lớp 11
(2 tiết)
1. Rẽ nhánh
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ì
Nếu . thì., nếu không thì .
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.
Ví dụ: Giải phương trình bậc hai ax2+bx+c=0 (a?0)
Hãy nêu các bước giải phương trình bậc hai?
Nhập hệ số a,b,c
Tính Delta=b2 - 4ac
Nếu Delta âm thì thông báo PT vô nghiệm, ngược lại tính và đưa ra nghiệm.

Các em hãy vẽ sơ đồ thuật toán giải phương trình bậc 2 (với a?0)
Sau khi tính Delta, tuỳ thuộc vào giá trị Delta, một trong hai thao tác sẽ thực hiện.
Nhập a, b, c
Tính Delta = b2 - 4ac
Kiểm tra
Delta < 0
Tính và đưa ra nghiệm
Thông báo vô nghiệm
Kết thúc
Sai
Đúng
IF <Điều kiện> THEN ;
Đ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
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 quan hệ hoặc biểu thức lôgic.
- Câu lệnh là một lệnh của TP.
Trong đó:
Ví dụ:
IF a mod 2=0 THEN Writeln(` a la so chan`);
b. Dạng đủ
IF <Điều kiện> THEN ELSE ;
Đ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
Ví dụ:
IF a mod 2=0 THEN Writeln(`a là so chan`)
ELSE Writeln(`a la so le`);
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(`phương 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 TP 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:
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ụ:
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:
Hãy xác định Input và Output của bài?
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.
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ả?
Hãy nhớ
Cấu trúc mô tả các mệnh đề:
"Nếu . thì."
"Nếu . thì .ngược lại."
gọi là cấu trúc rẽ nhánh.
? Lệnh rẽ nhánh dạng thiếu
? Lệnh rẽ nhánh dạng đủ
Câu lệnh ghép
BEGIN
;
END;
IF <điều kiện> THEN ;
IF <điều kiện> THEN
ELSE ;
* 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ẻ: Nam Long Bui
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)