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

Chia sẻ bởi Đoàn Ngọc Tùng | Ngày 10/05/2019 | 55

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:

CẤU TRÚC RẼ NHÁNH VÀ LẶP
Tiết 10
Chương III
Bài 9
cấu trúc rẽ nhánh
1. R? NH�NH
Mời các em cùng xem và tìm hiểu các tình huống sau nhé!
Để tớ nghĩ đã.
Nếu ngày mai mưa thì tớ ở nhà học bài.
À! Nếu ngày mai mưa thì tớ ở nhà học bài, 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ụ: Tìm nghiệm thực của 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 D=b2 - 4ac
Nếu D < 0 thì thông báo PT vô nghiệm, ngược lai tính và đưa ra nghiệm.
Các em hãy xem sơ đồ thuật toán giải phương trình bậc 2 (với a 0).
Sau khi tính D, tùy thuộc vào giá trị D, một trong hai thao tác sẽ thực hiện.
Nhập a, b, c
Tính D= b2 – 4ac
Kiểm tra D < 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 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
- Di?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’);
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 dỳng thỡ du?c th?c hi?n,
ngu?c l?i thỡ 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 la so chan’)
ELSE Writeln(‘a la so le’);
Ví du: Để tìm số lớn nhất (max) trong hai số a và b.
Cách 1: sử dụng if-then thiếu
max:=a;
if b>a then max:=b;
Cách 2: sử dụng if-then đủ
if b>a then max:=b else max:=a;
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ó dang:
begin
< cỏc cõu l?nh>;
end;
IF D<0 then writeln(‘phuong trinh vo nghiem.’)
ELSE
BEGIN
X1:= (-b- sqrt(D))/(2*a);
X2:= -b/a-X1;
Writeln(‘ X1= ’, X1:5:1, ‘ X2=’, X2:5:1);
END;
Ví dụ:
3. CÂU LỆNH GHÉP
Hãy cho biết các lệnh sau đúng hay sai? Vì sao?
if i=j then
if j=k then
writeln(`i=k`)
else writeln(`i<>j`);
Đúng là:
-Lưu ý:
if i=j then
begin
if j=k then
writeln(`i=k`);
end
else writeln(`i<>j`);

4. M?T S? V� D?
Ví dụ 1:
Tìm nghiệm thực của phương trình bậc hai ax2+bx+c=0 (a0)
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 cho 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 lai nhận số ngày của năm thường.
Nhập vào Năm cần tính số ngày.
In ra kết quả?
5. C?NG 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ẻ: Đoàn Ngọc Tù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)