You are on page 1of 5

BÀI TẬP LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG

1. Có 3 loại giấy bạc 100đ, 200đ, 500đ. Viết chương trình in các phương án kết
hợp các loại giấy bạc trên cho ra 10000đ.
2. Có 5 loại giấy bạc 1000đ, 2000đ, 5000đ, 10000đ, 20000đ. Viết chương trình
hiển thịcác phương án kết hợp các loại giấy bạc trên cho ra 1000000đ.
3. Viết chương trình tìm và in ra các số hoàn hảo nhỏ hơn 10000. Số hoàn hảo là
số tự nhiên có tổng các ước số nhỏ hơn nó bằng chính nó, ví dụ: 6 = 1 + 2 + 3.
4. Viết chương trình tìm các số nguyên tố nhỏ nhất lớn hơn số tự nhiên k cho trước.
5. Nhập vào một số nguyên n. Tính tổng các số nguyên tố trong đoạn [n, 2n].
6. Viết chương trình nhập vào một số nguyên dương n, sau đó tính tổng các giá trị
chẵn, lẻ thuộc đoạn [1, n].
7. Viết chương trình nhập vào các số nguyên dương n, m, sau đó in ra:
a. Tổng các số chẵn dương trong khoảng [- n, m].
b. Tổng các số chẵn âm trong khoảng [- n, m].
c. Tổng các số lẻ dương trong khoảng [- n, m].
d. Tổng các số lẻ âm trong khoảng [- n, m].
8. Viết chương trình tìm số nguyên dương n nhỏ nhất thoả mãn: 1 + 2 + 3 + … + n
> 1000.
9. Viết chương trình nhập từ bàn phím một ký tự, sau đó:
a. Kiểm tra ký tự đó là chữ cái in hoa, chữ cái in thường, chữ số, dấu phép
toán hay ký tự khác.
b. Nếu ký tự đó là chữ cái in thường thì đổi thành chữ cái in hoa và ngược
lại. In ra các chữ cái từ a (A) tới ký tự đó.
c. Nếu ký tự đó là chữ số thì cộng thêm 65 và in ra ký tự tương ứng với mã
ASCII đó.
d. Nếu là dấu phép toán thì nhập từ bàn phím hai số nguyên tự nhiên a, b và
thực hiện phép toán a ? b (? là dấu phép toán đã nhập).
e. Sử dụng hàm readkey để bắt mã phím ESC.
10. Viết chương trình phân tích một số tự nhiên n ra thừa số nguyên tố.
11. Viết chương trình in ra màn hình các số đối xứng trong đoạn [m;n] với
0<m<n<10000 nhập vào từ bàn phím. Số đối xứng là số viết xuôi hay ngược vẫn
là số đó, ví dụ: 323, 1221,…
12. Viết các chương trình con tính diện tích tam giác, tròn, vuông, chữ nhật
trong một chương trình. Sau đó hỏi chọn một trong các phương án tính diện
tích bằng cách chọn trong bảng chọn lệnh sau:
a. Không làm gì hết và trở về màn hình soạn thảo.
b. Tính diện tích hình vuông (nhập độ dài 1 cạnh)
c. Tính diện tích hình tròn (nhập bán kính)
d. Tính diện tích tam giác (nhập độ dài 3 cạnh)
e. Tính diện tích hình chữ nhật (nhập độ dài 2 cạnh)
13. Viết chương trình tìm các số có 3 chữ số abc sao cho: abc = a3 + b3 + c3.
x  y (x > y)
14. Cho 2 số thực x, y. Hãy viết chương trình tính: f  
 y  x 1 (x  y)
15. Viết chương trình nhập vào số tự nhiên N rồi thông báo lên màn hình số đó có
phải là số nguyên tố hay không.
16. Viết chương trình giải phương trình bậc nhất ax + b = 0 (a, b nhập từ bàn phím).
17. Viết chương trình giải bất phương trình bậc nhất ax + b > 0 ( a, b nhập từ bàn
phím).
18. Viết chương trình giải phương trình bậc hai: ax2 + bx + c = 0 (a, b, c nhập từ bàn
phím).
 ax  by  c
19. Viết chương trình giải hệ phương trình bậc nhất 2 ẩn:  (a, b,
dx  ey  f
c, d, e, f nhập từ bàn phím).
20. Cho 3 số thực dương x, y, z. Viết chương trình kiểm tra xem 3 số thực đó có
thỏa mãn là độ dài 3 cạnh của 1 tam giác không? Nếu thỏa mãn thì kiểm tra xem
đó là tam giác vuông, cân hay đều.
21. Cho số tự nhiên n. Viết chương trình tìm tất cả các ước tự nhiên của n.
22. Viết chương trình tìm các số tự nhiên có 2 chữ số mà tổng các chữ số của nó
bằng 1 số tự nhiên n cho trước (n được nhập từ bàn phím).

