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

Chia sẻ bởi Dong Hoang | Ngày 10/05/2019 | 140

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
(1 tiết)
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 trời không mưa thì tớ sẽ đến nhà cậu.
à! 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 ở nhà tớ không?
Còn nếu ngày mai trời mưa thì sao?
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.
Xét VD trong SGK trang 38: Giải PTB2: 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 không âm thì đưa ra các nghiệm ngược lại thông báo PTVN

Các em hãy quan sát sơ đồ thuật toán sau
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
Delta = b2 - 4ac
Delta >= 0
Đưa ra các nghiệm
PTVN
Kết thúc
Sai
Đúng
Khi nhập
a=1; b=1; c=1
kết quả?
Khi nhập
a=1; b=4; c=1
kết quả?
IF <Điều kiện> THEN ;
Đ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
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
IF <Điều kiện> THEN ELSE ;
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 3 = 0 THEN Writeln(`a chia het cho 3`)
ELSE Writeln(`a khong chia het cho 3`);
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);

BEGIN
< Các câu lệnh>;
END;
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ẻ: Dong Hoang
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)