Bồi dưỡng hsg k10

Chia sẻ bởi Nguyễn Khánh Tài | Ngày 25/04/2019 | 114

Chia sẻ tài liệu: Bồi dưỡng hsg k10 thuộc Tin học 10

Nội dung tài liệu:

CHUYÊN ĐỀ 1: CẤU TRÚC RẼ NHÁNH
I. TÓM TẮT LÝ THUYẾT
I. CÂU LỆNH RẼ NHÁNH
1.1. Câu lệnh nếu….thì IF
* Cú pháp:
(1) IF THEN ;
(2) IF THEN ELSE ;
* Sơ đồ thực hiện:

* Ý nghĩa:
- Đối với dạng (1): Nếu có giá trị đúng thì máy sẽ thực hiện , ngược lại thì kết thúc (tức không làm gì cả)
- Đối với dạng (2): Nếu có giá trị đúng thì máy sẽ thực hiện , ngược lại thì đi thực hiện
Chú ý: Khi sử dụng câu lệnh IF thì đứng trước từ khoá ELSE không được có dấu chấm phẩy (;).

1.2. Câu lệnh lựa chọn CASE… OF…
- Câu lệnh IF chỉ thực hiện rẽ hai nhánh tương ứng với hai giá trị của biểu thức logic. Do đó để thực hiện rẽ nhiều nhánh chúng ta sử dụng câu lệnh case…of như sau:
* Cú pháp:
Dạng 1
Dạng 2

CASE OF
giá trị 1: ;
giá trị 2: ;
...
giá trị n: ;
END;
CASE OF
giá trị 1: ;
giá trị 2: ;
...
giá trị n: ;
ELSE ;
END;

 Trong đó:
B: Biểu thức kiểu vô hướng đếm được như kiểu nguyên, kiểu logic, kiểu ký tự, kiểu liệt kê. (KHÔNG ĐƯỢC KIỂU SỐ THỰC)
Giá trị 1,2…n : có thể là một giá trị hằng (số học, kí tự), hoặc các đoạn hằng (dùng hai dấu chấm để phân cách giữa giá trị đầu và giá trị cuối).
Giá trị của có cùng kiểu.
* Ý nghĩa: Khi gặp lệnh CASE, chương trình sẽ kiểm tra:
- Nếu giá trị của nằm trong thì máy sẽ thực hiện lệnh thứ i tương ứng. (i=1..n)
- Ngược lại:
+ Đối với dạng 1: Không làm gì cả.
+ Đối với dạng 2: thực hiện lệnh thứ n+1 (Trường hợp ngoại lệ)
II. VÍ DỤ
Ví dụ 1: Viết chương trình in ra số lớn hơn trong hai số nguyên. (được nhập từ bàn phím).
a. Thuật giải
Nhập hai số vào hai biến a, b.
Nếu a > b thì in a.
Nếu a <= b thì in b. (Nếu a > b thì in a, ngược lại thì in b.)
b. Mã chương trình:
Program SO_SANH1;
uses crt;
var a,b: integer;
begin
clrscr;
write(`nhap so thu nhat: `); readln(a);
write(`nhap so thu hai: `); readln(b);
if a> b then writeln(` So lon la:`,a);
if a<= b then writeln(` So lon la:`,b);
readln
end.

Hoặc:
Program SO_SANH2;
uses crt;
var a,b: integer;
begin
clrscr;
write(`nhap so thu nhat: `); readln(a);
write(`nhap so thu hai: `); readln(b);
if a> b then writeln(` So lon la:`,a)
else writeln(` So lon la:`,b);
readln
end.


Ví dụ 2: Viết chương trình nhập vào tuổi của một người và cho biết người đó là thiếu niên, thanh niên, trung niên hay lão niên. Biết rằng: nếu tuổi nhỏ hơn 18 là thiếu niên, từ 18 đến 39 là thanh niên, từ 40 đến 60 là trung niên và lớn hơn 60 là lão niên.
a. Thuật giải
Nhập vào số tuổi.
Sử dụng cấu trúc lựa chọn:
+ Nếu tuổi từ 1..18 thì thông báo là thiếu niên.
+ Nếu tuổi từ 19..39 thì thông báo là thanh niên.
+ Nếu tuổi từ 40..60 thì thông báo là trung niên.
+ Còn lại thì thông báo là lão niên. (trường hợp ngoại lệ)
b. Mã chương trình:
program DoTuoi;
uses crt;
var tuoi:integer;
begin
clrscr;
* 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 Khánh Tài
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)