Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Đoàn Thị Thư |
Ngày 10/05/2019 |
44
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:
TRƯỜNG THPT NGUYỄN CHÍ THANH
CẤU TRÚC RẼ NHÁNH VÀ LẶP
CẤU TRÚC RẼ NHÁNH
BÀI 9
CẤU TRÚC RẼ NHÁNH
1. Rẽ nhánh.
Thường ngày, có rất nhiều việc chỉ được thực hiện khi một điều kiện nào đó được thỏa mãn.
Ví dụ: Ngày mai, nếu trời mưa thì học sinh sẽ học thể dục ở hội trường, còn không thì sẽ học ở ngoài trời.
Ví dụ 1: Ngày mai, nếu thời tiết thuận lợi thì Nam sẽ đến chở An đi xem đá bóng ở sân vận động Tự Do.
Dạng thiếu: Nếu ... thì ...
Dạng đủ: Nếu ... thì ..., còn không thì ...
CẤU TRÚC RẼ NHÁNH
Rẽ nhánh có 2 dạng: Dạng thiếu và dạng đủ.
Ví dụ: Hãy chỉ ra sự rẽ nhánh trong bài toán giải phương trình: ax2 + bx +c = 0 (a ≠ 0). (a, b, c được nhập từ bàn phím)
Nhập a, b, c
D:=b2 – 4ac
D≥0
Tính và đưa ra nghiệm
rồi kết thúc
Thông báo pt vô nghiệm
rồi kết thúc
T
F
CẤU TRÚC RẼ NHÁNH
2. Câu lệnh If – then.
Dạng thiếu
Dạng đủ
a. Cú pháp:
If <điều kiện> then;
If <điều kiện> then
Else;
Trong đó:
- Điều kiện là biểu thức logic.
- Câu lệnh 1, câu lệnh 2, câu lệnh là một câu lệnh của Pascal .
CẤU TRÚC RẼ NHÁNH
b. Sơ đồ khối:
Điều kiện
Câu lệnh
Điều kiện
Câu lệnh 1
Câu lệnh 2
Điều kiện
Câu lệnh
Điều kiện
Câu lệnh 1
Câu lệnh 2
T
T
F
F
T
F
T
F
c. Cách thực hiện:
Tính và kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh, còn không thì câu lệnh bị bỏ qua.
Tính và kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh 1, còn không thì thực hiện câu lệnh 2.
Dạng thiếu
Dạng đủ
CẤU TRÚC RẼ NHÁNH
d. Ví dụ:
1. Viết chương trình kiểm tra một số nguyên dương m là số chẵn hay số lẽ. In kết quả ra màn hình. (m được nhập từ bàn phím)
Var m : word;
Begin
Write(‘nhap m: ’);
Readln(m);
If m mod 2 = 0 then
Write(m,‘ la so chan’)
Else Write(m,‘ la so le’);
Readln;
End.
Chương trình:
nhap m:
50
50 la so chan
T
In ra màn hình
m là số chẵn
In ra màn hình
m là số lẽ
T
F
CẤU TRÚC RẼ NHÁNH
Var m : word;
Begin
Write(‘nhap m: ’);
Readln(m);
If m mod 2 = 0 then
Write(m,‘ la so chan’);
If m mod 2 <> 0 then
Write(m,‘ la so le’);
Readln;
End.
Chương trình: (Dạng thiếu)
nhap m:
121
121 la so le
F
T
CẤU TRÚC RẼ NHÁNH
Var a, b, c: integer; d, x1, x2: real;
Begin
Writeln(‘nhap gia tri cho a, b, c: ’);
Readln(a, b, c);
d:=b*b – 4*a*c;
If d<0 then
write(‘pt vo nghiem’)
Else
x1:=(-b+sqrt(d))/(2*a));
x2:=(-b-sqrt(d))/(2*a));
Writeln(‘x1 = ’,x1:4:1, ‘ x2 = ’,x2:4:1);
Readln; End.
2. Hãy chạy chương trình dưới đây với các bộ dữ liệu:
* 1, -3, 2
* 2, 2, 4
Chương trình:
Nhap gia tri cho a, b, c:
1 -3 2
d
x1
x2
x1 = 1.0 x2 = 2.0
1
1.0
2.0
Var a, b, c: integer; d, x1, x2: real;
Begin
Writeln(‘nhap gia tri cho a, b, c: ’);
Readln(a, b, c);
d:=b*b – 4*a*c;
If d<0 then
write(‘pt vo nghiem’)
Else
x1:=(-b+sqrt(d))/(2*a));
x2:=(-b-sqrt(d))/(2*a));
Writeln(‘x1 = ’,x1:4:1, ‘ x2 = ’,x2:4:1);
Readln; End.
Nhap gia tri cho a, b, c:
2 2 4
-28
LỖI
CẤU TRÚC RẼ NHÁNH
3. Câu lệnh ghép:
- Cú pháp:
Begin
End;
- Tác dụng:
Gộp nhiều câu lệnh thành một câu lệnh ghép
CẤU TRÚC RẼ NHÁNH
LƯU Ý
Câu lệnh If - then có thể lồng nhau.
If <điều kiện 1> then
Else
if <điều kiện 2> then
else
.......
if <điều kiện n> then
else;
CỦNG CỐ
1. Dưới đây là chương trình kiểm tra và in ra màn hình số lớn nhất trong 2 số a và b. Chương trình có một số lỗi, chỉ ra các lỗi đó. Hãy sửa lại để được một chương trình đúng.
Var a, b:integer;
Begin
Write(‘nhap gia tri cho a va b:’); readln(a,b);
If a Else Write(b,‘ la so lon nhat);
Readln;
End.
a>b
CỦNG CỐ
2. Viết chương trình tính và in ra màn hình Z biết:
(x, y được nhập từ bàn phím).
Hướng dẫn:
T
F
Z=x*x+y*y, in Z ra
màn hình
Z=sqrt(x+y), in Z ra
màn hình
CẤU TRÚC RẼ NHÁNH VÀ LẶP
CẤU TRÚC RẼ NHÁNH
BÀI 9
CẤU TRÚC RẼ NHÁNH
1. Rẽ nhánh.
Thường ngày, có rất nhiều việc chỉ được thực hiện khi một điều kiện nào đó được thỏa mãn.
Ví dụ: Ngày mai, nếu trời mưa thì học sinh sẽ học thể dục ở hội trường, còn không thì sẽ học ở ngoài trời.
Ví dụ 1: Ngày mai, nếu thời tiết thuận lợi thì Nam sẽ đến chở An đi xem đá bóng ở sân vận động Tự Do.
Dạng thiếu: Nếu ... thì ...
Dạng đủ: Nếu ... thì ..., còn không thì ...
CẤU TRÚC RẼ NHÁNH
Rẽ nhánh có 2 dạng: Dạng thiếu và dạng đủ.
Ví dụ: Hãy chỉ ra sự rẽ nhánh trong bài toán giải phương trình: ax2 + bx +c = 0 (a ≠ 0). (a, b, c được nhập từ bàn phím)
Nhập a, b, c
D:=b2 – 4ac
D≥0
Tính và đưa ra nghiệm
rồi kết thúc
Thông báo pt vô nghiệm
rồi kết thúc
T
F
CẤU TRÚC RẼ NHÁNH
2. Câu lệnh If – then.
Dạng thiếu
Dạng đủ
a. Cú pháp:
If <điều kiện> then
If <điều kiện> then
Else
Trong đó:
- Điều kiện là biểu thức logic.
- Câu lệnh 1, câu lệnh 2, câu lệnh là một câu lệnh của Pascal .
CẤU TRÚC RẼ NHÁNH
b. Sơ đồ khối:
Điều kiện
Câu lệnh
Điều kiện
Câu lệnh 1
Câu lệnh 2
Điều kiện
Câu lệnh
Điều kiện
Câu lệnh 1
Câu lệnh 2
T
T
F
F
T
F
T
F
c. Cách thực hiện:
Tính và kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh, còn không thì câu lệnh bị bỏ qua.
Tính và kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh 1, còn không thì thực hiện câu lệnh 2.
Dạng thiếu
Dạng đủ
CẤU TRÚC RẼ NHÁNH
d. Ví dụ:
1. Viết chương trình kiểm tra một số nguyên dương m là số chẵn hay số lẽ. In kết quả ra màn hình. (m được nhập từ bàn phím)
Var m : word;
Begin
Write(‘nhap m: ’);
Readln(m);
If m mod 2 = 0 then
Write(m,‘ la so chan’)
Else Write(m,‘ la so le’);
Readln;
End.
Chương trình:
nhap m:
50
50 la so chan
T
In ra màn hình
m là số chẵn
In ra màn hình
m là số lẽ
T
F
CẤU TRÚC RẼ NHÁNH
Var m : word;
Begin
Write(‘nhap m: ’);
Readln(m);
If m mod 2 = 0 then
Write(m,‘ la so chan’);
If m mod 2 <> 0 then
Write(m,‘ la so le’);
Readln;
End.
Chương trình: (Dạng thiếu)
nhap m:
121
121 la so le
F
T
CẤU TRÚC RẼ NHÁNH
Var a, b, c: integer; d, x1, x2: real;
Begin
Writeln(‘nhap gia tri cho a, b, c: ’);
Readln(a, b, c);
d:=b*b – 4*a*c;
If d<0 then
write(‘pt vo nghiem’)
Else
x1:=(-b+sqrt(d))/(2*a));
x2:=(-b-sqrt(d))/(2*a));
Writeln(‘x1 = ’,x1:4:1, ‘ x2 = ’,x2:4:1);
Readln; End.
2. Hãy chạy chương trình dưới đây với các bộ dữ liệu:
* 1, -3, 2
* 2, 2, 4
Chương trình:
Nhap gia tri cho a, b, c:
1 -3 2
d
x1
x2
x1 = 1.0 x2 = 2.0
1
1.0
2.0
Var a, b, c: integer; d, x1, x2: real;
Begin
Writeln(‘nhap gia tri cho a, b, c: ’);
Readln(a, b, c);
d:=b*b – 4*a*c;
If d<0 then
write(‘pt vo nghiem’)
Else
x1:=(-b+sqrt(d))/(2*a));
x2:=(-b-sqrt(d))/(2*a));
Writeln(‘x1 = ’,x1:4:1, ‘ x2 = ’,x2:4:1);
Readln; End.
Nhap gia tri cho a, b, c:
2 2 4
-28
LỖI
CẤU TRÚC RẼ NHÁNH
3. Câu lệnh ghép:
- Cú pháp:
Begin
End;
- Tác dụng:
Gộp nhiều câu lệnh thành một câu lệnh ghép
CẤU TRÚC RẼ NHÁNH
LƯU Ý
Câu lệnh If - then có thể lồng nhau.
If <điều kiện 1> then
Else
if <điều kiện 2> then
else
.......
if <điều kiện n> then
else
CỦNG CỐ
1. Dưới đây là chương trình kiểm tra và in ra màn hình số lớn nhất trong 2 số a và b. Chương trình có một số lỗi, chỉ ra các lỗi đó. Hãy sửa lại để được một chương trình đúng.
Var a, b:integer;
Begin
Write(‘nhap gia tri cho a va b:’); readln(a,b);
If a Else Write(b,‘ la so lon nhat);
Readln;
End.
a>b
CỦNG CỐ
2. Viết chương trình tính và in ra màn hình Z biết:
(x, y được nhập từ bàn phím).
Hướng dẫn:
T
F
Z=x*x+y*y, in Z ra
màn hình
Z=sqrt(x+y), in Z ra
màn hình
* 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 Thị Thư
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)