Câu lệnh lựa chọn

Một phần của tài liệu Đại cương về pascal (Trang 63 - 68)

CASE <biểu thức > OF

Tập hằng 1: <công việc 1>;

Tập hằng 2: <công việc 2>;

...

Tập hằng n-1: <công việc n-1>;

Tập hằng n: <công việc n>;

ELSE <Công việc n+1>;

END;

- Tập hằng bao gồm các hằng cụ thể hoặc các đoạn hằng:

vÝ dô nh 3:<công việc>;

1..10:<công việc>;{tập hằng là một tập các số nguyên từ 1 đến 10}

‘a’..’z’:<công việc> ;{tập hằng là tập các kí tự từ a đến z}

- Giá trị của biểu thức và giá trị trong các tập hằng phải có cùng kiểu và phải là kiểu vô hớng

đếm đợc (nh nguyên, logic, kí tự, liệt kê).

b. Hoạt động:

Khi gặp lệnh này chơng trình sẽ lấy giá trị của biểu thức đem so sánh với giá trị chứa trong các tập hằng, nếu giá trị của biểu thức trùng với giá trị chứa trong một các tập hằng thì sẽ đi thực hiện công việc tơng ứng với tập hằng đó và bỏ qua tất cả các công việc khác. Nếu trong trờng hợp không có giá trị của tập hằng nào trùng với giá trị của biểu thức thì đi thực hiện <công việc n+1>, trong trờng hợp không có ELSE thì chơng trình thoát khỏi cấu trúc này và đi thực hiện các công việc tiÕp theo sau cÊu tróc.

c. Mét sè vÝ dô:

Ví dụ 1: Nhập vào một số từ 1 đến 5 in ra màn hình số đó bằng chữ, ví dụ nhập vào số 2 in ra màn hình “số hai”

* Chơng trình Program Vidu;

Var

a: integer;

Begin

Write('Nhap vao so a=');readln(a);

CASE a OF

1:Writeln('so do la so mot');

2:Writeln('so do la so hai');

3:Writeln('so do la so ba');

4:Writeln('so do la so bon');

5:Writeln('so do la so nam');

end;

Readln;

End.

Ví dụ 2: Viết chơng trình nhập vào một điểm kiểm tra của một học sinh từ bàn phím (điểm là số nguyên từ 0 đến 10), in ra màn hình kết quả xếp loại của học sinh đó.

* Chơng trình Program Vidu;

Var

a: integer;

Begin

Write('Nhap vao diem cua hoc sinh=');readln(a);

CASE a OF

0..4:Writeln('Ban xep loai yeu');

5,6:Writeln('Ban xep loai trung binh');

7,8:Writeln('Ban xep loai kha');

9,10:Writeln('Ban xep loai gioi');

end;

Readln;

End.

Bài tập

Bài 1: Lập trình nhập vào từ bàn phím 3 số, tìm số lớn nhất trong 3 số đó.

Bài 2: Lập trình giải phơng trình bậc hai ax2 + bx +c = 0 với a, b, c nhập từ bàn phím.

Bài 3: Cho 3 số thực dơng. Kiểm tra xem chúng có tạo nên 3 cạnh của một tam giác hay không?

Nếu đúng, hãy tính diện tích tam giác.

Bài 4: Lập trình nhập vào từ bàn phím 4 số, tìm số lớn nhất trong 4 số đó.

Bài 5: Lập trình nhập vào từ bàn phím 3 số, in ba số đó ra màn hình theo thứ tự tăng dần.

Bài 6: Tìm |a| với a cho trứơc.

Bài 7: Tính số ngày của tháng, năm bất kỳ cho trớc theo thuật giải : - Nếu là tháng 4,6,9,11 thì số ngày là 30

- Nếu là tháng 1,3,5,7,8,10,12 thì số ngày là 31 - Nếu là tháng 2

+ Nếu số năm chia hết cho 4 thì tháng 2 có 29 ngày, còn lại tháng 2 có 28 ngày.

Bài 8: Lập trình giải biện luận bất phơng trình bậc hai ax2 + bx + c>0 với a,b,c đợc nhập từ bàn phím.

Bài 9: Lập trình giải biện luận hệ phơng trình:

ax + by =c dx + ey = f

Với a,b,c,d,e,f nhập từ bàn phím.

Bài 10: Cho ba số thực a,b,c. Kiểm tra xem bất đẳng thức sau xem có đúng không ? a < b <c

Bài 11: Cho ba số thực a, b, c. Hãy thay mỗi số bằng hai lần chính nó nếu a ≥ b ≥ c, ngợc lại thay bằng trị tuyệt đối của chúng.

Bài 12: Cho hai số thực x và y. Hãy tính Z với Z = x-y nÕu x>y

= y- x + 1 trong trờng hợp còn lại

