Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Nguyễn Mạnh Hùng |
Ngày 10/05/2019 |
132
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:
KHÁNH LÂM
TRƯỜNG TRUNG HỌC PHỔ THÔNG
TIN HỌC 11
Đặng Hữu Hoàng
Quý thầy cô
Về dự giờ lớp 11c
Thứ 2 ngày 10 tháng 11 năm 2008
Giáo viên thực hiện bài dạy: Nguyễn Mạnh Hùng
Tổ bộ môn: Toán - Tin
Một chương trình Pascal gồm mấy phần?.
Chương trình Pascal gồm 2 phần
1 - Phần khai báo.
2 - Phần thân chương trình.
Phần khai báo gồm có:
1- Khai báo tên chương trình: (Bắt đầu bằng từ khóa PROGRAM).
VD: Program bai_tap;
2- Khai báo thư viện: (Bắt đầu bằng từ khóa USES).
VD: Uses crt;
3- Khai báo hằng: (Bắt đầu bằng từ khóa CONST).
VD: Const pi=3.14;
4- Khai báo biến: (Bắt đầu bằng từ khóa VAR).
VD: Var a,b : Integer;
VD: Ta có mệnh đề sau:
“Nếu đội tuyển Việt nam thắng ở bán kết với đội Malaixia thì sẽ vào đá chung kết với đội tuyển Thái Lan, còn không thì đá trận tranh giải 3 với đội tuyển Singapor”.
Nghĩa là Việt nam sẽ đá chung kết với Thái Lan với điều kiện là phải thắng Malaixia.
Còn không (tức là thua Malaixia) thì sẽ đá tranh giải 3 với Singapor.
Vậy khi lập trình giải bài toán bằng ngôn ngữ lập trình TUBOR PASCAL có những công việc chỉ được chương trình thực hiện khi thỏa mãn những điều kiện cụ thể thì ta phải giải quyết nó như thế nào?
Như vậy trong cuộc sống có rất nhiều việc chỉ được thực hiện khi một điều kiện cụ thể nào đó được thỏa mãn.
Giáo viên : Nguyễn Mạnh Hùng
Bài toán
Bài toán
I. 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)
Ý tưởng giải thuật :
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
II. Lưu đồ:
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
Lưu đồ
End
III. Lưu đồ tổng quát:
ĐK
Công việc 1
Công việc 2
Phát biểu :
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
Luu d? tq
IV. Cú pháp :
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
ĐK
THEN
Công việc 1
ELSE
Công việc 2
Cú pháp
IV. Cú pháp :
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
- 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
Lưu ý quan trọng : trước ELSE không có dấu chấm phẩy (;)
Cú pháp
V. 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.
Chuong trình
VI. Bài tập áp dụng :
Viết chương trình nhập vào 2 số a,b. Tính thương số a/b
Begin
Nhập a,b
b <>0
t:=a/b
Thông báo t
Thông báo
Không chia được
End
Bài t?p AD
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.
VII. Một số dạng đặc biệt:
1. Câu lệnh rẽ nhánh dạng khuyết
Trường hợp Công việc 2 không có thì lệnh có dạng :
IF ĐK THEN
Công việc
2. Câu lệnh rẽ nhánh lồng nhau
IF ĐK1 THEN Công việc 1
ELSE IF ĐK2 THEN Công việc 2 …
D?ng d?c bi?t
VII. Một số dạng đặc biệt:
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.
D?ng d?c bi?t
D?ng d?c bi?t
Bài tập về nhà:
Viết chương trình giải phương trình bậc II :
ax2 + bx + c = 0
D?ng d?c bi?t
Bài t?p VN
Thực hiện tháng 10 năm 2008
Email: [email protected]
TRƯỜNG TRUNG HỌC PHỔ THÔNG
TIN HỌC 11
Đặng Hữu Hoàng
Quý thầy cô
Về dự giờ lớp 11c
Thứ 2 ngày 10 tháng 11 năm 2008
Giáo viên thực hiện bài dạy: Nguyễn Mạnh Hùng
Tổ bộ môn: Toán - Tin
Một chương trình Pascal gồm mấy phần?.
Chương trình Pascal gồm 2 phần
1 - Phần khai báo.
2 - Phần thân chương trình.
Phần khai báo gồm có:
1- Khai báo tên chương trình: (Bắt đầu bằng từ khóa PROGRAM).
VD: Program bai_tap;
2- Khai báo thư viện: (Bắt đầu bằng từ khóa USES).
VD: Uses crt;
3- Khai báo hằng: (Bắt đầu bằng từ khóa CONST).
VD: Const pi=3.14;
4- Khai báo biến: (Bắt đầu bằng từ khóa VAR).
VD: Var a,b : Integer;
VD: Ta có mệnh đề sau:
“Nếu đội tuyển Việt nam thắng ở bán kết với đội Malaixia thì sẽ vào đá chung kết với đội tuyển Thái Lan, còn không thì đá trận tranh giải 3 với đội tuyển Singapor”.
Nghĩa là Việt nam sẽ đá chung kết với Thái Lan với điều kiện là phải thắng Malaixia.
Còn không (tức là thua Malaixia) thì sẽ đá tranh giải 3 với Singapor.
Vậy khi lập trình giải bài toán bằng ngôn ngữ lập trình TUBOR PASCAL có những công việc chỉ được chương trình thực hiện khi thỏa mãn những điều kiện cụ thể thì ta phải giải quyết nó như thế nào?
Như vậy trong cuộc sống có rất nhiều việc chỉ được thực hiện khi một điều kiện cụ thể nào đó được thỏa mãn.
Giáo viên : Nguyễn Mạnh Hùng
Bài toán
Bài toán
I. 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)
Ý tưởng giải thuật :
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
II. Lưu đồ:
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
Lưu đồ
End
III. Lưu đồ tổng quát:
ĐK
Công việc 1
Công việc 2
Phát biểu :
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
Luu d? tq
IV. Cú pháp :
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
ĐK
THEN
Công việc 1
ELSE
Công việc 2
Cú pháp
IV. Cú pháp :
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
- 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
Lưu ý quan trọng : trước ELSE không có dấu chấm phẩy (;)
Cú pháp
V. 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.
Chuong trình
VI. Bài tập áp dụng :
Viết chương trình nhập vào 2 số a,b. Tính thương số a/b
Begin
Nhập a,b
b <>0
t:=a/b
Thông báo t
Thông báo
Không chia được
End
Bài t?p AD
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.
VII. Một số dạng đặc biệt:
1. Câu lệnh rẽ nhánh dạng khuyết
Trường hợp Công việc 2 không có thì lệnh có dạng :
IF ĐK THEN
Công việc
2. Câu lệnh rẽ nhánh lồng nhau
IF ĐK1 THEN Công việc 1
ELSE IF ĐK2 THEN Công việc 2 …
D?ng d?c bi?t
VII. Một số dạng đặc biệt:
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.
D?ng d?c bi?t
D?ng d?c bi?t
Bài tập về nhà:
Viết chương trình giải phương trình bậc II :
ax2 + bx + c = 0
D?ng d?c bi?t
Bài t?p VN
Thực hiện tháng 10 năm 2008
Email: [email protected]
* 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 Mạnh Hùng
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)