Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Võ Hữu Lộ |
Ngày 10/05/2019 |
48
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:
1
Kiểm tra bài cũ:
Câu 1: Trong Pascal, một biến chỉ nhận giá trị nguyên trong phạm vi từ 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào?
Câu 2: Biến P nhận các giá trị 5; 10; 15; 20 và biến X nhận các giá trị 0,1; 0,2; 0,3; 0,4; 0,5. Khai báo nào trong các khai báo sau là đúng?
2
Kiểm tra bài cũ:
Câu 3: Hãy chuyển các biểu thức trong Pascal dưới đây sang biểu thức toán học tương ứng?
Câu 4: Hãy viết biểu thức toán học dưới đây trong Pascal?
3
Chương 3
CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9: CẤU TRÚC RẼ NHÁNH
4
1. Rẽ nhánh
5
Dạng thiếu: Nếu …thì….
Dạng đủ: Nếu …thì...,nếu không thì….
1. Rẽ nhánh
VD1: Nếu ngày mai mưa thì An không đi
VD2: Nếu ngày mai mưa thì An không đi, nếu không mưa thì An sẽ đi chơi với nhóm
VD1: Nếu ngày mai mưa thì An không đi chơi
VD2: Nếu ngày mai mưa thì An không đi, nếu không mưa thì An sẽ đi chơi với nhóm
6
Ví dụ: Biện luận các trường hợp Delta (D= b2 – 4ac) để kết luận nghiệm của phương trình bậc hai: ax2 + bx + c=0;
1. Rẽ nhánh
Nếu D < 0 thì kết luận phương trình vô nghiệm
Nếu D >= 0 thì kết luận phương trình có nghiệm
7
If <Điều kiện> Then;
Điều kiện
Đúng
Cõu l?nh
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
Ví dụ: Nếu a chia hết cho 2 thì in ra màn hình a là số chẳn
Trong đó: - Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh là một lệnh của Turbo Pascal.
Cơ chế hoạt động: Nếu <điều kiện> đúng thì câu lệnh được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua.
If (a mod 2=0) then write(‘a la so chan’);
Nếu <Điều kiện> thì
8
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
Cơ chế hoạt động: 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 2=0) Then Writeln(‘a la so chan’)
else Writeln(‘a la so le’);
2. Câu lệnh If-then (tt)
Ví dụ: Kiểm tra a chia hết cho 2 thì in ra màn hình a là số chẳn, ngược lại a là số lẻ.
9
2. Câu lệnh If-then (tt)
Chú ý:
- Trong câu lệnh If-Then hoặc If-Then-Else thì sau Then, Else chỉ có một câu lệnh.
- Câu lệnh trước Else không có dấu chấm phẩy (;)
10
Hãy dùng câu lệnh If – Then để xét các điều kiện của Delta (D)?
If D<0 then writeln(‘phuong trinh vo nghiem’)
Else
x1:= (-b + sqrt(Delta))/(2*a);
x2:= (-b - sqrt(Delta))/(2*a);
Writeln(‘ Nghiem x1= ’, x1:6:2);
Writeln(‘ Nghiem x2= ’, x2:6:2);
2. Câu lệnh If-then (tt)
11
3. Câu lệnh ghép
Trong Turbo 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âu lệnh hợp thành), có dạng:
Begin
;
End;
If Delta<0 then writeln(‘phuong trinh vo nghiem’)
Else
begin
x1:= (-b + sqrt(Delta))/(2*a);
x2:= (-b - sqrt(Delta))/(2*a);
writeln(‘Nghiem x1= ’, x1:4:2);
writeln(‘Nghiem x2= ’, x2:4:2);
end;
Ví dụ:
x1:= (-b + sqrt(Delta))/(2*a);
x2:= (-b - sqrt(Delta))/(2*a);
writeln(‘Nghiem x1= ’, x1:4:2);
writeln(‘Nghiem x2= ’, x2:4:2);
12
4. Một số ví dụ:
Ví dụ 1: Hoàn thiện chương trình giải phương trình bậc 2 (a0) theo dàn ý sau:
Program GPTB2;
Uses crt;
Var . . . ;
Begin
. . . In dòng chữ nhập vào 3 hệ số a, b, c .. .
……..Nhập vào 3 hệ số a, b, c…………….
Tính Delta :=. . .;
Nếu Delta<0 thì writeln(‘ptvn’)
ngược lại Tính và in nghiệm;
Readln;
End.
13
Những nội dung cơ bản cần đạt được
1. 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.
2. Câu lệnh If-then:
a. Dạng thiếu:
If <Điều kiện> Then;
b. Dạng đủ:
If <Điều kiện> Then Else ;
3. Câu lệnh ghép:
Begin
;
end;
4. Vận dụng để giải các bài tập trong sách giáo khoa.
14
Củng cố
Câu 1: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh If - then?
A. Nếu sau Then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu ngoặc đơn;
B. Nếu sau Then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End;
C. Nếu sau Then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End. ;
D. Nếu sau Then muốn thực hiện nhiều câu lệnh thì chỉ cần liệt kê các lệnh ra.
15
Củng cố
Câu 2: Hãy đánh dấu vào đáp số đúng, cho đoạn chương trình sau:
Begin
x:=a;
if a writeln(‘Ket qua x la’, x)
End.
a. Cho a=20; b=15. Kết quả x bằng bao nhiêu?
b. Cho a=5; b=10. Kết quả x bằng bao nhiêu?
?
?
Kiểm tra bài cũ:
Câu 1: Trong Pascal, một biến chỉ nhận giá trị nguyên trong phạm vi từ 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào?
Câu 2: Biến P nhận các giá trị 5; 10; 15; 20 và biến X nhận các giá trị 0,1; 0,2; 0,3; 0,4; 0,5. Khai báo nào trong các khai báo sau là đúng?
2
Kiểm tra bài cũ:
Câu 3: Hãy chuyển các biểu thức trong Pascal dưới đây sang biểu thức toán học tương ứng?
Câu 4: Hãy viết biểu thức toán học dưới đây trong Pascal?
3
Chương 3
CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9: CẤU TRÚC RẼ NHÁNH
4
1. Rẽ nhánh
5
Dạng thiếu: Nếu …thì….
Dạng đủ: Nếu …thì...,nếu không thì….
1. Rẽ nhánh
VD1: Nếu ngày mai mưa thì An không đi
VD2: Nếu ngày mai mưa thì An không đi, nếu không mưa thì An sẽ đi chơi với nhóm
VD1: Nếu ngày mai mưa thì An không đi chơi
VD2: Nếu ngày mai mưa thì An không đi, nếu không mưa thì An sẽ đi chơi với nhóm
6
Ví dụ: Biện luận các trường hợp Delta (D= b2 – 4ac) để kết luận nghiệm của phương trình bậc hai: ax2 + bx + c=0;
1. Rẽ nhánh
Nếu D < 0 thì kết luận phương trình vô nghiệm
Nếu D >= 0 thì kết luận phương trình có nghiệm
7
If <Điều kiện> Then
Điều kiện
Đúng
Cõu l?nh
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
Ví dụ: Nếu a chia hết cho 2 thì in ra màn hình a là số chẳn
Trong đó: - Điều kiện là biểu thức quan hệ hoặc biểu thức lôgic.
- Câu lệnh là một lệnh của Turbo Pascal.
Cơ chế hoạt động: Nếu <điều kiện> đúng thì câu lệnh được thực hiện, ngược lại thì câu lệnh sẽ bị bỏ qua.
If (a mod 2=0) then write(‘a la so chan’);
Nếu <Điều kiện> thì
8
b. Dạng đủ:
If <Điều kiện> Then
Điều kiện
Đúng
Cõu l?nh 1
Sai
Cõu l?nh 2
Cơ chế hoạt động: Nếu <điều kiện> đúng thì
ngược lại thì
Đ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’);
2. Câu lệnh If-then (tt)
Ví dụ: Kiểm tra a chia hết cho 2 thì in ra màn hình a là số chẳn, ngược lại a là số lẻ.
9
2. Câu lệnh If-then (tt)
Chú ý:
- Trong câu lệnh If-Then hoặc If-Then-Else thì sau Then, Else chỉ có một câu lệnh.
- Câu lệnh trước Else không có dấu chấm phẩy (;)
10
Hãy dùng câu lệnh If – Then để xét các điều kiện của Delta (D)?
If D<0 then writeln(‘phuong trinh vo nghiem’)
Else
x1:= (-b + sqrt(Delta))/(2*a);
x2:= (-b - sqrt(Delta))/(2*a);
Writeln(‘ Nghiem x1= ’, x1:6:2);
Writeln(‘ Nghiem x2= ’, x2:6:2);
2. Câu lệnh If-then (tt)
11
3. Câu lệnh ghép
Trong Turbo 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âu lệnh hợp thành), có dạng:
Begin
End;
If Delta<0 then writeln(‘phuong trinh vo nghiem’)
Else
begin
x1:= (-b + sqrt(Delta))/(2*a);
x2:= (-b - sqrt(Delta))/(2*a);
writeln(‘Nghiem x1= ’, x1:4:2);
writeln(‘Nghiem x2= ’, x2:4:2);
end;
Ví dụ:
x1:= (-b + sqrt(Delta))/(2*a);
x2:= (-b - sqrt(Delta))/(2*a);
writeln(‘Nghiem x1= ’, x1:4:2);
writeln(‘Nghiem x2= ’, x2:4:2);
12
4. Một số ví dụ:
Ví dụ 1: Hoàn thiện chương trình giải phương trình bậc 2 (a0) theo dàn ý sau:
Program GPTB2;
Uses crt;
Var . . . ;
Begin
. . . In dòng chữ nhập vào 3 hệ số a, b, c .. .
……..Nhập vào 3 hệ số a, b, c…………….
Tính Delta :=. . .;
Nếu Delta<0 thì writeln(‘ptvn’)
ngược lại Tính và in nghiệm;
Readln;
End.
13
Những nội dung cơ bản cần đạt được
1. 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.
2. Câu lệnh If-then:
a. Dạng thiếu:
If <Điều kiện> Then
b. Dạng đủ:
If <Điều kiện> Then
3. Câu lệnh ghép:
Begin
end;
4. Vận dụng để giải các bài tập trong sách giáo khoa.
14
Củng cố
Câu 1: Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây là đúng với câu lệnh rẽ nhánh If - then?
A. Nếu sau Then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa hai dấu ngoặc đơn;
B. Nếu sau Then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End;
C. Nếu sau Then muốn thực hiện nhiều câu lệnh thì các lệnh phải đặt giữa Begin và End. ;
D. Nếu sau Then muốn thực hiện nhiều câu lệnh thì chỉ cần liệt kê các lệnh ra.
15
Củng cố
Câu 2: Hãy đánh dấu vào đáp số đúng, cho đoạn chương trình sau:
Begin
x:=a;
if a writeln(‘Ket qua x la’, x)
End.
a. Cho a=20; b=15. Kết quả x bằng bao nhiêu?
b. Cho a=5; b=10. Kết quả x bằng bao nhiêu?
?
?
* 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ẻ: Võ Hữu Lộ
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)