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 |
118
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:
Bài 9
Giáo án điện tử tin học lớp 11
Nguyeón Maùnh Huứng
Trường thpt khánh lâm
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.
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
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
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
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 (;)
Sau End co dấu chấm phẩy (;)
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.
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
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 …
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.
VII. Một số dạng đặ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
Giáo án điện tử tin học lớp 11
Nguyeón Maùnh Huứng
Trường thpt khánh lâm
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.
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
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
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
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 (;)
Sau End co dấu chấm phẩy (;)
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.
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
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 …
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.
VII. Một số dạng đặ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
* 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: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)