Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Kiều Lệ Quyên |
Ngày 10/05/2019 |
40
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
Chương III. Cấu trúc rẽ nhánh và lặp
1. Khái niệm rẽ nhánh
Ví dụ 1: Để giải phương trình bậc 2 ta phải:
Tính Δ = b2 – 4ac
Trong thực tế:
Nếu Δ < 0 thì phương trình vô nghiệm
Nếu Δ ≥ 0 thì phương trình có nghiệm
Có thể nói: nếu Δ < 0 thì phương trình vô nghiệm, ngược lại phương trình có nghiệm.
Nhập a, b, c
D b2 – 4ac
D ≥ 0
Tính và đưa ra nghiệm
Thực, rồi kết thúc
Thông báo vô
nghiệm, rồi kết thúc
Sơ đồ thể hiện cấu trúc rẽ nhánh
Đúng
Sai
2. Câu lệnh if – then
Dạng thiếu
Cú pháp: if <điều kiện> then;
Điều kiện
Câu lệnh
Sai
Đúng
Ý nghĩa: Tính và kiểm tra điều kiện, nếu điều kiện đúng, câu lệnh được thực hiện, nếu điều kiện sai câu lệnh sẽ bị bỏ qua
Sơ đồ khối
b. Dạng đủ
Cú pháp
if <điều kiện> then else ;
Điều kiện
Câu lệnh 1
Sai
Đúng
Câu lệnh 2
Ý nghĩa: Tính và kiểm tra điều kiện, nếu điều kiện đúng, câu lệnh 1 được thực hiện, ngược lại câu lệnh 2 được thực hiện.
Sơ đồ khối
Trong đó:
+ Điều kiện là biểu thức mang giá trị Logic.
+ Câu lệnh , câu lệnh 1, câu lệnh 2 là 1 câu lệnh của Pascal.
Lưu ý: Trong if – then dạng đủ: câu lệnh trước Else không có dấu “;”
Ví dụ 1: nhập a từ bàn phím, kiểm tra xem a có chia hết cho 5 không? Thông báo ra màn hình kết quả.
Ví dụ 2: Tìm giá trị nhỏ nhất của hai số nguyên a và b với a, b nhập từ bàn phím.
If a mod 5 = 0 then writeln(‘ a chia het cho 5’)
else writeln(‘ a khong chia het cho 5’);
C1: dùng if – then dạng thiếu
min:=a;
if b < a then min:=b;
C2: dùng if – then dạng đủ
if a < b then min := a else min := b;
3. Câu lệnh ghép
Câu lệnh ghép có dạng:
begin
;
end;
Thuật ngữ câu lệnh được hiểu chung cho câu lệnh đơn và câu lệnh ghép.
Lưu ý: trong câu lệnh ghép, sau end là dấu “;”
Program Giai_PTB2;
Uses crt;
Var a, b, c, D: real;
x1, x2: real;
Begin
clrscr;
write(‘a, b, c: ‘); readln(a,b,c);
D:=b*b – 4*a*c;
if D<0 then writeln(`phuong trinh vo nghiem.`)
Else
begin
x1:= (-b – sqrt(D))/(2*a);
x2:=-b/a – x1;
write(‘x1= ‘, x1:6:2, ‘ x2 = ‘,x2:6:2);
end;
Readln End.
Ví dụ 1: nhập a từ bàn phím, kiểm tra xem a có chia hết cho 5 không? Thông báo ra màn hình kết quả.
Xác định bài toán:
Input:
+ số a
Output: Thông báo a chia hết cho 5 hoặc thông báo a không chia hết cho 5
Thuật toán:
B1: nhập a
B2: Nếu a chia hết cho 5 thì thông báo a chia hết, ngược lại thông báo a không chia hết
Program …………………… (1)
Var …………………… (2)
Begin
…………………………. ………… (3)
…………………………. …………
…………………………. ………… (4)
……………………………………..
…………………………. …………
……………………………………..
End.
a: byte;
Write(‘ nhap a: ’) ;
Readln(a);
If a mod 5 = 0 then writeln(a, ‘chia het cho 5’) else writeln(a, ‘khong chia het cho 5’);
vidu1 ;
readln
Ví dụ 3: nhập a, b, c từ bàn phím, kiểm tra xem a, b, c có thể lập thành tam giác không? Nếu có tính chu vi và diện tích tam giác đó?
Xác định bài toán:
Input:
+ số a, b, c
Output: Thông báo a, b, c không lập thành tam giác hoặc đưa ra chu vi và diện tích tam giác.
Thuật toán:
B1: nhập a, b, c
B2: Nếu (a+b>c) và (a+c>b) và (b+c>a) thì tính và đưa ra màn hình chu vi, diện tích tam giác, ngược lại thông báo a, b, c không lập thành tam giác
Thuật toán:
B1: nhập a, b, c
B2: Nếu (a+b>c) và (a+c>b) và (b+c>a) thì tính và đưa ra màn hình chu vi, diện tích tam giác, ngược lại thông báo a, b, c không lập thành tam giác
Ví dụ 3:
Công thức tính chu vi:
Nửa chu vi:
Công thức tính diện tích:
Program …………………………… (1)
Var …………………………… (2)
Begin
…………………………. ……………………………………. ………………… (3)
…………………………. ……………………………………………………….. (4)
a, b,c: byte;
s,cv,p: real;
Write(‘ nhap a, b, c: ’) ;
Readln(a,b,c);
If (a+b>c) and (a+c>b) and (b+c>a) then begin
cv:=a+b+c; p:=cv/2; s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(‘ chu vi tam giac la: ’,cv);
Writeln(‘dien tich tam giac la: ’,s);
End
Else writeln( a, b, c, ‘ khong lap thanh tam giac’);
vidu3 ;
Readln End.
Chương III. Cấu trúc rẽ nhánh và lặp
1. Khái niệm rẽ nhánh
Ví dụ 1: Để giải phương trình bậc 2 ta phải:
Tính Δ = b2 – 4ac
Trong thực tế:
Nếu Δ < 0 thì phương trình vô nghiệm
Nếu Δ ≥ 0 thì phương trình có nghiệm
Có thể nói: nếu Δ < 0 thì phương trình vô nghiệm, ngược lại phương trình có nghiệm.
Nhập a, b, c
D b2 – 4ac
D ≥ 0
Tính và đưa ra nghiệm
Thực, rồi kết thúc
Thông báo vô
nghiệm, rồi kết thúc
Sơ đồ thể hiện cấu trúc rẽ nhánh
Đúng
Sai
2. Câu lệnh if – then
Dạng thiếu
Cú pháp: if <điều kiện> then
Điều kiện
Câu lệnh
Sai
Đúng
Ý nghĩa: Tính và kiểm tra điều kiện, nếu điều kiện đúng, câu lệnh được thực hiện, nếu điều kiện sai câu lệnh sẽ bị bỏ qua
Sơ đồ khối
b. Dạng đủ
Cú pháp
if <điều kiện> then
Điều kiện
Câu lệnh 1
Sai
Đúng
Câu lệnh 2
Ý nghĩa: Tính và kiểm tra điều kiện, nếu điều kiện đúng, câu lệnh 1 được thực hiện, ngược lại câu lệnh 2 được thực hiện.
Sơ đồ khối
Trong đó:
+ Điều kiện là biểu thức mang giá trị Logic.
+ Câu lệnh , câu lệnh 1, câu lệnh 2 là 1 câu lệnh của Pascal.
Lưu ý: Trong if – then dạng đủ: câu lệnh trước Else không có dấu “;”
Ví dụ 1: nhập a từ bàn phím, kiểm tra xem a có chia hết cho 5 không? Thông báo ra màn hình kết quả.
Ví dụ 2: Tìm giá trị nhỏ nhất của hai số nguyên a và b với a, b nhập từ bàn phím.
If a mod 5 = 0 then writeln(‘ a chia het cho 5’)
else writeln(‘ a khong chia het cho 5’);
C1: dùng if – then dạng thiếu
min:=a;
if b < a then min:=b;
C2: dùng if – then dạng đủ
if a < b then min := a else min := b;
3. Câu lệnh ghép
Câu lệnh ghép có dạng:
begin
end;
Thuật ngữ câu lệnh được hiểu chung cho câu lệnh đơn và câu lệnh ghép.
Lưu ý: trong câu lệnh ghép, sau end là dấu “;”
Program Giai_PTB2;
Uses crt;
Var a, b, c, D: real;
x1, x2: real;
Begin
clrscr;
write(‘a, b, c: ‘); readln(a,b,c);
D:=b*b – 4*a*c;
if D<0 then writeln(`phuong trinh vo nghiem.`)
Else
begin
x1:= (-b – sqrt(D))/(2*a);
x2:=-b/a – x1;
write(‘x1= ‘, x1:6:2, ‘ x2 = ‘,x2:6:2);
end;
Readln End.
Ví dụ 1: nhập a từ bàn phím, kiểm tra xem a có chia hết cho 5 không? Thông báo ra màn hình kết quả.
Xác định bài toán:
Input:
+ số a
Output: Thông báo a chia hết cho 5 hoặc thông báo a không chia hết cho 5
Thuật toán:
B1: nhập a
B2: Nếu a chia hết cho 5 thì thông báo a chia hết, ngược lại thông báo a không chia hết
Program …………………… (1)
Var …………………… (2)
Begin
…………………………. ………… (3)
…………………………. …………
…………………………. ………… (4)
……………………………………..
…………………………. …………
……………………………………..
End.
a: byte;
Write(‘ nhap a: ’) ;
Readln(a);
If a mod 5 = 0 then writeln(a, ‘chia het cho 5’) else writeln(a, ‘khong chia het cho 5’);
vidu1 ;
readln
Ví dụ 3: nhập a, b, c từ bàn phím, kiểm tra xem a, b, c có thể lập thành tam giác không? Nếu có tính chu vi và diện tích tam giác đó?
Xác định bài toán:
Input:
+ số a, b, c
Output: Thông báo a, b, c không lập thành tam giác hoặc đưa ra chu vi và diện tích tam giác.
Thuật toán:
B1: nhập a, b, c
B2: Nếu (a+b>c) và (a+c>b) và (b+c>a) thì tính và đưa ra màn hình chu vi, diện tích tam giác, ngược lại thông báo a, b, c không lập thành tam giác
Thuật toán:
B1: nhập a, b, c
B2: Nếu (a+b>c) và (a+c>b) và (b+c>a) thì tính và đưa ra màn hình chu vi, diện tích tam giác, ngược lại thông báo a, b, c không lập thành tam giác
Ví dụ 3:
Công thức tính chu vi:
Nửa chu vi:
Công thức tính diện tích:
Program …………………………… (1)
Var …………………………… (2)
Begin
…………………………. ……………………………………. ………………… (3)
…………………………. ……………………………………………………….. (4)
a, b,c: byte;
s,cv,p: real;
Write(‘ nhap a, b, c: ’) ;
Readln(a,b,c);
If (a+b>c) and (a+c>b) and (b+c>a) then begin
cv:=a+b+c; p:=cv/2; s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln(‘ chu vi tam giac la: ’,cv);
Writeln(‘dien tich tam giac la: ’,s);
End
Else writeln( a, b, c, ‘ khong lap thanh tam giac’);
vidu3 ;
Readln End.
* 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ẻ: Kiều Lệ Quyên
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)