23. Cho số tự nhiên n (n ≤ 65536). Viết chương trình tính 2n và 2  2  ... 2


24. Viết chương trình tìm USCLN và BSCNN của 2 số a, b được nhập vào từ bàn
phím.
25. Viết chương trình tính giai thừa của n (n!), n nguyên nhập từ bàn phím.
26. Cho số tự nhiên n (n < 2147483648). Viết chương trình kiểm tra xem n có thuộc
dãy Fibonaci hay không? Dãy số Fibonaci được định nghĩa:
 1 , n  1 n  2
F(n) = 
 F (n  1)  F (n  2) , n  2
27. Số tự nhiên n có k chữ số được gọi là số Amstrong nếu tổng các lũy thừa bậc k
các chữ số của nó bằng chính nó (ví dụ: 13 + 53 + 33). Viết chương trình tìm các
số Amstrong có ít hơn 4 chữ số.
28. Viết chương trình nhập dãy số thực a1, a2, …, an và số thực x, rồi kiểm tra xem
x có thuộc dãy hay không. Nếu thuộc thì chỉ ra vị trí của nó trong dãy.
29. Viết chương trình tính tổng bình phương của các số âm trong một mảng gồm N
phần tử các số thực.
30. Viết chương trình sinh ngẫu nhiên dãy số nguyên dương n (n ≤ 200), sau đó:
- Xóa các số nhỏ hơn 10 trong dãy.
- Xóa các số trong dãy thuộc đoạn [50, 99].
31. Viết chương trình nhập một dãy n số thực từ bàn phím rồi thực hiện:
a. Tìm phần tử dương lớn nhất, phần tử âm nhỏ nhất và chỉ số của nó.
b. Tính tổng các phần tử dương, tổng các phần tử âm.
c. Chèn giá trị x được nhập từ bàn phím vào vị trí k trong dãy (k nhập từ bàn
phím).
d. Xóa các phần tử âm trong dãy.
e. Sắp xếp dãy theo chiều tăng dần.
f. Chèn giá trị y được nhập từ bàn phím vào dãy sao cho chiều tăng dần của
dãy không đổi (Không được chèn rồi xếp lại).
32. Trong một dãy số, các phần tử bằng nhau liên tiếp được gọi là một mặt bằng của
dãy. Mặt bằng lớn nhất là mặt bằng có số phần tử nhiều nhất trong số các mặt
bằng của dãy. Viết chương trình nhập dãy số nguyên n phần tử, hãy tìm mặt bằng
lớn nhất của nó.
33. Dãy số a1, a2,…, an được gọi là tăng (giảm) nếu ai ≤ ai+1 (ai ≥ ai+1 nếu dãy giảm
dần) với mọi i = 1, 2,…, n-1. Viết chương trình nhạp một dãy các số nguyên,
kiểm tra xem dãy đó tăng hay giảm (đơn điệu). Nếu dãy chưa đơn điệu hãy sắp
xếp theo thứ tự tăng hay giảm tùy theo độ dài dãy đoạn con tăng hay giảm lớn
nhất.
34. Dãy được gọi là đối xứng nếu viết các phần tử của nó theo thứ tự ngược lại thì
vẫn được chính nó. Dãy được gọi là khả đối xứng nếu đổi chỗ các phần tử của
nó thì được dãy đối xứng. Viết chương trình nhập một dãy số nguyên, kiểm tra
xem nó có khả đối xứng không? Nếu có, hãy biến đổi nó để được một dãy đối
xứng.
35. Viết chương trình nhập một mảng hai chiều các số thực A (m hàng, n cột) từ
bàn phím.
a. Tìm giá trị lớn nhất và nhỏ nhất trên mỗi cột
b. Tìm phần tử lớn nhất và phần tử nhỏ nhất của mảng A cùng các chỉ số
hàng và cột của 2 phần tử này.
c. Trong mảng A có bao nhiêu phần tử bằng phần tử lớn nhất.
36. Viết chương trình nhập 2 mảng 2 chiều các số nguyên a, b, hãy:
a. Tính a + b.
b. Tính a * b.
37. Viết chương trình tìm ma trận chuyển vị của ma trận A có m dòng, n cột các số
nguyên.
38. Viết chương trình nhập vào một xâu ký tự từ bàn phím. Đổi xâu ký tự đó sang
chữ in hoa rồi in kết quả ra màn hình.
Ví dụ :Xâu abcdAbcD sẽ cho ra xâu ABCDABCD.
39. Viết chương trình xóa các ký tự chữ số trong một xâu ký tự được nhập vào từ
bàn phím.
40. Viết chương trình nhập 1 xâu ký tự sau đó đếm số từ trong xâu. Từ là 1 xâu ký
tự không chứa ký tự trắng, giữa các từ được ngăn cách bởi ít nhất 1 dấu cách.
41. Viết chương trình nhập vào từ bàn phím Họ và Tên của một người sau đó in
phần Tên ra màn hình. Ví dụ nhập ‘ Tran Hung Dao’ thì in ra ‘Dao’.
42. Xâu ký tự được gọi là chuẩn nếu giữa các từ cách nhau đúng 1 dấu cách. Hãy
viết chương tình nhập 1 xâu rồi chuẩn hóa nó.
43. Viết chương trình nhập vào từ bàn phím một xâu và một ký tự bất kỳ. Hãy thông
báo ra màn hình ký tự đó xuất hiện bao nhiêu lần trong xâu và tại những vị trí
nào?
44. Viết các các bài tập trên bằng cách chia và định nghĩa các hàm phù hợp (nếu
được).
45. Xây dựng cấu trúc PS mô tả một phân số với các hàm thực hiện các phép toán
cộng, trừ, nhân, chia, rút gọn phân số.
46. Xây dựng cấu trúc DT mô tả một đa thức với các hàm thực hiện các phép toán
cộng, trừ 2 đa thức.
47. Xây dựng cấu trúc SV mô tả một sinh viên với các trường: mã sinh viên, họ tên,
điểm trung bình và các hàm thực hiện nhập thông tin cho 1 sinh viên từ bàn
phím, in thông tin một sinh viên ra màn hình, sau đó nhập và in danh sách n
(0<n<200) sinh viên, tìm các sinh viên có điểm trung bình >=8.0.

