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
* 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)