Bài 13: Cho hai số thực a và b. hãy thay a = 0 nếu a ≥ b

Bài 14: Cho ba số thực x, y, z. hãy chỉ ra các số thuộc khoảng (3, 5)

Bài 15: Cho hai số thực x và y. hãy thay số bé trong chúng bằng trung bình cộng của chúng và số còn lại bởi tích của chúng.

Bài 16: Cho ba số thực x, y, z . hãy thay tất cả các số âm bằng bình phơng của nó.

Bài 17: Cho ba số thực a, b, c đôi 1 khác nhau mà có tổng bé hơn một thì thay số bé nhất trong chúng bằng trung bình cộng của chúng, ngợc lại số nhỏ hơn trong hai số a và b thay bằng trung bình cộng của hai số còn lại.

Bài 18: Với 4 số thực a,b,c,d. Nếu a ≤ b ≤ c ≤ d thì thay mọi số bằng d; Nếu a >b>c>d thì các số không thay đổi , ngợc lại thay mỗi số bằng bình phơng của nó.

Bài 19: Cho hai số thực x và y. nếu x và y đều âm thì thay mỗ số bằng trị tuyệt đối của chúng. Nếu chỉ một trong hai số âm thì tăng mỗi số lên 0.5. Nếu cả hai số đều không âm và không có số nào thuộc khoảng [1,2] thì thay mỗi số bằng 10 lần chính nó. các trờng hợp ngợc lại hai số không thay đổi.

Bài 20: Cho các số thực a,b,c,d,s,t,u, trong đó t và s không đồng thời bằng 0. Biết rằng hai điểm (a,b) và (c,d) không nằm trên đờng thẳng l: sx + ty + u=0 . Hãy xác định xem hai điểm (a,b) và (c,d) có cùng nằm trên một phần mặt phẳng mà chia bởi đờng thẳng l hay không?

Bài 21: Trên mặt phẳng cho 4 điểm A, B, C, D xác định bởi tọa độ A(a,b), B(c,d), C(e,f), D(g,h).

Kiểm tra xem hai điểm A và B có nằm trên đờng thẳng đi qua C và D không?. Nếu cả hai

điểm A và B không nằm trên đờng thẳng CD thì chúng có nằm ở hai nửa mặt phẳng khác nhau chia bởi CD hay không?

Bài 22: Trên mặt phẳng cho 4 điểm A, B, C, D xác định bởi tọa độ A(a,b), B(c,d), C(e,f), D(g,h).

Kiểm tra xem điểm D có nằm trong tam giác tạo bởi 3 điểm A,B,C không, nếu nằm trong thì

nằm trên cạnh hay ở trong hẳn tam giác.

Bài 23: Cho một số nguyên không âm a. Hãy xác định xem phần d của phép chia a cho số dơng b có phải là r hoặc t hay không.

Bài 24: Cho số tự nhiên n ( n > 99). Hãy tìm chữ số hàng đơn vị của n.

Bài 25: Cho số tự nhiên n (n<=99). Kiểm tra xem n2 có bằng tổng các lập phơng các chữ số của n hay không.

Bài 26: Cho số tự nhiên n (n <= 1000).

a/ Số tự nhiên n có bao nhiêu chữ số.

b/ Tìm tổng các chữ số của n c/ Tìm chữ số cuối cùng của n d/ Tìm chữ số đầu tiên của n.

e/ Với n>=10. Hãy tìm chữ số hàng chục của n.

Bài 27: Cho hai số nguyên m và n (1<=m<=12; 0<=n<60) cho biết thời gian tại thời điểm “ m giờ n phút”. Hãy xác định thời gian bé nhất, mà sau khoảng thời gian đó hai kim đồng hồ sẽ : a/ Trùng nhau

b/ Vuông góc với nhau.

Bài 28: Cho bàn cờ quốc tế 8 x 8 ô vuông , mỗ ô xác định bởi một cặp số nguyên dơng bé hơn hay bằng 8(i,j) trong đó i là chỉ số dòng, j là chỉ số cột của ô đó. Cho hai ô bất kỳ (i,j) và (k,l).

a/ Xác định xem 2 ô đó có cùng màu hay không?

b/ Trên ô (i,j) đặt một con hậu. hãy kiểm tra xem ô (k,l) có bị con hậu đó khống chế hay không?

c/ Tơng tự nh câu b/ nhng thay hậu bằng tợng.

d/ Tơng tự nh câu b/ nhng thay hậu bằng mã.

e/ Có thể đi từ ô (i,j) tới ô (k,l) bằng hai nớc đi liên tiếp của con xe hay không?

f/ Tơng tự nh câu e nhng thay xe bằng mã.

Một phần của tài liệu Đại cương về pascal (Trang 63 - 68)

Tải bản đầy đủ (DOC)

(236 trang)
w