Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Nguyễn Cao Luận |
Ngày 10/05/2019 |
123
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:
Trong thực tế ta thường sử dụng cấu trúc câu điều kiện như sau:
Nếu <ĐK> thì Ngược lại
VD:Ngày mai, nếu trời mưa thi ở nhà ngược lại đi choi
Để giải một số bài toán trên máy tính; Ta phải sử dụng một số mệnh đề có dạng
1.Khái niệm rẽ nhánh:
Ví dụ: Giải phương trình bậc 2 dạng Ax2+Bx+C=0 (A<>0)
Thuật toán:
B1. Tính =b*b – 4*a*c;
B2. Nếu >=0 thì PT có nghiệm; ngược lại ( < 0) thì PTV
Nhận xét: Như vậy tùy thuộc vào giá trị của mà máy tính phải biết lựa chọn để đưa kết quả là vô nghiệm hay có nghiệm.
Cấu trúc này được gọi là cáu trúc rẽ nhánh.
-Nếu……….thì……
-Nếu………thì……ngược lại thì…….
1.Khái niệm rẽ nhánh:
Trong đó:
- Điều kiện : Là biểu thức quan hệ Logic.
- Câu lệnh, câu lệnh 1, câu lệnh 2 là 1 câu lệnh của Pascal
2. Câu lệnh If – Then
Pascal dùng câu lệnh If – then để mô tả việc rẽ nhánh tương ứng với hai loại mệnh đề rẽ nhánh như sau:
- a/ Dạng thiếu :
If <điều kiện> Then;
-b/ Dạng đầy đủ :
If <điều kiện> Then
< câu lệnh 1>
Else
;
- Dạng đủ : Nếu điều kiện đúng thì thực hiện câu lệnh 1, nếu điều kệin sai thì thực hiện câu lệnh 2.
c/ Ý nghĩa của các câu lệnh :
- Dạng thiếu : Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì không thực hiện gì
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
Kiểm tra điều kiện
Câu lệnh 1
Câu lệnh 2
Kết thúc
Kiểm tra điều kiện
Câu lệnh 1
Câu lệnh 2
Kết thúc
Kiểm tra điều kiện
Đúng
Sai
d/ Lưu đồ:
Dạng đủ
Kiểm tra điều kiện
Câu lệnh 1
Kết thúc
Kiểm tra điều kiện
Câu lệnh 1
Kết thúc
Kiểm tra điều kiện
Đúng
Sai
Dạng Thiếu
Nhận xét: Câu lệnh rẽ nhánh dạng thiếu là trường hợp đặc biệt của câu lệnh rẽ nhánh dạng đủ khi nó không có câu lệnh 2
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
Cách 2 :
If a >b Then max :=a Else max :=b;
If (X Mod 2 = 0) Then
WRITE(x,’La so chan’);
If DELTA <0 then
WRITE(‘PT Vo Nghiem’)
Else WRITE(‘PT co nghiem’);
- VD 3: Tìm giá trị lớn nhất (max) của 2 số a và b
Cách 1 :
Max :=a;
If b >a Then max :=b;
- VD 1 : Kiểm tra X có chia hết cho 2 hay không?
- VD 2: Kiểm tra DELTA để xem PT bậc 2 có nghiệm hay không ?
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
Begin
;
End ;
3. Câu lệnh ghép
- Trong ngôn ngữ Pascal, Câu lệnh ghép có dạng:
Chú ý :
- Sau End phải là dấu; và trước Else không chứa dấu ;
- Từ nay nói đến câu lệnh thì đó có thể là câu lệnh đơn hoặc là câu lệnh ghép.
IF DELTA <0 then
WRITELN(‘Phuong trinh vo nghiem’)
ELSE
BEGIN
X1 :=(-B-SQRT(DELTA))/(2*A);
X2 := - B/A – X1;
WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3);
END;
Ví dụ : Đoạn chương trình sau trong ngôn ngữ Pascal có sử dụng chương trình ghép.
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
3. Câu lệnh ghép
4. Một số ví dụ:
Ví dụ 1 :
Tìm nghiệm thực của phương trình bậc hai
AX2 + BX + C= 0 (A<>0)
IF DELTA <0 then
WRITELN(‘Phuong trinh vo nghiem’)
ELSE
BEGIN
X1 :=(-B-SQRT(DELTA))/(2*A);
X2 := - B/A – X1;
WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3);
END;
Program Giai_PTB2;
Var A,B,C,Delta,X1,X2: real;
BEGIN
Write(‘ Hay nhap vao 3 he so A,B,C theo thu tu:’);
Readln(A,B,C);
Delta:= B*B-4*A*C;
Readln;
END.
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
3. Câu lệnh ghép
Ví dụ 2 :
Tìm số ngày của một năm: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100 .
- Input: Năm (N) nhập từ bàn phím
- Output:Đưa số ngày của năm ra màn hình
Program Nam_nhuan;
Uses CRT;
Var N, SN:Integer;
Begin
CLRSCR;
Write(‘Nhap vao nam:’); Readln(N);
If (N mod 400=0) OR (N mod 4=0) AND (N mod 100<> 0) Then
SN:=366
Else
SN:= 365;
Writeln(‘ So ngay cua nam:’, N, ‘la:’, SN);
Readln;
End.
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
3. Câu lệnh ghép
Nếu <ĐK> thì
VD:Ngày mai, nếu trời mưa thi ở nhà ngược lại đi choi
Để giải một số bài toán trên máy tính; Ta phải sử dụng một số mệnh đề có dạng
1.Khái niệm rẽ nhánh:
Ví dụ: Giải phương trình bậc 2 dạng Ax2+Bx+C=0 (A<>0)
Thuật toán:
B1. Tính =b*b – 4*a*c;
B2. Nếu >=0 thì PT có nghiệm; ngược lại ( < 0) thì PTV
Nhận xét: Như vậy tùy thuộc vào giá trị của mà máy tính phải biết lựa chọn để đưa kết quả là vô nghiệm hay có nghiệm.
Cấu trúc này được gọi là cáu trúc rẽ nhánh.
-Nếu……….thì……
-Nếu………thì……ngược lại thì…….
1.Khái niệm rẽ nhánh:
Trong đó:
- Điều kiện : Là biểu thức quan hệ Logic.
- Câu lệnh, câu lệnh 1, câu lệnh 2 là 1 câu lệnh của Pascal
2. Câu lệnh If – Then
Pascal dùng câu lệnh If – then để mô tả việc rẽ nhánh tương ứng với hai loại mệnh đề rẽ nhánh như sau:
- a/ Dạng thiếu :
If <điều kiện> Then
-b/ Dạng đầy đủ :
If <điều kiện> Then
< câu lệnh 1>
Else
- Dạng đủ : Nếu điều kiện đúng thì thực hiện câu lệnh 1, nếu điều kệin sai thì thực hiện câu lệnh 2.
c/ Ý nghĩa của các câu lệnh :
- Dạng thiếu : Nếu điều kiện đúng thì câu lệnh được thực hiện, nếu điều kiện sai thì không thực hiện gì
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
Kiểm tra điều kiện
Câu lệnh 1
Câu lệnh 2
Kết thúc
Kiểm tra điều kiện
Câu lệnh 1
Câu lệnh 2
Kết thúc
Kiểm tra điều kiện
Đúng
Sai
d/ Lưu đồ:
Dạng đủ
Kiểm tra điều kiện
Câu lệnh 1
Kết thúc
Kiểm tra điều kiện
Câu lệnh 1
Kết thúc
Kiểm tra điều kiện
Đúng
Sai
Dạng Thiếu
Nhận xét: Câu lệnh rẽ nhánh dạng thiếu là trường hợp đặc biệt của câu lệnh rẽ nhánh dạng đủ khi nó không có câu lệnh 2
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
Cách 2 :
If a >b Then max :=a Else max :=b;
If (X Mod 2 = 0) Then
WRITE(x,’La so chan’);
If DELTA <0 then
WRITE(‘PT Vo Nghiem’)
Else WRITE(‘PT co nghiem’);
- VD 3: Tìm giá trị lớn nhất (max) của 2 số a và b
Cách 1 :
Max :=a;
If b >a Then max :=b;
- VD 1 : Kiểm tra X có chia hết cho 2 hay không?
- VD 2: Kiểm tra DELTA để xem PT bậc 2 có nghiệm hay không ?
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
Begin
End ;
3. Câu lệnh ghép
- Trong ngôn ngữ Pascal, Câu lệnh ghép có dạng:
Chú ý :
- Sau End phải là dấu; và trước Else không chứa dấu ;
- Từ nay nói đến câu lệnh thì đó có thể là câu lệnh đơn hoặc là câu lệnh ghép.
IF DELTA <0 then
WRITELN(‘Phuong trinh vo nghiem’)
ELSE
BEGIN
X1 :=(-B-SQRT(DELTA))/(2*A);
X2 := - B/A – X1;
WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3);
END;
Ví dụ : Đoạn chương trình sau trong ngôn ngữ Pascal có sử dụng chương trình ghép.
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
3. Câu lệnh ghép
4. Một số ví dụ:
Ví dụ 1 :
Tìm nghiệm thực của phương trình bậc hai
AX2 + BX + C= 0 (A<>0)
IF DELTA <0 then
WRITELN(‘Phuong trinh vo nghiem’)
ELSE
BEGIN
X1 :=(-B-SQRT(DELTA))/(2*A);
X2 := - B/A – X1;
WRITELN(‘X1=’,X1:6:3,’X2=’,X2:6:3);
END;
Program Giai_PTB2;
Var A,B,C,Delta,X1,X2: real;
BEGIN
Write(‘ Hay nhap vao 3 he so A,B,C theo thu tu:’);
Readln(A,B,C);
Delta:= B*B-4*A*C;
Readln;
END.
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
3. Câu lệnh ghép
Ví dụ 2 :
Tìm số ngày của một năm: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100 .
- Input: Năm (N) nhập từ bàn phím
- Output:Đưa số ngày của năm ra màn hình
Program Nam_nhuan;
Uses CRT;
Var N, SN:Integer;
Begin
CLRSCR;
Write(‘Nhap vao nam:’); Readln(N);
If (N mod 400=0) OR (N mod 4=0) AND (N mod 100<> 0) Then
SN:=366
Else
SN:= 365;
Writeln(‘ So ngay cua nam:’, N, ‘la:’, SN);
Readln;
End.
1.Khái niệm rẽ nhánh:
2. Câu lệnh If – Then
3. Câu lệnh ghép
* 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 Cao Luận
Dung lượng: |
Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)