Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Nguyễn Thị Kim Oanh |
Ngày 10/05/2019 |
64
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
CẤU TRÚC RẼ NHÁNH
1. Rẽ nhánh:
Cỏc em hóy xem tỡnh hu?ng sau
Để tớ nghĩ đã
Nếu ngày mai mưa thì tớ nghỉ
Uh, nếu ngày mai trời mưa thì tớ nghỉ, nếu không thì tớ sẽ đến nhà cậu học nhóm
Này, ngày mai cậu có đi học nhóm không?
A
B
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 được gọi là Cấu trúc rẽ nhánh
DẠNG THIẾU
DẠNG ĐỦ
Ví dụ: Giải PT bậc 2: ax2+bx+c=0 (a0)
Hãy nêu các bước để giải PT bậc 2
Nhập hệ số a, b, c
Tính Delta = b2 - 4ac
- Nếu Delta < 0 thì thông báo PT vô nghiệm, ngược lại thì tính và đưa ra nghiệm.
Cỏc em hóy xem thu?t toỏn d? gi?i PT b?c 2
Nhập a, b, c
Delta ? b2 - 4ac
Delta < 0 ?
Sai
Đúng
Thông báo PT
vô nghiệm, rồi KT
Tính và đưa ra
nghiệm rồi KT
IF <điều kiện> THEN;
Nếu điều kiện đúng thì thực hiện câu lệnh, sai thì bỏ qua câu lệnh.
a. Dạng thiếu:
2. Câu lệnh IF-THEN:
- IF, THEN là các từ khóa
- Điều kiện: là biểu thức quan hệ hoặc biểu thức logic.
- Câu lệnh là một câu lệnh của Pascal.
Trong đó:
Vớ d?:
IF a mod 2=0 THEN Writeln(` a la so chan`);
IF <điều kiện> THEN ELSE ;
N?u di?u ki?n dỳng thỡ th?c hi?n cõu l?nh 1, ngu?c l?i thỡ th?c hi?n cõu l?nh 2
Ví dụ:
IF a mod 2=0 THEN Writeln(`a la so chan`)
ELSE Writeln(`a la so le`);
b. 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(`pt vo nghiem`)
ELSE
Begin
Writeln(`Phuong trinh co nghiem`);
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;
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:
BEGIN
< Cỏc cõu l?nh>;
END;
IF Delta<0 then writeln(`phuong trinh vo nghiem`)
ELSE
BEGIN
Writeln(`Phuong trinh co nghiem`);
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 mệnh đề có dạng:
“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 d?
Cõu l?nh ghộp
BEGIN
;
END;
IF <điều kiện> THEN;
IF <điều kiện> THEN
ELSE;
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
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
Và
Và
Đá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;
CẤU TRÚC RẼ NHÁNH
1. Rẽ nhánh:
Cỏc em hóy xem tỡnh hu?ng sau
Để tớ nghĩ đã
Nếu ngày mai mưa thì tớ nghỉ
Uh, nếu ngày mai trời mưa thì tớ nghỉ, nếu không thì tớ sẽ đến nhà cậu học nhóm
Này, ngày mai cậu có đi học nhóm không?
A
B
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 được gọi là Cấu trúc rẽ nhánh
DẠNG THIẾU
DẠNG ĐỦ
Ví dụ: Giải PT bậc 2: ax2+bx+c=0 (a0)
Hãy nêu các bước để giải PT bậc 2
Nhập hệ số a, b, c
Tính Delta = b2 - 4ac
- Nếu Delta < 0 thì thông báo PT vô nghiệm, ngược lại thì tính và đưa ra nghiệm.
Cỏc em hóy xem thu?t toỏn d? gi?i PT b?c 2
Nhập a, b, c
Delta ? b2 - 4ac
Delta < 0 ?
Sai
Đúng
Thông báo PT
vô nghiệm, rồi KT
Tính và đưa ra
nghiệm rồi KT
IF <điều kiện> THEN
Nếu điều kiện đúng thì thực hiện câu lệnh, sai thì bỏ qua câu lệnh.
a. Dạng thiếu:
2. Câu lệnh IF-THEN:
- IF, THEN là các từ khóa
- Điều kiện: là biểu thức quan hệ hoặc biểu thức logic.
- Câu lệnh là một câu lệnh của Pascal.
Trong đó:
Vớ d?:
IF a mod 2=0 THEN Writeln(` a la so chan`);
IF <điều kiện> THEN
N?u di?u ki?n dỳng thỡ th?c hi?n cõu l?nh 1, ngu?c l?i thỡ th?c hi?n cõu l?nh 2
Ví dụ:
IF a mod 2=0 THEN Writeln(`a la so chan`)
ELSE Writeln(`a la so le`);
b. 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(`pt vo nghiem`)
ELSE
Begin
Writeln(`Phuong trinh co nghiem`);
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;
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:
BEGIN
< Cỏc cõu l?nh>;
END;
IF Delta<0 then writeln(`phuong trinh vo nghiem`)
ELSE
BEGIN
Writeln(`Phuong trinh co nghiem`);
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 mệnh đề có dạng:
“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 d?
Cõu l?nh ghộp
BEGIN
END;
IF <điều kiện> THEN
IF <điều kiện> THEN
ELSE
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 m
2 B. 5
C. false D. true
Đáp án: Câu D
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
Và
Và
Đá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ẻ: Nguyễn Thị Kim Oanh
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)