1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Tin học văn phòng >

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.2 MB, 236 trang )


Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



ví dụ nh

3:;

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

a..z: ;{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 ,

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;



64



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



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.



65



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



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
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.



66



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



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 n 2 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ã.



67



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



chơng IV

cấu trúc lặp

Trong thực tế khi lập trình có một số bài toán dùng các cấu trúc thông thờng sẽ rất dài. Ví dụ

bài toán in ra màn hình các số nguyên từ 1 cho đến 100 thì ngời lập trình sẽ phải dùng đến 100 câu

lệnh Write (Writeln) tức là thực hiện lại câu lệnh đó 99 lần hoặc khi tính tổng của n số nguyên ta thờng phải thực hiện phép cộng hai số nguyên n-1 lần.

Vậy hiện tợng một công việc nào đó đợc thực hiện đi thực hiện lại nhiều lần trong một chơng

trình thì ngời ta gọi là lặp.

Nếu trong trờng hợp số lần thực hiện công việc biết trớc là bao nhiều lần ngời ta gọi là lặp xác

định (hay lặp có số lần xác định).

Nếu trong trờng hợp số lần thực hiện công việc không biết trớc mà chỉ dừng công việc khi gặp

một điều kiện nào đó, gọi là lặp không xác định.

Để giải quyết các bài toán về lặp Pascal đa ra cho chúng ta một số cấu trúc lặp nh sau:

I. Vòng lặp xác định FOR

a. Cấu trúc

Vòng lặp FOR có hai dạng:

Dạng một: (FOR dạng tiến)

FOR :=giá trị đầu TO DO

;

Dạng hai: (FOR dạng lùi)

FOR :=giá trị cuối DOWNTO DO

;

Chú ý: Kiểu của , giá trị đầu, giá trị cuối phải có cùng kiểu giá trị và phải là

kiểu vô hớng đếm đợc.

Ngời ta thờng đặt tên cho biến điều khiển là i, j, k..

b. Hoạt động

* Hoạt động của vòng FOR dạng tiến:

Ban đầu biến điều khiển nhận giá trị đầu sau đó kiểm tra giá trị của biến điều khiển với giá trị

cuối. Nếu giá trị của biến điều khiển <= giá trị cuối thì đi thực hiện công việc sau DO, sau khi thực

hiện công việc xong, quay trở về đầu vòng lặp tăng giá trị của biến điều khiển lên một đơn vị và tiếp

tục so sánh với giá trị cuối, quá trình tiếp tục cho đến khi giá trị của biến điều khiển lớn hơn giá trị

cuối thì thoát khỏi vòng lặp.

* Hoạt động của vòng FOR dạng lùi:

Ban đầu biến điều khiển nhận giá trị cuối sau đó kiểm tra giá trị của biến điều khiển với giá trị

đầu. Nếu giá trị của biến điều khiển >= giá trị đầu thì đi thực hiện công việc sau DO, sau khi thực

hiện công việc xong, quay trở về đầu vòng lặp tăng giá trị của biến điều khiển lên một đơn vị và tiếp

tục so sánh với giá trị đầu, quá trình tiếp tục cho đến khi giá trị của biến điều khiển nhỏ hơn giá trị

đầu thì thoát khỏi vòng lặp.



68



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



c. Sơ đồ thuật toán

Giả sử biến điều khiển là i

* Sơ đổ thuật toán của vòng FOR dạng tiến



i:=giá trị đầu



i<=giá trị

cuối



Đ



Công việc



i:=i+1



Công việc



i:=i -1



S



* Sơ đổ thuật toán của vòng FOR dạng lùi



i:=giá trị cuối



i >=giá trị

đầu



Đ



S



d. Một số ví dụ

Ví dụ 1: Tìm tất cả các ớc số của một số nguyên n cho trớc

Phân tích bài toán:

Dữ liệu vào là một số nguyên n nhập từ bàn phím. Dữ liệu ra là tất cả các ớc số của số nguyên

n. Một số i đợc gọi là ớc số của n khi n chia cho số đó không d, tức là n mod i=0. Ta xây dựng một

vòng lặp từ 1 tới n và kiểm tra tất cả các số nguyên trong khoảng đó xem số nào thoả mãn điều kiện

trên thì in ra màn hình.

Thuật toán và sơ đồ

- Bắt đầu

- Nhập số nguyên n

- Trong vòng lặp với i chạy từ 1 đến n, kiểm tra nếu n mod i=0 thì in i ra màn hình



69



Xem Thêm
Tải bản đầy đủ (.doc) (236 trang)

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×