Tải bản đầy đủ (.doc) (90 trang)

Bài tập lập trình pascal doc

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 (248.07 KB, 90 trang )

Bài tập lập trình pascal
I. Cấu trúc tuần tự
Bài 1:
Lập chơng trình nhập vào 4 số. Tính tổng, tích, trung bình cộng các số đó.
Bài 2:
Tính chu vi của đa giác đều n cạnh nội tiếp đờng tròn bán kính R.
Cạnh của đa giác đều tính theo công thức.
a
naCV
n
R ==

sin2
Mở rộng muốn tính diện tích đa giác đều dùng công thức
n
RS

2
sin
2
2
=
Bài 3:
Viết phơng trình tích diện tích xung quanh, thể tích và đờng chéo của hình lập
phơng khi cho biết cạnh a.
Diện tích xung quanh S = 4a
2
Thể tích V = a
3

Đờng chéo d =


3a
Bài 4:
Cho độ dài cạnh huyền và một cạnh góc vuông của một tam giác vuông là a và b.
Viết phơng trình tính bán kính đờng tròn nội tiếp tam giác đó.

22
;
2
bac
c
R
+==
Bài 5:
Viết phơng trình tính tổng một cấp số cộng có n phần tử. Biết rằng phần tử thứ
nhất là a và công sai là d.
dnaa
n
)1(
1
+

2
)(
1
naa
S
n
+
=
Bài 6:

Viết phơng trình chào mừng in ra màn hình dòng chữ :
Họ tên :
Ngày, tháng, năm, sinh:
Tên lớp:
Chào bạn Chúc bạn một ngày tốt lành.
Bài 7:
Viết chơng trình giải phơng trình bậc nhất ax + b = 0 với a khác 0
1
II. Câu lệnh rẽ nhánh
Bài 1:
Cho 3 số thực x, y, z. Tìm.
a. max ( x - y, y - z, z - x ) và min ( x +y, y + z , z + x)
b. max ( x +y+z , xyz)
Bài 2:
Lập phơng trình tìm giá trị lớn nhất, nhỏ nhất của 4 số a,b, c, d nhập từ bàn phím
Bài 3:
Nhập vào một số x kiểm tra tính chẵn lẻ và đa thông báo ra màn hình.
Bài 4:
Lập phơng trình tính giá trị của biểu thức.
5 cos ( 3x + 2 ) - In ( x
2
+ 2 ) Khi 2< x < 3
y = ( x +3)
2
Khi x > = 3
1 với các trờng hợp còn lại
Bài 5:
Lập phơng trình tính tiền điện tiêu thụ của một hộ trong một tháng với số điện n
( kw/h) nhập vào từ bàn phím biết giá 1kw/h đợc tính nh sau :
500 đồng nếu n < = 100

700 đồng nếu n < = 150
1000 đồng nếu n > 150
Bài 6 :
Hãy sử dụng toán tử điều kiện để tìm số lớp nhất, nhỏ nhất và sắp xếp theo thứ tự
tăng dần cho ba số a, b, c nhập vào từ bàn phím.
Bài 7:
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.
III. Câu lệnh lựa chọn CASE OF.
Bài 1:
Viết phơng trình nhập vào số nguyên n ( 0 n 9) in ra màn hình cách đọc tiếng
Việt của số đó.
Bài 2:
2
Viết phơng trình thực hiện việc sau: Nếu biến chọn nhận giá trị = 'A' thì yêu cầu
tính diện tích hình chữ nhật, nếu biến chọn giá trị = ' B ' thì tính diện tích tam giác,
bằng ' C ' thì tính chu vi hình tròn, các trờng hợp còn lại thì tính diện tích hình thang.
Bài 3:
Một cửa hàng có 4 loại sản phẩm giá cho 1 mét khối từng loại là nh sau : Loại 1 là
200.000 đ , loại 2 là 100.000 đ, loại 3 là 70.000 đ , loại 4 là 20.000 đ. Viết phơng
trình tính tiền cho khách hàng.
Bài 4:
Nhập các số thực x, y và ký tự ch. Nếu ch là ký hiệu phép toán + , - , *, / thì thực
hiện phép toán đó với x, y nếu không thì thông báo không phải là phép toán. Trờng hợp
chia cho 0 cũng phải thông báo.
IV. Vòng lặp FOR

Bài 1:
In bảng cửu chơng lên màn hình
Bài 2:
Viết phơng trình tìm tất cả các số tự nhiên có 3 chữ số. Biết số đó chia cho 6 d 2
và tổng các chữ số của nó bằng 20.
Bài 3.
Viết phơng trình tìm tất cả các số có ba chữ số abc sao cho tổng các lập phơng
của các chữ số bằng chính số đó.
Bài 4:
Cần có tổng số 200 đồng từ 3 loại giấy bạc loại 10đ, 20đ, và 5đ. Lập chơng trình
tìm tất cả các phơng án có thể .
Bài 5:
Lãi suất hàng tháng gửi tiết kiệm không kỳ hạn là t % ( t nhập từ bàn phím )
a. Nhập số vốn ban đầu n và số tháng gửi k. Tính số tiền nhận đợc sau k tháng
b. Nhập số vốn ban đầu n và số tiền cần nhận m.Tính số tháng cần gửi.
c. Nhập số tiền cần nhận m và số tháng gửi k. Tính số vốn cần gửi ban đầu.
Tính số tiền thu đợc sau t tháng với tiền gửi ban đầu là x.
Bài 6 :
Viết các số từ 0 99 trên màn hình theo cách sau :
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19

Bài 7 :
Tính tổng sau với n nhập từ bàn phím.
a.

=
100
2
1

li
i
b.

=
50
3
1
li
i
c.

=
10
!
1
li
i
d.

=
128
2
)2(
1
ji
i
3
e.


==
++=
105
97
2
108
101
2
8
2
nnln
nnns
Bài 8 :
Viết phơng trình giải bài toán
Vừa gà vừa chó 36 con
Bó lại cho tròn 100 chân chẵn
Hỏi có bao nhiêu con gà có bao nhiêu con chó
Bài 9 :
Viết phơng trình giải bài toán
100 con trâu, 100 bó cỏ
Trâu đứng ăn 5, trâu nằm ăn 3
Lụ khu trâu già 3 con một bó. Hỏi mỗi loại trâu có bao nhiêu con
Bài 10 :
Tìm các nguyện nguyên dơng của phơng trình vô định
4x + 3y = 50
Bài 11 :
Lập chơng trình vào một số tự nhiên n. Tính giá trị biểu thức
a.nl = 1.2.3 n
b. 2
n


c.






+






+






+
22
1
1
2
1
1
1

1
1
n
Bài 12 : Lập chơng trình vào một số tự nhiên n. Tính giá trị biểu thức
S = 1+ 1/2 + 1/3 + + 1/n
Bài 13 : Lập chơng trình vào một số tự nhiên n. Tính giá trị biểu thức
S = 1 + 2
2
+ 3
2
+ n
2

Bài 14 :
Nhập số tự nhiên n và số thực x. Tính
A = sinx + sin
2
x + + sin
n
x
B = sinx + sin
2
x + + sinx
n

Bài 15 :
Nhập vào số tự nhiên n,m. Tính giá trị biểu thức

!)(
!!

mn
mn
+
+
Bài 16 :
Cho số thực a và số tự nhiên n. Hãy tính
4
a. a
n

b.a ( a + 1 ) ( a + n + 1 )
c.
)) (1(
1

)1(
11
naaaaaa ++
++
+
+
Bài 17 :
Nhập vào 2 số thực a và x và số tự nhiên n. Hãy tính :
(( (( x+ a
n
) + a
n-1
) + +a
3
) + a

2
) + a
n dấu ngoặc
Bài 18 :
Nhập vào số thực x và tính giá trị của biểu thức
)63) (7()3()1(
)64) (8()4()2(


xxxx
xxxx
Bài 19 :
Cho hai số nguyên không âm n, k. tính
!)(!
!
knk
n

Bài 20 :
Nhập n là số tự nhiên. Tính n !
1.3.5 n với n lẻ
n !! =
2,4,6 n với n chẵn
Bài 21 :
Nhập vào số tự nhiên n. Tính
a.
n
n
2
12


6
5
.
4
3
.
2
1

b.
n
n 12

3
5
.
2
3
.
1
1
Bài 22 :
Hãy tính giá trị biểu thức
1-
10000
1
9999
1


3
1
2
1
++
Theo cách sau đây :
a. Tính từ trái sang phải
b. Tính từ phải sang trái
Bài 23.
Viết phơng trình kiểm tra một số n có phải là số nguyên tố hay không
Bài 24.
Viết phơng trình nhập số tự nhiên N ( N < 2l ) và số x < l. Tính tổng
nxxx
nxxx
xx
xx
x
x
cos 2coscos
sin 2sinsin

2coscos
2sinsin
cos
sin
++
++
++
+
+

+
5
Bài 25 :
Viết chơng trình tìm tất cả các số tự nhiên có bốn chữ số sao cho số đó chia hết
cho 5 và tổng các chữ số của nó bằng 20.
Bài 26 :
Một số hoàn hảo là một số có tổng các ớc số của nó bằng chính nó. Hãy lập trình
tìm các số hoàn hảo nhỏ hơn 5000 ( vd 6 là số hoàn hảo vì có các ớc là 1, 2, 3 và 1 + 2 +
3 = 6 )
Bài 27 :
Tìm tất cả các số nguyên tố có 3 chữ số đối xứng nhau ( hàng trăm = hàng đơn vị )
Bài 28 :
Cần có tổng số 200.000đ từ 3 loại giấy bạc 10.000đ ; 2000đ ; 5000đ. Lập chơng
trình để tìm tất cả các phơng án có thể.
Bài 29 :
Nhập số tự nhiên n. Tính
n5 105 +++
( Phần tử cuối cùng có n lần lấy căn bậc 2 )
Bài 30 :
Viết chơng trình tìm tất cả các số tự nhiên có 3 chữ số. Biết rằng số đó chia cho 6
d 2 và tổng các chữ số của nó là 20.
Bài 31 :
Nhập một dãy n số nguyên. Tính trung bình cộng của các phần tử dơng và các
phần tử âm trong dãy vừa nhập.
Bài 32 :
Nhập một dãy n phần tử . Hãy tính tích của chúng. Nếu tích dơng thì tính trung
bình nhân của dãy đó.
Bài 33:
Nhập n và liệt lê các số dơng bé hơn hoặc bằng n tổng các ớc của nó bé hơn hoặc
bằng chính nó.

V. Vòng lặp WHILE, DO WHILE
Bài 1:
Viết phơng trình phân tích sốn thành thừa số nguyên tố.
Bài 2:
Lập phơng trình nhập vào một số tự nhiên n. Tính giá trị biểu thức
n! = 1.2.3 n và 2
n
Bài 3:
Lập phơng trình nhập vào một số tự nhiên n. Tính giá trị biểu thức
S = 1 + 1/2 +1/3 + + 1/n
6
Bài 4: Lập phơng trình nhập vào một số tự nhiên n. Tính giá trị biểu thức
S = 1 +2
2
+ 3
2
+ + n
2

Bài 5:
Lập phơng trình tính e
x
theo công thức xấp xỉ
e
x
= 1 +
!

!2!1
2

n
xxx
n
+++
Với độ chính xác 0.00001. Tức là n cần chọn sao cho
!n
x
n
< 0.00001
Bài 6:
Lập chơng trình tính sin (x) theo công thức sau:
sin ( x) = x -
!)12(
)1(
!5!3
125
+
++
+
n
xxx
n
n
độ chính xác là esp
!)12(
12
+
+
n
x

n
< esp. với x là esp nhập từ bàn phím
Bài 7 :
Lập chơng trình tính cos (x) theo công thức sau :
cos (x) =1-
!4!2
42
xx
+
- + ( -1 )
!)2(
2
n
x
n
n
độ chính xác là esp
!)2(
2
n
x
n
< esp. Với x và esp nhập từ bàn phím.
Bài 8
Tính tổng S = 1 + 1/2 + 1/3 + yêu cầu dừng lại khi 2 - S < 0.001S
Bài 9 :
Lập chơng trình nhập vào một dãy số đến khi gặp số 0 thì kết thúc. Tính tổng của
dãy số vừa nhập.
Bài 10 :
Nhập vào n số bất kỳ. Đếm các số lớn hơn 10 và nhỏ hơn 20. Tính tổng của chúng

Bài 11 :
Lập chơng trình tìm USCLN của hai số nguyên nhập từ bàn phím.
Bài 12 :
Đếm xem trong số các số từ 1 đến 150 có bao nhiêu số là bội của 3 và 5. Tính
tổng các số đó.
Bài 13 :
7
Đọc vào một dãy số cho đến khi tổng của chúng lớn hơn 200 . Tính trung bình
cộng các số đã đọc.
Bài 14 :
Lập chơng trình xác định số hạng thứ n của dãy Fibonaci biết :
f
n
= f
1
= 1
f
n
=f
n-1
+ f
n - 2

Bài 15 :
Cho số thực a. lập chơng trình tìm số tự nhiên bé nhất thoả mãn
1 + 1/2 + 1/3 + 1/4 + +1/n >a
Bài 16 :
Nhập số m nguyên dơng dới dạng thực và liệt kê m số nguyên tố đầu tiên lên màn
hình.
Bài 17 :

Nhập tử số và mẫu số của một phân số, tìm dạng tối giảm của phân số đó.
Bài 18 :
Nhập một số nguyên dơng n tính tổng các chữ số và số các chữ số của số đó.
Bài 19 :
Nhập các số nguyên dơng n,m. Tìm hai chữ số cuối của n luỹ thừa m
VI.MảNG
Bài 1 :
Lập chơng trình đọc từ bàn phím dãy n số thực rồi đếm xem có bao nhiêu số dơng,
tính tổng của chúng rồi đa kết quả ra màn hình.
Bài 2 :
Nhập vào một dãy số thực tối đa 50 phân tử. Nhập vào số nguyên k.
a. Xoá phần tử ở vị trí k trong dãy vừa nhập.
b. Nhập vào số thực x. Chèn x vào vị trí thứ k.
Bài 3 :
Nhập vào một dãy số nguyên. Hãy sắp xếp dãy số đó theo chiều tăng dần. Chèn
vào dãy một số x sao cho không mất tính tăng dần của dãy. In dãy mới ra màn hình.
Bài 4 :
Lập chơng trình nhập vào một dãy số. Tìm phần tử lớn nhất, nhỏ nhất và vị trí của
nó trong dãy vừa nhập.
Bài 5 :
Viết chơng trình nhập vào một mảng số thực. Sắp xếp mảng theo thứ tự tăng dần,
giảm dần.
Bài 6 :
Viết chơng trình nhầp vào một dãy số, sau đó tách dãy này thành 2 dãy chứa số
âm và dơng riêng biệt. Tính tổng số phần tử của mỗi dãy sau đó sắp xếp dãy dơng theo
thứ tự tăng dần, dãy âm theo thứ tự giảm dần.
8
Bài 7 :
Viết chơng trình nhập vào một dãy số. Hãy tìm phần tử âm lớn nhất và phần tử d-
ơng nhỏ nhất trong mảng đó.

Bài 8 : Viết chơng trình nhập vào số n<20. Tính và in ra n số hạng F ( 1 ), F (2), , F(n)
của dãy Fibonnaci, biết rằng.
F (1) = F (2) = 1
F (i) = F ( i -1) + F(i - 2) với i > = 3
Bài 9:
Cho một mảng A gồm N số thực. Hãy tính và in ra tổng.
T1 = A
1
- A
2
+ A
3
- A
4
+ + ( -1)
N-1
A
N
T2 = 1/A
1
- 1/A
2
+ 1/A
3
- 1/A
4
+ + ( -1)
N-1
1/A
N

Bài 10 Cho mảng A[1 50] gồm các phần tử tự nhiên với A[1] = 1
2
m +2 . Hãy tính
- Tổng các phần sử chia hết cho 3 của mảng.
- Tổng các căn bậc 2 của các phần tử chia cho 7 d 4.
- Tích các phần tử từ thứ 20 đến thứ 22 trong mảng.
Bài 11:
Nhập vào một dãy n số thực, in dãy vừa nhập ra màn hình. Tìm và in giá trị của
phần tử Max, Min và vị trí của chúng trong mảng, sau đó đổi chỗ 2 phần tử này cho
nhau. IN ra dãy sau khi đổi chỗ.
Bài 12.
Cho hai dãy số a1, ,an và b1 , , bm cả hia đều sắp xếp theo thứ tự tăng dần. Lập
chơng trình để từ hai dãy trên xây dựng một dãy mới cũng theo thứ tự tăng.
Bài 13.
Cho hai dãy số a1, ,an . Lập chơng trình in các số âm trên một dòng, các số d-
ơng trên dòng tiếp theo .
Bài 14:
Nhập vào một dãy n số thực, in dãy vừa nhập ra màn hình. Tìm và in giá trị của
phần sử Max, Min và vị trí của chúng trong mảng, sau đó đổi chỗ 2 phần tử này cho
nhau. In ra dãy sau khi đổi chỗ.
Bài 15 :
Nhập vào một dãy n số nguyên. In ra các số chia hết cho 3 trên một dòng, các số
còn lại thì in trên dòng tiếp theo. Dòng thứ 3 in tất cả các phần tử của dãy trên.
Bài 16 :
Nhập vào dãy số nguyên, đa số nhỏ nhất về đầu dãy, các số còn lại sắp xếp theo
chiều giảm dần.
Bài 17 :
Viết chơng trình nhập vào mảng nguyên A không quá 50 phần tử và số x.
9
a. Đa ra thông báo có phần tử nào trong mảng có giá trị bằng x không. Trong

mảng có bao nhiêu phần tử có giá trị = x, hãy chỉ ra các vị trí trong mảng của các phần tử
đó.
b. Loại khỏi mảng A các phần tử có giá trị bằng x.
Bài 18:
Nhập một dãy số nguyên :
a. Đếm các số nằm trong đoạn [ 50, 100 ]
b. Đếm xem có bao nhiêu số bằng số lớn nhất.
c. Tính tổng các số và trung bình cộng của các số chẵn.
d. Tính trung bình của các số thuộc đoạn [ 20, 200 ]
e. Sắp các số lẻ lên dãy đầu, các số chẵn xuống cuối dãy.
Bài 20:
Nhập vào dãy số a1 , . an . Tính tổng tất cả các phần tử của dãy mà :
a. là số chẵn và không âm
b. Thoả mãm điều kiện
1
a
< i
2

Bài 21:
Lập trình đọc vào từ bàn phím n số nguyên từ bàn phím
a. Xoá các số chẵn và chia hết cho 3 có trong dãy
b. Xoá các số lẻ thuộc [ 10, 30 ] Đa ba dãy ra màn hình.
Bài 22 :
Lập trình đọc vào từ bàn phím một dãy số nguyên
a. Sắp xếp dãy theo thứ tự sau : Đầu dãy là các số chẵn chia hết cho 3, cuối dãy là
các số lẻ chia hết cho 5. đoạn giữa là các số còn lại.
b. Đa ra màn hình các số và vị trí của nó trong dãy thoả mãn điều kiện : lẻ và
chia hết cho 7 .
Bài 23 :

Lập trình đọc vào từ bàn phím một dãy n số nguyên ( n>3)
a. Đọc một số nguyên x, thay giá trị của số thứ 3 bằng x
b, Thay tất cả các số âm bằng số 0 .
c, Đếm số phần tử bản thân là số chẵn, chỉ số là số lẻ.
d. Lập trình nhập vào số nguyên dơng N, In ra biểu diễn nhị phân của N.
Bài 24:
Viết phơng trình nhập vào số nguyên dơng cho đến khi nào số 99999 đợc nhập
vào thì kết thúc và cho biết.
a. Số phân tử đã nhập .
b. Số các phần t chia hết cho 2 và cho 5.
c. Số các phần tử là số nguyên tố.
Bài 25:
10
Nhập một dãy số thực a. Hãy thực hiện công việc loại bỏ sau : các phần tử trùng
nhau trong dãy chỉ giữ lại một .
Bài 26:
Viết phơng trình nhập vào mảng Amxn. Tính tổng của các phần tử dơng và tổng
các phần tử âm trên mỗi cột.
Bài 27:
Cho mảng Amxn các số thực đợc nhập từ bàn phím . Hãy
a. Tính tổng các căn bậc hai của trị tuyệt đối của các phần tử > 3 hoặc không lớn
hơn -1
b. Tính tổng các phần nguyên của các phần tử có trị tuyệt đối > 1.
Bài 28:
Lập phơng trình 2 ma trận vuông cấp n : C = A*B
Công thức : C
y
=
ky
n

yk
k
BA *

=
Bài 29:
Viết phơng trình nhận vào mảng A các số nguyên với các dòng đợc đánh số từ
1 7 và các cột đợc đánh số từ 1 14 trong đó [i, j ] = i * j
a. Tính tổng các phần tử ở cột 3.
b. Tính tổng các căn bậc 2 của các phần tử ở dòng 5.
c. Tính tổng các phần tử ở các dòng 2,4,6.
d. Tìm phần tử bé nhất của các hàng.
VII. Xâu
Bài 1:
Lập phơng trình nhập một xâu từ bàn phím.
a. Đếm số từ có trong xâu vừa nhập.
b. In mỗi từ trên một dòng.
VD: HA NOI -> HA
NOI.
Bài 2:
Nhập vào một xâu không quá 80 ký tự từ bàn phím. Lập trình thực hiện công việc
sau :
- Chuyển xâu đó thành xâu chữ hoa.
- Chuyển xâu đó thành xâu chữ thờng.
- Các kỹ tự thờng trong xâu cũ đợc chuyển thành hoa và ngợc lại.
Bài 3:
Nhập vào 2 xâu. Kiểm tra 2 xâu đó bằng nhau không. Nếu không thì thông báo vị
trí khác nhau đầu tiên.
Bài 4:
11

Viết phơng trình nhập vào một xâu.Kiểm tra xem xâu đó có phải là xâu đối xứn
hay không?
Bài 5:
Viết phơng trình nhập 2 xâu. Hãy ghép 2 xâu lại thành 1 xâu mới.
Bài 6:
Lập phơng trình vào một dãy ký tự. Tính số lần xuất hện của mỗi ký tự trong xâu
vừa nhập.
Bài 7:
Nhập vào một xâu ký tự. Hãy chuẩn hoá xâu ký tự đó ( giữa mỗi từ chỉ có 1 dấu
cách, tất cả viết thành chữ thờng, đầu xâu và cuối xâu không có dấu cách) Đếm số từ có
trong xâu đó.
Bài 8:
Nhập vào một xâu văn bản. Viết chơng trình thay tất cả các ký tự 'a' trong xâu =
ký tự 'b' và tìm số lầm xuất hiện của ký tự a trong xâu đó.
Bài 9:
Nhập vào một xâu. Viết phơng trình hiển thị xâu đó chạy từ trái sang phải, từ phải
sang trái.
Bài 10:
Viết phơng trình đọc vào xâu , sau đó nhập vào một ký tự bất kỳ. Hãy kiểm tra
xem trong xâu có bao nhiêu ký tự vừa nhập vào. Xoá tất cả các ký tự đó.
Bài 11:
Lập chơng trình đọc vào một xâu v ăn bản, chèn vào vị trí thứ i trong xâu đó một
xâu mới. Đa xâu văn bản sau khi chèn ta màn hình ( vị trí i và xâu chèm thêm nhập từ
bàn phím )
Bài 12:
Lập chơng trình nhập một xâu từ bàn phím. Kiểm tra và đa ra thông báo xâu này
có phải là xâu chuẩn bị không. In xâu theo thứ tự ngợc lại.
Bài 13:
Lập chơng trình nhập vào một xâu gồm họ và tên . Đa ra màn hình họ, tên, họ đệm
( nếu có ) dới dạng : Họ Tên Họ đệm

Bài 14:
Lập trình thực hiện công việc sau
a. Nhập một xâu st không quá 80 ký tự từ bàn phím. Đa xâu vừa nhập ra màn
hình.
b. Nhập 2 số nguyên n, m từ bàn phím . Kiểm tra nếu n khác m và 1 n , m
length(st) thì đổi chỗ hai ký tự thứ n và m cho nhau. Đa xâu sau khi đổi chỗ ra màn
hình.
12
Bài 15:
Lập chơng trình nhập vào một xâu ký tự.
a, Đa xâu về dạng chuẩn
b. Nhập vào số nguyên k, đa ra màn hình từ thứ có k trong xâu.
c. Xoá tất cả các từ bằng tự thứ k vừa tìm đợc . Đếm số từ vừa bị xoá . Đa xâu sau
khi xoá ra màn hình.
VIII. Chơng trình CON
Bài 1:
Viết hàm tính giá trị : F (x) = 1 +x + x
2
+ x
3
+ x
4
+ x
5

Sau đó nhập vào 4 số a,b,c,d. Tính tổng F(a) + F ( b) + F (c) + F ( d)
Bài 2:
Viết chơng trình con tìm USCLN của hai số nguyên dơng. Sử dụng để tính
USCLN của 4 số nguyên dơng a,b,c,d nhập từ bàn phím.
Bài 3: Cho hàm :

).(),( babayx +=

Trong đó : a =
(
5)2sin( ++xx
khi x > 100
3
32 +x
khi x 100
b = phần nguyên của y -> modf ( y&b)
a. Lập chơng trình con tính giá trị hàm f(x) với x,y là số thực nhập từ bàn phím.
b. Lập chơng trình tính f( 2,3,14)
( sử dụng hàm k = modf ( x&y) với x,y,k thuộc kiểu double- tách số nguyên x thành 2
phần: phần nguyên y và thập phân k)
Bài 4: a. Lập chơng trình con chèm thêm một phần tử vào mảng các số thực đã đợc sắp
xếp.
b.Lập chơn trình trộn hai mảng số thực đã sắp xếp thành một mnảg số tứuc đã sắp
xếp.
Bài 5: a. Viết hàm tính giá trị.
F (x) = 1 + sin (x) + sin
2
(x) +sin
3
(x) + + sin
50
(x)
b. Lập phơng trình nhập vào 4 số a,b,c,d. Tính tổng F (a) +F (b) +F (c) +F (d)
Bài 6: Nhập vào số tự nhiên n
a. Lập phơng trình con kiểm tra một số có phải là số nguyên tố hay không?
b. Tìm tổng tất cả các số nguyên tốt nhỏ hơn n.

Bài 7: Nhập vào số tự nhiên n
a. Lập chơng trình con kiểm tra xem, n, m có nguyên tố cùng nhau hay không. ?
b. Lập phơng trình kiểm kê các số bé hơn n và nguyên tố cùng nhau với n.
Bài 8:
Một số nguyên dơng đợc gọi là đối xứng nếu chữ số thứ nhất bằng chữ số cuối
cùng, chữ số thứ hai bằng chữ số gần cuối.
13
a. Lập chơng trình con kiểm tra tính đối xứng của một số nguyên dơng.
b. Lập chơng trình nhập vào các số nguyên dơng , n, m .
Liệt kê các đối xứng nằm giữa n và m.
Bài 9: Cho hàm số




+

5
5
)2cos(15
)(
x
xx
x
)1(log
2
3
++ x
Khi -10 < x < 10
Trờng hợp còn lại.

a. Nhập chơng trình con tính hàm f (x)
b. Nhập một số a từ bàn phím. Tính và đa ra màn hình giá trị f ( a)
Bài 10 : a. Lập chơng trình con tính giai thừa của 1 số n bất kỳ.
b. Sử dụng chơng trình con để tính giá trị của biểu thức sau :
)(
!!
mn
mn
+
+
Bài 11 :
Lập chơng trình thực hiện các công việc sau :
a. Lập phơng trình có tính giai đoạn thừa của một số n bất kỳ.
b. Sử dụng chơng trình con để tính giá trị của biểu thức sau
s = 1 +2! +3! + +n!
Bài 12.
Lập phơng trình thực hiện công việc sau :
a. Viết phơng trình con tìm giá trị lớn nhất của hai số x, y bất kỳ.
b. Sử dụng chơng trình con trên để tìm giá trị lớn nhất của 4 số a, b, c, d nhập từ
bàn phím
IX. Cấu trúc
Bài 1: Lập chơng trình nhập vào danh sách sinh viên ( số phần tử không biết trớc )
đến khi hoten thì dừng .Mỗi sinh viên gồm có các thông tin , họ tên tuổi, điểm toán,
điểm lý , tổng điểm.
1. In ra màn hình những sinh viên có tổng điểm > 14.
2. In ra những sinh viên phải thi lại.
3. Sắp xếp theo thứ tự tăng dần của tổng điểm.
Bài 2: Lập chơng trình quản lý cán bộ gồm các thông tin: họ tên, ngày sinh ( ngày,
tháng, năm ) bậc lơng.
1.Sắp xếp danh sách theo trờng họ tên ( cùng tên thì sắp theo tuổi )

2. Tìm kiếm ngời có tên nhập từ bàn phím .
3.Tính tổng số lơng của n ngời ( lơng = bậc lơng *210.000 )
Bài 3: Viết phơng trình quản lý điểm của một lớp gồm có những nhiệm vụ sau :
1.Nhập hồ sơ của mỗi học sinh gồm có họ tên, năm sinh, điểm trung bình học
kỳI , điểm trung bình học kỳ II , điểm trung bình cả năm.
14
2. In ra danh sách các học sinh có điểm trung bình cả năm từ 5,0 trở lên theo thứ
tự giảm dần của điểm trung bình cả năm.
3.In ra các danh sách học sinh lu ban.
4. Tính tỷ lệ học sinh giỏi, khá, trung bình, yếu của lớp.
Bài 4: Lập chơng trình quản lý cán bộ gồm có các thông tin ; Họ tên, ngày sinh (ngày,
tháng, năm ) giới tính , bậc lơng.
1.Nhập danh sách cán bộ.
2.Đa ra danh sách những ngời đã đến tuổi về hu ( nam là 60 tuổi, nữ là 55 tuổi)
theo thứ tự a,b,c của tên.
3. Những ngời có lơng cao nhất.
4. Chèn vào vị trí thứ 3 trong danh sách một cán bộ mới.
P N:
I.CU TRC TUN T
Bi 1:
program bai1;
uses crt;
var
a,b,c,d:integer;
begin
clrscr;
write('a= ');
readln(a);
write('b= ');
readln(b);

write('c= ');
readln(c);
write('d= ');
readln(d);
writeln('Tong: ',a+b+c+d);
writeln('Tich: ',a*b*c*d);
writeln('Trung binh cong: ',(a+b+c+d)/4:0:2);
readln;
end.
Bi 2:
program bai2;
uses crt;
var
n,r:integer;
cv,s:real;
begin
clrscr;
write('So canh da giac deu n= ');
readln(n);
15
write('Ban kinh duong tron R= ');
readln(r);
cv:=n*2*r*sin(pi/n);
writeln('Chu vi da giac deu= ',cv:0:2);
s:=n/2*sqr(r)*sin(2*pi/n);
writeln('Dien tich da giac deu= ',s:0:2);
readln;
end.
Bài 3:
program bai3;

uses crt;
var
a:integer;
begin
clrscr;
write('a= ');
readln(a);
writeln('Dien tich xung quanh: ',4*sqr(a));
writeln('The tich: ',a*a*a);
writeln('Duong cheo: ',a*sqrt(3):0:2);
readln;
end.
Bài 4:
program bai4;
uses crt;
var
a,b:integer;
begin
clrscr;
write('Do dai canh huyen a= ',a);
readln(a);
write('Do dai 1 canh tam giac b= ');
readln(b);
writeln('Ban kinh duong tron noi tiep tam giac: ',sqrt(sqr(a)+sqr(b))/2:0:3);
readln;
end.
Bài 5:
program bai5;
uses crt;
var

a,b,d,n:longint;
begin
clrscr;
write('Phan tu thu nhat a= ');
readln(a);
write('Cong sai d= ');
readln(d);
write('So phan tu n= ');
readln(n);
b:=a+(n-1)*d;
write('Tong cua cap so cong: ',(a+b)*n/2:0:0);
readln;
16
end.
Bài 6:
program bai6;
uses crt;
var
hoten,sinhnhat,tenlop:string;
begin
clrscr;
write('Ho ten: ');
readln(hoten);
write('Ngay thang nam sinh: ');
readln(sinhnhat);
write('Ten lop: ');
readln(tenlop);
writeln('Chao ban ',hoten,'. Chuc ban mot ngay tot lanh');
readln;
end.

Bài 7:
program bai7;
uses crt;
var
a,b:integer;
begin
clrscr;
writeln('Giai phuong trinh bac nhat ax+b=0 (a#0)');
write('a= ');
readln(a);
write('b= ');
readln(b);
if a<>0 then
writeln('Nghiem cua phuong trinh x= ',-b/a:0:2);
readln;
end.
II.CÂU LỆNH RẼ NHÁNH
Bài 1:
program bai1;
uses crt;
var
x,y,z,max,min:longint;
begin
clrscr;
write('x= ');
readln(x);
write('y= ');
readln(y);
write('z= ');
readln(z);

max:=x-y;
if max<(y-z)then
max:=y-z
else
if max<(z-x)then
17
max:=z-x;
min:=x+y;
if min>(y+z)then
min:=y+z
else
if min>(z+x)then
min:=z+x;
writeln('a.max(x-y,y-z,z-x)= ',max,' & min(x+y,y+z,z+x)= ',min);
max:=x+y+z;
if max<(x*y*z) then
max:=x*y*z;
writeln('b.max(x+y+z,x*y*z)= ',max);
readln;
end.
Bài 2:
program bai2;
uses crt;
var
a,b,c,d,max,min:integer;
begin
clrscr;
write('a= ');
readln(a);
write('b= ');

readln(b);
write('c= ');
readln(c);
write('d= ');
readln(d);
max:=-32768;
min:=maxint;
if max<a then
max:=a;
if max<b then
max:=b;
if max<c then
max:=c;
if max<d then
max:=d;
if min>a then
min:=a;
if min>b then
min:=b;
if min>c then
min:=c;
if min>d then
min:=d;
writeln('Max= ',max);
writeln('Min= ',min);
readln;
end.
Bài 3:
program bai3;
18

uses crt;
var
x:integer;
begin
clrscr;
write('x= ');
readln(x);
if(x mod 2)=0 then
writeln('x la so chan')
else
writeln('x la so le');
readln;
end.
Bài 4:
program bai4;
uses crt;
var
x,y:real;
begin
clrscr;
write('x= ');
readln(x);
if(2<x)and(x<3)then
y:=5*cos(3*x+2)-ln(sqr(x)+2)
else
if x>=3 then
y:=sqr(x+3)
else
y:=1;
writeln('y= ',y:0:2);

readln;
end.
Bài 5:
program bai5;
uses crt;
var
n,t:longint;
begin
clrscr;
write('So dien n(kw/h)= ');
readln(n);
if n<=100 then
t:=500*n
else
if n<=150 then
t:=700*n
else
t:=1000*n;
writeln('Tien dien: ',t);
readln;
end.
Bài 6:
19
program bai6;
uses crt;
var
a,b,c,max,min,tg:integer;
begin
clrscr;
write('a= ');

readln(a);
write('b= ');
readln(b);
write('c= ');
readln(c);
max:=-32768;
min:=maxint;
if max<a then
max:=a;
if max<b then
max:=b;
if max<c then
max:=c;
if min>a then
min:=a;
if min>b then
min:=b;
if min>c then
min:=c;
tg:=max;
if a=max then
begin
if b=min then
tg:=c
else
tg:=b;
end
else
if b=max then
begin

if a=min then
tg:=c
else
tg:=b;
end
else
begin
if a=min then
tg:=b
else
tg:=c;
end;
writeln('max= ',max,' & min= ',min);
writeln(min,'<',tg,'<',max);
readln;
end.
Bài 7:
20
program bai7;
uses crt;
var
ok:boolean;
dau,a,b,c,n,cs:integer;
begin
clrscr;
write('n= ');
readln(n);
ok:=false;
if n>=10 then
ok:=true;

b:=0;
c:=0;
a:=n mod 10;
n:=n div 10;
if n=0 then
begin
cs:=1;
dau:=a
end
else
begin
b:=n mod 10;
n:=n div 10;
if n=0 then
begin
cs:=2;
dau:=b
end
else
begin
cs:=3;
c:=n mod 10;
dau:=c;
end
end;
writeln('a. So tu nhien co ',cs,' chu so');
writeln('b. Tong cac chu so cua n= ',a+b+c);
writeln('c. Chu so cuoi cung cua n la: ',a);
writeln('d. Chu so dau tien cua n la: ',dau);
if ok then

writeln('e. Chu so hang chuc cua n la: ',b);
readln;
end.
III.CÂU LỆNH LỰA CHỌN CASE-OF:
Bài 1:
program bai1;
uses crt;
var
n:byte;
begin
clrscr;
write('n= ');
21
readln(n);
case n of
0:writeln('khong');
1:writeln('mot');
2:writeln('hai');
3:writeln('ba');
4:writeln('bon');
5:writeln('nam');
6:writeln('sau');
7:writeln('bay');
8:writeln('tam');
9:writeln('chin');
else
writeln('Yeu cau: 0<=n<=9');
end;
readln;
end.

Bài 2:
program bai2;
uses crt;
var
a,b,c:integer;
ch:char;
begin
clrscr;
write('ch= ');
readln(ch);
case ch of
'A':
begin
writeln('Tinh dien tich hinh chu nhat:');
write('Chieu dai= ');
readln(a);
write('Chieu rong= ');
readln(b);
writeln('Dien tich hinh chu nhat = ',a*b);
end;
'B':
begin
writeln('Tinh dien tich hinh tam giac:');
write('Chieu cao= ');
readln(a);
write('Do dai canh day= ');
readln(b);
writeln('Dien tich tam giac= ',1/2*a*b:0:2);
end;
'C':

begin
writeln('Tinh chu vi hinh tron:');
write('Ban kinh= ');
readln(a);
writeln('Chu vi hinh tron= ',2*a*pi:0:2);
end;
else
22
begin
writeln('Tinh dien tich hinh thang:');
write('Do dai day lon= ');
readln(a);
writeln('Do dai day be= ');
readln(b);
writeln('Chieu cao= ');
readln(c);
writeln('Dien tich hinh thang= ',(a+b)*c/2:0:2);
end;
end;
readln;
end.
Bài 3:
program bai3;
uses crt;
var
loai, sl:integer;
tong:real;
begin
clrscr;
write('Nhap vao loai san pham can mua: ');

readln(loai);
write('Nhap vao so luong can mua: ');
readln(sl);
case loai of
1: tong:=sl*200000;
2: tong:=sl*100000;
3: tong:=sl*70000;
4: tong:=sl*20000;
end;
writeln('Tong tien: ',tong:0:0);
readln;
end.
Bài 4:
program bai4;
uses crt;
var
x, y, kq:real;
ch:char;
begin
clrscr;
write('x= ');
readln(x);
write('y= ');
readln(y);
write('ch= ');
readln(ch);
case ch of
'+': writeln('Ket qua= ',x+y:0:1);
'-': writeln('Ket qua= ',x-y:0:1);
'*': writeln('Ket qua= ',x*y:0:1);

'/': if y=0 then writeln('Khong the chia 1 so cho 0!') else writeln('Ket qua= ',x/y:0:1);
23
else
writeln('Khong phai phep tinh!');
end;
readln;
end.
IV. VÒNG LẶP FOR
Bài 1:
program bai1;
uses crt;
var
i,j:byte;
begin
clrscr;
for i:=1 to 9 do
begin
for j:=1 to 9 do
write(i,'x',j,'=',i*j:2,' ');
writeln;
end;
readln;
end.
Bài 2:
program bai2;
uses crt;
var
i,j,k,so:integer;
begin
clrscr;

writeln('So cac so co 3 chu so chia 6 du 2 & tong cac chu so = 20 la:');
for i:=1 to 9 do
for j:=0 to 9 do
for k:=0 to 9 do
begin
so:=i*100+j*10+k;
if (so mod 6)=2 then
if i+j+k=20 then
write(so,' ');
end;
readln;
end.
Bài 3:
program bai3;
uses crt;
var
a,b,c,so,tonglp: integer;
begin
clrscr;
writeln('Cac so co 3 chu so co tong lap phuong bang chinh no la:');
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
begin
24
so:=a*100+b*10+c;
tonglp:=a*a*a+b*b*b+c*c*c;
if so=tonglp then
write(so,' ');
end;

readln;
end.
Bài 4:
program bai4;
uses crt;
var
i,j,k,tong:integer;
begin
clrscr;
writeln('Cac phuong an co the de co duoc 200d la:');
for i:=1 to 20 do
for j:=1 to 10 do
for k:=1 to 40 do
begin
tong:=i*10+j*20+k*5;
if tong=200 then
writeln('10d: ',i:2,' 20d: ',j:2,' 5d: ',k:2);
end;
readln;
end.
Bài 5:
program bai5;
uses crt;
var
i,t,k:integer;
lai,tien,m,n,x:real;
begin
clrscr;
{Phan a}
write('Lai suat t= ');

readln(t);
write('So von ban dau n= ');
readln(n);
write('So thang gui k= ');
readln(k);
tien:=n;
for i:=1 to k do
tien:=tien+tien*t*0.01;
writeln('So tien nhan duoc sau ',k,' thang la: ',tien:0:1);
{Phan b}
write('So von ban dau n= ');
readln(n);
write('So tien can nhan m= ');
readln(m);
tien:=n;
for i:=1 to 100 do
begin
tien:=tien+tien*t*0.01;
25

×