48. Viết chương trình xây dựng một lớp hình tròn đơn giản có thành phần dữ liệu là
bán kính r và có các phương thức như: nhập dữ liệu cho r, tính toán và hiển thị
chu vi, diện tích của hình tròn đó.
49. Viết một chương trình xây dựng một lớp thí sinh có dữ liệu bao gồm các thông
tin: số báo danh, điểm toán, điểm hoá, điểm lý. Viết chương trình thực hiện các
công việc sau:
a. Nhập và hiển thị một danh sách các thí sinh từ bàn phím
b. Sắp xếp danh sách các thí sinh theo thứ tự tăng dần về điểm số
c. Tìm kiếm sinh viên có tổng điểm cao nhất.
d. Hiển thị thông tin của các sinh viên có tổng điểm trên 18
50. Xây dựng một lớp tamgiac có các thành phần sau:
a. Các thuộc tính là các cạnh a, b, c
b. Các hàm thành phần bao gồm:
- Hàm nhập giá trị cho các cạnh (Kiểm tra tính hợp lệ đảm bảo là 3 cạnh
của một tam giác)
- Hàm tính diện tích tam giác
- Hàm kiểm tra tam giác(đều, vuông cân, cân, vuông, thường)
- Hàm hiển thị thông tin( diện tích, tính chất tam giác)
Viết một chương trình kiểm tra
51. Xây dựng 1 lớp PS mô tả các đối tượng phân số, lớp gồm các thành phần:
a. Các thuộc tính mô tả tử số và mẫu số của phân số.
b. Hàm thiết lập.
c. Hàm nhập phân số.
d. Hàm in phân số dạng tử số/mẫu số.
e. Hàm rút gọn phân số.
f. Toán tử + dùng để tính tổng 2 phân số, kết quả trả về một phân số tối
giản.
52. Xây dựng lớp ma trận có tên là Matrix cho các ma trận: Các hàm thành phần
bao gồm:
a. hàm tạo mặc định
b. hàm nhập
c. xuất ma trận
d. cộng
e. trừ
f. nhân hai ma trận.
53. Xây dựng lớp đa thức và các phương thức cộng, trừ hai đa thức.
54. Xây dựng lớp Sinhvien để quản lý hộ tên sinh viên, năm sinh, điểm thi 9 môn
học của các sinh viên. Cho biết sinh viên nào được làm khóa luận tốt nghiệp,
bao nhiêu sinh viên thi tốt nghiệp, bao nhiêu sinh viên thi lại, tên môn thi lại>
Tiêu chuẩn để xét như sau:
a. Sinh viên làm khóa luận phải có điểm trung bình từ 7 trở lên, trong đó
không có môn nào dưới 5.
b. Sinh viên thi tố nghiệp khi điểm trung bình nhỏ hơn 7 và điểm các môn
không dưới 5.
c. Sinh viên thi lại môn dưới 5.
55. Xây dựng lớp các mảng 1 chiều chứa số nguyên với các phương thức:
a. Nhập mảng từ bàn phím
b. Sinh ngẫu nhiên 1 mảng
c. In mảng ra màn hình
d. Kiểm tra một số nguyên x nhập từ bàn phím có trong mảng hay không
e. Sắp xếp mảng theo thứ tự tăng, giảm
f. Tính tổng các số âm (số dương, số chẵn, số lẻ, số nguyên tố, số hoàn
hảo) trong mảng.

You might also like