Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Nguyễn Viết Phú |
Ngày 10/05/2019 |
357
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 1: Hãy nêu cấu trúc của một chương trình?
Câu 2: Biểu thức quan hệ là gì? Nêu kết quả của Biểu thức quan hệ?
Câu 3: Biểu thức logic là gì? Nêu kết quả của Biểu thức logic?
Câu 1: []
Câu 2: Biểu thức quan hệ:
Hai biểu thức cùng kiểu liên kết với nhau bởi phép toán quan hệ
Câu 3: Biểu thức logic
Là biểu thức logic đơn giản,
các biểu thức quan hệ liên kết với nhau bởi phép toán logic
Kết quả của 2 loại biểu thức trên là giá trị logic(true Hoặc false)
Bài cũ
Ngày 13/11/2007
1. Cấu trúc rẽ nhánh
Các câu lệnh thực hiện rẽ nhánh
2. Cấu trúc lặp
Các câu lệnh thực hiện lặp
Chương 3:
Cấu trúc rẽ nhánh và lặp
Câu hỏi 1: Hãy nêu 1 ví dụ trong cuộc sống minh hoạ
cho mệnh đề
Nếu… thì
Câu hỏi 2: Hãy nêu 1 ví dụ trong cuộc sống minh hoạ
cho mệnh đề
Nếu… thì… nếu không thì…
1. Bài toán
Cho 2 số a,b. Hãy cho biết số lớn nhất.
(không cần xét trường hợp a=b)
a
b
a lớn nhất
b
b lớn nhất
Phát biểu :
Nếu a lớn hơn b thì a lớn nhất ngược lại b lớn nhất
a
Bài toán
Thu?t tốn
C?ng c?
Sơ đồ khối
C php
D?ng ??c bi?t
Bi t?p
Ví d?
`
2. Thu?t tốn
a > b
Max ←a
Max←b
Nhập a,b
Thông báo max
Rồi kết thúc
Điều kiện
Công việc 1
Công việc 2
Bài toán
Thuật toán
C?ng c?
Sơ đồ khối
C php
D?ng ??c bi?t
Bi t?p
Ví d?
3. S? ?? kh?i t?ng qut
Điều kiện
Công việc 1
Công việc 2
Phát biểu :
Nếu Điều Kiện đúng thì thực hiện Công Việc 1
Ngược lại thực hiện Công Việc 2
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
4. C php
Nếu ĐK đúng thì thực hiện Công Việc 1
Ngượclại thực hiện công việc 2
IF ĐIỀU KIỆN THEN
CÔNG VIỆC 1
ELSE
CÔNG VIỆC 2
Bài toán
Thu?t tốn
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
`
4. Cú pháp
CÔNG VIỆC : là một hoặc nhiều lệnh của Pascal
- Nếu công việc từ 2 lệnh trở lên thì các lệnh phải được đặt trong Begin .. End;(câu lệnh ghép)
Lưu ý quan trọng : trước ELSE không có dấu chấm phẩy (;)
IF ĐIỀU KIỆN THEN
CÔNG VIỆC 1
ELSE
CÔNG VIỆC 2
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
TỪ KHÓA : IF , THEN , ELSE
ĐIỀU KIỆN:
Là biểu thức quan hệ, biểu thức logic
(trả lại giá trị True hoặc False)
5. Ví d?
Cho 2 số a,b. Hãy cho biết số lớn nhất.
(không cần xét trường hợp a=b)
IF a>b THEN
max :=a
ELSE
max :=b;
Bài toán
Thu?t tốn
Ví d?
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
5. Ví d?
Câu lệnh nào sau đây là đúng:
a)
IF a min :=a
ELSE
min :=b;
Đáp án: a
b)
IF a min :=a;
ELSE
min :=b;
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Câu hỏi: Có tồn tại câu lệnh:
IF ĐK THEN CV1
ELSE
CV2
ELSE
CV3
Trả lời: Không tồn tại
5. Ví d?
6. Dạng đặc biệt
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
6.1. Câu lệnh rẽ nhánh dạng khuyết
6.2. Câu lệnh rẽ nhánh lồng nhau
6. Dạng đặc biệt
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
6.1. Câu lệnh rẽ nhánh dạng khuyết
Trường hợp Công việc2 không có thì lệnh có dạng:
IF ĐIỀU KIỆN THEN
CÔNG VIỆC
Ý nghĩa: Nếu điều kiện đúng thì thực hiện công việc ngược lại thì bỏ qua câu lệnh
ĐK
CV
True
False
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
6.2. Câu lệnh rẽ nhánh lồng nhau
6. Dạng đặc biệt
Là câu lệnh rẽ nhánh mà trong đó công việc
là một câu lệnh rẽ nhánh khác
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
If Đk1 Then
If Đk2 Then
Cv1
Else Cv2
Else Cv3
Đk1
Cv1
Cv2
Cv3
True
True
False
Đk2
False
Đk1
Cv3
Cv1
Cv2
True
False
Đk2
True
False
Ha
Hb
6. Dạng đặc biệt
Hãy xác định sơ đồ khối
đúng cho câu lệnh:
Cho câu lệnh:
a) Ha b)Hb
c) đáp án khác
6.2. Câu lệnh rẽ nhánh lồng nhau
7. Bài tập
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Viết chương trình nhập vào 2 số a,b. Tính thương số t=a/b. Hiện kết quả lên màn hình
PROGRAM THUONG;
VAR a,b: integer; t: real;
BEGIN
Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF b=0 THEN
Writeln(‘Khong chia duoc')
ELSE
Begin
t:=a/b;
Writeln(‘Thuong la:’,t:10:2) ;
End;
Readln;
END.
Nhập a,b
b=0
t<-a>Thông báo t
rồi kết thúc
Thông báo
không chia được
rồi kết thúc
True
False
CHƯƠNG TRÌNH
8. Bài tập củng cố
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
VD : Viết chương trình giải phương trình bậc 1: ax + b =0
PROGRAM PTB1;
VAR a,b:integer; x:real;
BEGIN
Write(‘Nhap 2 he so a , b : ‘);
Readln(a,b);
IF a = 0 THEN
IF b = 0 THEN
Writeln(‘Pt vo so nghiem’)
ELSE
Writeln(‘Pt vo nghiem’)
ELSE
Begin
x:= -b/a;
Writeln(‘Nghiệm x= ’,x:10:2);
End;
Readln;
END.
CHƯƠNG TRÌNH
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Đk1
CV1
Cv4
Cv2
True
False
Đk2
True
False
Đk3
Cv3
True
False
IF Đk1 Then Cv1
Else
IF Đk2 Then IF Đk3 Then Cv3
Else Cv4
Else Cv2
Đk1
CV1
Cv2
Cv4
True
False
Đk2
True
False
Đk3
Cv3
True
False
Hình a
Hình b
Xác định
sơ đồ khối
đúng
cho
câu lệnh
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Bài tập 1: Giải phương trình bậc 2:
ax2 + bx + c=0
Bài tập 2: Cho điểm M(x,y) và 3 đỉnh
A(x1,y1), B(x2,y2),C(x3,y3). Xác định
M nằm trong hay ngoài tam
giác ABC
8. Bài tập củng cố
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
If Delta<0 then wrileln('phuong trinh vo nghiem')
Else
Begin
X1:= (-b - Sqrt(Delta))/(2*a);
X2:= (-b + Sqrt(Delta))/(2*a);
End;
If Delta < 0 then Wrileln('Phuong trinh vo nghiem')
Else
If Delta = 0 then
Wrileln('Phuong trinh co nghiem kep', -b/(1*a):6:2)
Else
Begin
X1:= (-b - Sqrt(Delta))/(2*a);
Writeln('Pt co nghiem x1 la', X1:6:2,' x2 la',
(-b/a- X1):6:2);
End;
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
5. Ví d?
Câu lệnh nào sau đây là đúng:
a)
IF a >b Then
Begin
a:=a-1;
b:=b+1;
End;
ELSE
Begin
a:=a+1;
b:=b-1;
End;
b)
IF a >b Then
Begin
a:=a-1;
b:=b+1;
End
ELSE
Begin
a:=a+1;
b:=b-1;
End;
Đáp án: a
Câu 2: Biểu thức quan hệ là gì? Nêu kết quả của Biểu thức quan hệ?
Câu 3: Biểu thức logic là gì? Nêu kết quả của Biểu thức logic?
Câu 1: [
Câu 2: Biểu thức quan hệ:
Hai biểu thức cùng kiểu liên kết với nhau bởi phép toán quan hệ
Câu 3: Biểu thức logic
Là biểu thức logic đơn giản,
các biểu thức quan hệ liên kết với nhau bởi phép toán logic
Kết quả của 2 loại biểu thức trên là giá trị logic(true Hoặc false)
Bài cũ
Ngày 13/11/2007
1. Cấu trúc rẽ nhánh
Các câu lệnh thực hiện rẽ nhánh
2. Cấu trúc lặp
Các câu lệnh thực hiện lặp
Chương 3:
Cấu trúc rẽ nhánh và lặp
Câu hỏi 1: Hãy nêu 1 ví dụ trong cuộc sống minh hoạ
cho mệnh đề
Nếu… thì
Câu hỏi 2: Hãy nêu 1 ví dụ trong cuộc sống minh hoạ
cho mệnh đề
Nếu… thì… nếu không thì…
1. Bài toán
Cho 2 số a,b. Hãy cho biết số lớn nhất.
(không cần xét trường hợp a=b)
a
b
a lớn nhất
b
b lớn nhất
Phát biểu :
Nếu a lớn hơn b thì a lớn nhất ngược lại b lớn nhất
a
Bài toán
Thu?t tốn
C?ng c?
Sơ đồ khối
C php
D?ng ??c bi?t
Bi t?p
Ví d?
`
2. Thu?t tốn
a > b
Max ←a
Max←b
Nhập a,b
Thông báo max
Rồi kết thúc
Điều kiện
Công việc 1
Công việc 2
Bài toán
Thuật toán
C?ng c?
Sơ đồ khối
C php
D?ng ??c bi?t
Bi t?p
Ví d?
3. S? ?? kh?i t?ng qut
Điều kiện
Công việc 1
Công việc 2
Phát biểu :
Nếu Điều Kiện đúng thì thực hiện Công Việc 1
Ngược lại thực hiện Công Việc 2
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
4. C php
Nếu ĐK đúng thì thực hiện Công Việc 1
Ngượclại thực hiện công việc 2
IF ĐIỀU KIỆN THEN
CÔNG VIỆC 1
ELSE
CÔNG VIỆC 2
Bài toán
Thu?t tốn
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
`
4. Cú pháp
CÔNG VIỆC : là một hoặc nhiều lệnh của Pascal
- Nếu công việc từ 2 lệnh trở lên thì các lệnh phải được đặt trong Begin .. End;(câu lệnh ghép)
Lưu ý quan trọng : trước ELSE không có dấu chấm phẩy (;)
IF ĐIỀU KIỆN THEN
CÔNG VIỆC 1
ELSE
CÔNG VIỆC 2
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
TỪ KHÓA : IF , THEN , ELSE
ĐIỀU KIỆN:
Là biểu thức quan hệ, biểu thức logic
(trả lại giá trị True hoặc False)
5. Ví d?
Cho 2 số a,b. Hãy cho biết số lớn nhất.
(không cần xét trường hợp a=b)
IF a>b THEN
max :=a
ELSE
max :=b;
Bài toán
Thu?t tốn
Ví d?
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
5. Ví d?
Câu lệnh nào sau đây là đúng:
a)
IF a min :=a
ELSE
min :=b;
Đáp án: a
b)
IF a min :=a;
ELSE
min :=b;
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Câu hỏi: Có tồn tại câu lệnh:
IF ĐK THEN CV1
ELSE
CV2
ELSE
CV3
Trả lời: Không tồn tại
5. Ví d?
6. Dạng đặc biệt
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
6.1. Câu lệnh rẽ nhánh dạng khuyết
6.2. Câu lệnh rẽ nhánh lồng nhau
6. Dạng đặc biệt
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
6.1. Câu lệnh rẽ nhánh dạng khuyết
Trường hợp Công việc2 không có thì lệnh có dạng:
IF ĐIỀU KIỆN THEN
CÔNG VIỆC
Ý nghĩa: Nếu điều kiện đúng thì thực hiện công việc ngược lại thì bỏ qua câu lệnh
ĐK
CV
True
False
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
6.2. Câu lệnh rẽ nhánh lồng nhau
6. Dạng đặc biệt
Là câu lệnh rẽ nhánh mà trong đó công việc
là một câu lệnh rẽ nhánh khác
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
If Đk1 Then
If Đk2 Then
Cv1
Else Cv2
Else Cv3
Đk1
Cv1
Cv2
Cv3
True
True
False
Đk2
False
Đk1
Cv3
Cv1
Cv2
True
False
Đk2
True
False
Ha
Hb
6. Dạng đặc biệt
Hãy xác định sơ đồ khối
đúng cho câu lệnh:
Cho câu lệnh:
a) Ha b)Hb
c) đáp án khác
6.2. Câu lệnh rẽ nhánh lồng nhau
7. Bài tập
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Viết chương trình nhập vào 2 số a,b. Tính thương số t=a/b. Hiện kết quả lên màn hình
PROGRAM THUONG;
VAR a,b: integer; t: real;
BEGIN
Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF b=0 THEN
Writeln(‘Khong chia duoc')
ELSE
Begin
t:=a/b;
Writeln(‘Thuong la:’,t:10:2) ;
End;
Readln;
END.
Nhập a,b
b=0
t<-a>Thông báo t
rồi kết thúc
Thông báo
không chia được
rồi kết thúc
True
False
CHƯƠNG TRÌNH
8. Bài tập củng cố
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
VD : Viết chương trình giải phương trình bậc 1: ax + b =0
PROGRAM PTB1;
VAR a,b:integer; x:real;
BEGIN
Write(‘Nhap 2 he so a , b : ‘);
Readln(a,b);
IF a = 0 THEN
IF b = 0 THEN
Writeln(‘Pt vo so nghiem’)
ELSE
Writeln(‘Pt vo nghiem’)
ELSE
Begin
x:= -b/a;
Writeln(‘Nghiệm x= ’,x:10:2);
End;
Readln;
END.
CHƯƠNG TRÌNH
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Đk1
CV1
Cv4
Cv2
True
False
Đk2
True
False
Đk3
Cv3
True
False
IF Đk1 Then Cv1
Else
IF Đk2 Then IF Đk3 Then Cv3
Else Cv4
Else Cv2
Đk1
CV1
Cv2
Cv4
True
False
Đk2
True
False
Đk3
Cv3
True
False
Hình a
Hình b
Xác định
sơ đồ khối
đúng
cho
câu lệnh
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
Bài tập 1: Giải phương trình bậc 2:
ax2 + bx + c=0
Bài tập 2: Cho điểm M(x,y) và 3 đỉnh
A(x1,y1), B(x2,y2),C(x3,y3). Xác định
M nằm trong hay ngoài tam
giác ABC
8. Bài tập củng cố
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
If Delta<0 then wrileln('phuong trinh vo nghiem')
Else
Begin
X1:= (-b - Sqrt(Delta))/(2*a);
X2:= (-b + Sqrt(Delta))/(2*a);
End;
If Delta < 0 then Wrileln('Phuong trinh vo nghiem')
Else
If Delta = 0 then
Wrileln('Phuong trinh co nghiem kep', -b/(1*a):6:2)
Else
Begin
X1:= (-b - Sqrt(Delta))/(2*a);
Writeln('Pt co nghiem x1 la', X1:6:2,' x2 la',
(-b/a- X1):6:2);
End;
Bài toán
Thuật toán
C?ng c?
S? ?? kh?i
C php
D?ng ??c bi?t
Bi t?p
Ví d?
5. Ví d?
Câu lệnh nào sau đây là đúng:
a)
IF a >b Then
Begin
a:=a-1;
b:=b+1;
End;
ELSE
Begin
a:=a+1;
b:=b-1;
End;
b)
IF a >b Then
Begin
a:=a-1;
b:=b+1;
End
ELSE
Begin
a:=a+1;
b:=b-1;
End;
Đáp án: a
* 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 Viết Phú
Dung lượng: |
Lượt tài: 25
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)