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

Chia sẻ bởi Bùi Chùng | Ngày 10/05/2019 | 53

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 TRÚC RẼ NHÁNH
GIÁO ÁN ĐIỆN TỬ
Nội dung
I. Khái niệm rẽ nhánh
II. Câu lệnh If-then-else
III. Câu lệnh ghép
IV. Một số ví dụ
BÀI 9:
I.Khái niệm rẽ nhánh
Ý tưởng giải thuật
a
b
a lớn nhất
Trường hợp 1:
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)
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)
b
a
b lớn nhất
Trường hợp 2:
Ý tưởng giải thuật
Vậy ta có kết luận gì về ví dụ này?
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
Sơ đồ khối:
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)
Begin
Nhập a,b
a > b
Thông báo
a lớn nhất
Thông báo
b lớn nhất
End
true
false
II. Câu lệnh if-then-else
a) Dạng thiếu
If <điều kiện> then ;
ĐK
Câu lệnh
true
false
*Lưu đồ:
II. Câu lệnh if-then-else
a) Dạng đủ
If <điều kiện> then else ;
*Lưu đồ:
ĐK
Câu lệnh 1
Câu lệnh 2
true
false
Nếu ĐK đúng thì thực hiện Công Việc 1
Ngược lại thực hiện công việc 2
TỪ KHÓA : IF , THEN , ELSE
ĐK : là biểu thức kiểu Boolean (trả lại giá trị True hoặc False)
CÔNG VIỆC : là một hoặc nhiều lệnh của Pascal

Lưu ý quan trọng : trước ELSE không có dấu chấm phẩy (;)
II. Câu lệnh if-then-else
III. Câu lệnh ghép
Trong ngôn ngữ Pascal, Câu lệnh ghép có dạng:
Begin
;
End ;
Sau End phải là 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.
III. Câu lệnh ghép
*Chú ý:
Ví dụ: viết chương trình Cho 2 số a,b. Hãy cho biết số lớn nhất
PROGRAM SOLON;
VAR a,b:integer;
BEGIN
Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF a>b THEN
Writeln(‘a la so lon nhat’)
ELSE
Writeln(‘b la so lon nhat’);
Readln;
END.
PROGRAM SOLON;
VAR a,b:integer;
BEGIN
Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF a>b THEN
Writeln(‘a la so lon nhat’)
ELSE
Writeln(‘b la so lon nhat’);
Readln;
END.
IV. Một số ví dụ
VD : Viết chương trình giải phương trình bậc I : 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.
IV. Một số ví dụ
Viết chương trình giải phương trình bậc II :
ax2 + bx + c = 0
Program giai_ptrb2;
uses crt;
var a,b,c:real; D,x,x1,x2:real;
begin
clrscr; writeln(`nhap vao 3 so a,b,c`); readln(a,b,c); D:=sqr(b)-4*a*c; if D<0 then writeln(`ptr vo nghiem`) else begin if d=0 x: =-b/(2*a); co nghiem kep x =`,x:8:3); end x1: =(-b+sqrt(D))/(2*a); x2:= -b/a-x1; 2 phan biet`); writeln(`x1=`,x1:8:3);
writeln(`x2= `,x2:8:3);
end;
end;
readln
end.
IV. Một số ví dụ
Viết chương trình nhập vào 2 số a,b. Tính thương số a/b
PROGRAM THUONG;
VAR a,b:integer; t:real;
BEGIN
Write(‘Nhap 2 so a , b : ‘);
Readln(a,b);
IF b<>0 THEN
Begin
t:=a/b;
Writeln(‘Thuong la : ’,t:10:2);
End
ELSE
Writeln(‘Không chia duoc’);
Readln;
END.
Viết chương trình tính tổng của 2 số a và b nhập vào từ bàn phím.
Bài tập về nhà
Chúc các em học tốt
* 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ẻ: Bùi Chùng
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)