Bài 9. Cấu trúc rẽ nhánh

Chia sẻ bởi Vũ Văn Tiệp | Ngày 10/05/2019 | 108

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:

2/ Để đưa dữ liệu ra màn hình chúng ta dùng thủ tục nào? Cho ví dụ.
1/ Để nhập dữ liệu vào từ bàn phím chúng ta dùng thủ tục nào? Cho ví dụ.
READ ();
Hoặc READLN ();
Ví dụ: READ (a); READLN (a,b,c);
WRITE ();
Hoặc WRITELN ();
Ví dụ: write(‘CHAO BAN!’); writeln(‘PT co nghiem’, x:6:2);
Xét ví dụ 1
Hai bạn An và Bình hẹn nhau
“ Nếu mai trời không mưa thì An đến nhà Bình”
“ Nếu mai trời không mưa thì An đến nhà Bình nếu trời mưa thì An ở nhà xem phim”

Nếu …thì…, nếu không thì…
Nếu …thì…
Ta hiểu thế nào cấu trúc rẽ nhánh?
Cấu trúc dùng để mô tả mệnh đề có dạng như trên được gọi rẽ nhánh thiếu và đủ
Ví dụ 2
D:= b*b-4*a*c
Nếu D >=0 thông báo nghiệm của PT rồi kết thúc;
Ngược lại kết luận PT vô nghiệm
D:=b*b-4*a*c
D>=0?
Thông báo VN
Kết thúc
Tính và đưa ra nghiệm
Kết thúc
Nhập a, b, c
Đ
S
D>=0?
Sơ đồ
Giải phương trình bậc 2: ax2 + bx + c = 0
Để giải phương trình bậc 2 trước tiên ta tính gì?
Nếu <ĐK> thì
Nếu <ĐK> thì nếu không thì
IF <ĐK> THEN ;
IF <ĐK> THEN ELSE ;
a. Dạng thiếu
b. Dạng đủ
Điều kiện
Câu lệnh
ĐÚNG
SAI
Điều kiện
SƠ ĐỒ KHỐI
Dạng thiếu:
Điều kiện
D�NG
Câu lệnh 1
Câu lệnh 2
SAI
Điều kiện
SƠ ĐỒ KHỐI
Dạng đủ:
Trong đó:
IF, THEN, ELSE là các từ khóa.
ĐK là biểu thức quan hệ hoặc biểu thức logic.
Câu lệnh, câu lệnh 1, câu lệnh 2 là một câu lệnh trong Pascal.
Ý nghĩa câu lệnh rẽ nhánh:
Nếu ĐK đúng thì thực hiện Câu lệnh, ngược lại thì bỏ qua câu lệnh và kết thúc.
Dạng thiếu:
Dạng đủ:
Nếu ĐK đúng thì thực hiện Câu lệnh 1, ngược lại thì thực hiện Câu lệnh 2
Ví dụ 2: Kết luận nghiệm PT bậc hai:
Ví dụ 1: Tìm số lớn nhất của hai số a và b?

IF D<0 then writeln(`phuong trinh vo nghiem`)
ELSE writeln(`phuong trinh co nghiem`);

VÍ DỤ
Trường hợp sau then hoặc else có nhiều Câu lệnh. Pascal cho phép gộp các Câu lệnh đó thành câu lệnh ghép. Có dạng:
Begin
;
End;
Ví dụ:
If D<0 then writeln(`pt vo nghiem`)
Else Begin
x1:=(-b-sqrt(D))/(2*a);
x2:=(-b+sqrt(D))/(2*a);
end;
Chú ý: Trước Else không có “;”
Sau End phải có “;”
Ví dụ 1: Nhập vào 2 số, tìm giá trị lớn nhất?
PROGRAM GTLN;
VAR A,B,MAX: INTEGER;
BEGIN
WRITELN(`NHAP 2 SO A, B:`);
READLN(A,B);
IF A>B THEN MAX:=A
ELSE
MAX:=B;
WRITELN(`GIA TRI LON NHAT LA `,MAX);
READLN
END.
Program GiaiPTB2;
Var a, b, c, x1, x2, D: real;
Begin
writeln(‘Nhap cac he so a, b, c’);
readln(a,b,c);
D:=b*b-4*a*c;
if D<0 then writeln(‘ptvn’) else
begin
x1:=(-b-sqrt(D))/(2*a);
x2:=(-b+sqrt(D))/(2*a);
writeln(‘Nghiem PT la: ’ ,x1:6:2,x2:6:2);
end;
readln
End.
VD 2: Chương trình tìm nghiệm của PT bậc hai ax2 + bx+ c = 0
CỦNG CỐ BÀI HỌC
Hiểu được cấu trúc rẽ nhánh trong biểu diễn thuật toán;
Hiểu câu lệnh rẽ nhánh dạng thiếu và dạng đủ;
Hiểu câu lệnh ghép;
Vận dụng để giải các bài toán đơn giản
* 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ũ Văn Tiệp
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)