Tuyển Tập Bài Tập Lập Trình Cơ Bản

1. Nhập Xuất Cơ Bản & Tính Toán

STTTên Bài Tập
Bài 1.1Viết chương trình xuất ra màn hình nhiệt độ ($^\circ K$) tương ứng khi nhập vào nhiệt độ ($^\circ C$).
Bài 1.2Viết chương trình in ra màn hình phần nguyên và phần dư của $m$ chia cho $n$ (với $m, n$ nguyên dương).
Bài 1.3Viết chương trình tính diện tích hình tròn (với bán kính nhập vào).
Bài 1.4Viết chương trình tính vận tốc của vật khi rơi tự do từ độ cao $h$.
Bài 1.5Viết chương trình tính diện tích hình thang (với đáy lớn, đáy bé, chiều cao nhập vào).
Bài 1.6Viết chương trình tính và xuất ra màn hình chu vi và diện tích của tam giác (với độ dài 3 cạnh nhập vào).
Bài 1.7Tính chu vi và diện tích hình chữ nhật khi biết chiều dài và chiều rộng.
Bài 1.8Chuyển đổi số giây thành định dạng giờ, phút, giây.
Bài 1.9Viết chương trình nhập vào một số tiền, xuất ra số lượng các mệnh giá tiền cần thiết.
Bài 1.10Tính giá trị trung bình cộng của ba số thực nhập vào.
Bài 1.11Tính tổng của một dãy số có công sai $d$ (cấp số cộng).
Bài 1.12Chuyển đổi một số nguyên hệ thập phân sang hệ nhị phân (Output chuỗi).
Bài 1.13Tính khoảng cách giữa hai điểm $A(x_1, y_1)$ và $B(x_2, y_2)$ trong mặt phẳng tọa độ.
Bài 1.14Tính tiền điện phải trả dựa trên số kWh tiêu thụ theo công thức bậc thang.
Bài 1.15Tính diện tích tam giác trong mặt phẳng tọa độ khi biết tọa độ 3 đỉnh.

Tham khảo thêm: https://tiilaz.com/lap-trinh-python/lap-trinh-python-co-ban/bai-tap-thuc-hanh-lap-trinh-python-nhap-xuat-va-tinh-toan/

2. Cấu Trúc Rẽ Nhánh

STTTên Bài Tập
Bài 2.1Kiểm tra và xuất ra màn hình số nguyên dương $n$ là số chẵn hay số lẻ.
Bài 2.2Viết chương trình tính giá trị của biểu thức $f(x,y)$.
Bài 2.3Viết chương trình cho biết năm bất kỳ có phải năm nhuận hay không.
Bài 2.4Viết chương trình xuất ra màn hình xếp loại học lực của học sinh theo giá trị điểm.
Bài 2.5Viết chương trình giải phương trình bậc nhất $ax + b = 0$.
Bài 2.6Viết chương trình giải phương trình bậc hai $ax^2 + bx + c = 0$ ($a \ne 0$).
Bài 2.7Viết chương trình kiểm tra xem điểm $M(x,y)$ có nằm trong hình tròn tâm $I(a,b)$ và bán kính $R$.
Bài 2.8Viết chương trình giải phương trình bậc hai $ax^2 + bx + c = 0$ (bao gồm cả trường hợp $a=0$).
Bài 2.9Kiểm tra bộ ba số $a, b, c$ vừa nhập vào là bộ ba cạnh của loại tam giác nào (thường, vuông, cân, vuông cân, đều, hay không phải tam giác).
Bài 2.10Xác định một ký tự nhập vào là chữ cái hoa, chữ cái thường, chữ số hay ký tự đặc biệt.
Bài 2.11Kiểm tra một năm có phải là năm nhuận hay không và in ra số ngày của tháng 2.
Bài 2.12Xác định ba số $a, b, c$ có thể là độ dài ba cạnh của một tam giác hay không.
Bài 2.13Viết chương trình tìm số lớn nhất (Max) trong ba số $a, b, c$.
Bài 2.14Phân loại tam giác là nhọn, vuông hay tù khi biết độ dài 3 cạnh.
Bài 2.15Kiểm tra xem một năm có 365 hay 366 ngày.
Bài 2.16Xác định tọa độ điểm M(x,y) nằm trong góc phần tư thứ mấy của hệ trục tọa độ.
Bài 2.17Kiểm tra 3 số nguyên $a, b, c$ có tạo thành bộ ba Pytago hay không.
Bài 2.18Xác định ngày tiếp theo và ngày trước đó của một ngày nhập vào (ngày, tháng, năm).

3. Cấu Trúc Lặp

STTTên Bài Tập
Bài 3.1Viết chương trình tính tổng các số từ $1$ đến $n$.
Bài 3.2Viết chương trình tính tổng của bình phương các số lẻ từ $1$ đến $n$.
Bài 3.3Viết chương trình in bảng cửu chương ra màn hình.
Bài 3.4Xuất ra màn hình ước chung lớn nhất và bội chung nhỏ nhất của 2 số $m$ và $n$.
Bài 3.5Viết chương trình kiểm tra số nguyên dương $n$ có phải là số hoàn hảo hay không.
Bài 3.6Viết chương trình đếm các số nguyên tố nhỏ hơn $n$.
Bài 3.7Viết chương trình tính tổng chuỗi $S = \frac{1}{a} + \frac{1}{a+1} + \dots$ cho đến khi $\frac{1}{a+n} < 0,0001$.
Bài 3.8Viết chương trình giải bài toán cổ: Trăm trâu trăm bó cỏ.
Bài 3.9Phân tích số nguyên dương thành tích các thừa số nguyên tố.
Bài 3.10Kiểm tra một số nguyên dương có phải là số Palindrome (số đối xứng) hay không.
Bài 3.11Tính tổng các chữ số của một số nguyên dương $n$.
Bài 3.12Tìm tất cả các ước số của một số nguyên dương $n$.
Bài 3.13Tính giá trị của $x^n$ (lũy thừa) mà không dùng hàm có sẵn.
Bài 3.14Vẽ các hình học cơ bản bằng ký tự (*) sử dụng vòng lặp (ví dụ: hình vuông, tam giác).
Bài 3.15Tìm số đảo ngược của một số nguyên dương $n$.
Bài 3.16Đếm số lượng chữ số của một số nguyên dương $n$.
Bài 3.17Kiểm tra một số có phải là số Armstrong (tổng lập phương các chữ số bằng chính nó) hay không.
Bài 3.18In ra tam giác Floyd (Floyd’s Triangle) với $n$ dòng.
Bài 3.19Viết chương trình in ra $n$ số Fibonaxi đầu tiên mà không dùng mảng.

4. Chương Trình Con (Hàm)

STTTên Bài Tập
Bài 4.1Viết chương trình có sử dụng hàm lambda để trả về số giây tương ứng (giờ, phút, giây).
Bài 4.2Viết chương trình tính tổng $S = 1! + 2! + \dots + n!$.
Bài 4.3Viết chương trình để in ra màn hình các số nguyên tố từ $1$ đến $n$.
Bài 4.4Viết chương trình in ra số nguyên tố lớn nhất nhỏ hơn $n$.
Bài 4.5Viết chương trình giải bài toán Tháp Hà Nội.
Bài 4.6Viết chương trình sắp xếp tên học sinh theo bảng chữ cái.
Bài 4.7Xây dựng hàm kiểm tra một số có phải là số chính phương hay không.
Bài 4.8Viết hàm tìm giá trị nhỏ nhất (Min) trong một mảng số nguyên.
Bài 4.9Sử dụng hàm đệ quy để tính số Fibonaxi thứ $n$.
Bài 4.10Xây dựng hàm để kiểm tra tính hợp lệ của địa chỉ Email.
Bài 4.11Xây dựng hàm kiểm tra số hoàn hảo.
Bài 4.12Viết hàm tìm chữ số lớn nhất trong một số nguyên $n$.
Bài 4.13Xây dựng hàm chuyển đổi nhiệt độ từ $^\circ C$ sang $^\circ F$ và ngược lại.
Bài 4.14Viết hàm đệ quy để tính tổng các số từ $1$ đến $n$.
Bài 4.15Xây dựng hàm để kiểm tra mật khẩu có độ mạnh an toàn (ví dụ: tối thiểu 8 ký tự, có chữ hoa, chữ thường và chữ số).

5. Kiểu Dữ Liệu Xâu (Chuỗi)

STTTên Bài Tập
Bài 5.1Viết chương trình “chuẩn hóa” họ và tên.
Bài 5.2Viết chương trình xóa đi các ký tự số trong xâu.
Bài 5.3Viết chương trình xóa các ký tự giống nhau liền kề trong xâu.
Bài 5.4Chèn xâu $s_1$ vào giữa xâu $s_2$.
Bài 5.5Đếm xem trong danh sách có bao nhiêu bạn tên là “Hương”.
Bài 5.6In thông báo tên và họ đệm của người dùng.
Bài 5.7Thông báo số bạn có cùng một tên trong danh sách học sinh.
Bài 5.8Đếm số lần xuất hiện của một ký tự trong một xâu.
Bài 5.9Đảo ngược thứ tự các từ trong một câu.
Bài 5.10Kiểm tra một xâu có phải là xâu Palindrome hay không.
Bài 5.11Mã hóa/Giải mã xâu theo phương pháp Caesar Cipher cơ bản.
Bài 5.12Đếm số từ trong một câu nhập vào.
Bài 5.13Loại bỏ khoảng trắng thừa (nhiều hơn một) trong xâu.
Bài 5.14Kiểm tra một xâu có phải là tên biến hợp lệ trong lập trình hay không.
Bài 5.15Viết chương trình chuẩn hóa số điện thoại (ví dụ: thêm mã vùng +84 nếu thiếu).
Bài 5.16Thay thế tất cả ký tự chữ thường trong xâu bằng ký tự chữ hoa và ngược lại.

6. Kiểu Dữ Liệu Tệp (File I/O)

STTTên Bài Tập
Bài 6.1Viết chương trình tính tổng các số lẻ trong tệp DATA.INP và xuất ra tệp DATA.OUT.
Bài 6.2Viết chương trình lọc các số ở văn bản trong tệp DATA.INP và xuất ra tệp DATA.OUT.
Bài 6.3Đếm số dòng, số từ và số ký tự trong một tệp văn bản.
Bài 6.4Đọc tệp chứa thông tin sinh viên và ghi lại danh sách sinh viên đạt điểm Giỏi ra tệp mới.
Bài 6.5Đọc và sắp xếp các số nguyên trong tệp INPUT.TXT rồi ghi ra OUTPUT.TXT.
Bài 6.6Đọc tệp và tìm từ xuất hiện nhiều nhất trong tệp văn bản.
Bài 6.7Đọc tệp chứa các phân số và ghi phân số rút gọn ra tệp mới.
Bài 6.8Xóa dòng thứ $k$ trong một tệp văn bản.
Bài 6.9Nối nội dung hai tệp văn bản $A$ và $B$ vào một tệp $C$.
Bài 6.10Đọc tệp chứa danh sách điểm và tính điểm trung bình của tất cả sinh viên.

7. Kiểu Dữ Liệu Mảng (List)

STTTên Bài Tập
Bài 7.1Xuất ra màn hình tổng của các số lẻ trong mảng $n$ số nguyên dương.
Bài 7.2Tìm số lớn nhất trong dãy số bất kỳ.
Bài 7.3Viết chương trình dùng phương pháp list comprehension để tạo các list (bội của 3, số chính phương).
Bài 7.4Kiểm tra dãy số nguyên bất kỳ có tạo thành cấp số cộng hay không.
Bài 7.5Xuất ra màn hình dãy số Fibonaxi gồm $n$ số.
Bài 7.6Đếm số nguyên tố trong dãy số vừa nhập.
Bài 7.7Viết chương trình tính tổng của 2 ma trận số nguyên kích thước $m \times n$.
Bài 7.8Xuất ra màn hình thông tin của từng người đã nhập (họ tên, tuổi, giới tính, quê quán).
Bài 7.9Sắp xếp mảng số nguyên theo thứ tự tăng dần (bubble sort/selection sort cơ bản).
Bài 7.10Tìm kiếm một giá trị $k$ trong mảng (linear search).
Bài 7.11Tính tổng các phần tử trên đường chéo chính và đường chéo phụ của ma trận vuông.
Bài 7.12Nhân hai ma trận $A$ và $B$.
Bài 7.13Tìm phần tử lớn thứ hai trong mảng.
Bài 7.14Chèn một phần tử vào vị trí bất kỳ trong mảng.
Bài 7.15Xoá tất cả các phần tử có giá trị $k$ khỏi mảng.
Bài 7.16Đảo ngược thứ tự các phần tử trong mảng.
Bài 7.17Kiểm tra ma trận đối xứng (Symmetric Matrix).
Bài 7.18Tìm tổng hàng lớn nhất và tổng cột lớn nhất trong ma trận.

8. Kiểu Dữ Liệu Từ Điển (Dictionary)

STTTên Bài Tập
Bài 8.1Xuất ra màn hình số lần lặp của các từ đơn trong xâu vừa nhập.
Bài 8.2Tạo từ điển lưu trữ thông tin sinh viên.
Bài 8.3Sắp xếp các mục (items) của từ điển dựa trên giá trị (value) của chúng.
Bài 8.4Viết chương trình dịch một câu tiếng Anh đơn giản dựa vào từ điển đã khai báo.
Bài 8.5Đếm tần suất xuất hiện của các ký tự trong một xâu (Output là từ điển).
Bài 8.6Hợp nhất (Merge) hai từ điển thành một từ điển mới.
Bài 8.7Lấy ra tất cả khóa (keys) của một từ điển và sắp xếp chúng theo bảng chữ cái.
Bài 8.8Xây dựng chương trình “Mini-Database” lưu trữ thông tin sản phẩm (ID, Tên, Giá) trong một từ điển lớn.
Bài 8.9Xóa các khóa trùng lặp giữa hai từ điển (nếu có) khỏi từ điển thứ nhất.

9. Kiểu Dữ Liệu Tập Hợp (Set)

STTTên Bài Tập
Bài 9.1Xuất ra màn hình các số có đồng thời trong cả 2 xâu có ký tự số.
Bài 9.2Tìm và in ra các phần tử chỉ xuất hiện một lần (unique elements) trong một danh sách.
Bài 9.3Tìm hợp và giao của hai tập hợp số nguyên.
Bài 9.4Loại bỏ các phần tử trùng lặp khỏi một danh sách ban đầu.
Bài 9.5Tìm ra các phần tử khác nhau hoàn toàn (Symmetric Difference) giữa hai tập hợp.
Bài 9.6Kiểm tra xem một tập hợp có phải là tập con (Subset) của tập hợp khác hay không.
Bài 9.7Đếm số lượng các nguyên âm và phụ âm duy nhất trong một xâu.
Bài 9.8Tạo tập hợp các số chẵn từ 1 đến 100.
Bài 9.9Tìm các phần tử chung (Intersection) của ba tập hợp.

10. Hướng Đối Tượng (OOP)

STTTên Bài Tập
Bài 10.1Xây dựng lớp Tam Giác kế thừa từ lớp Đa Giác.
Bài 10.2Xây dựng lớp HocSinh với phương thức tính Điểm trung bình.
Bài 10.3Xây dựng lớp PhanSo với các phương thức toán học và rút gọn phân số.
Bài 10.4Xây dựng lớp HinhTron và lớp HinhTru để minh họa mối quan hệ Thành phần (Composition).
Bài 10.5Xây dựng lớp XeHoi (Car) với thuộc tính toc_do và phương thức tang_toc(), giam_toc().
Bài 10.6Xây dựng lớp SoPhuc (Complex Number) và định nghĩa phương thức cộng hai số phức.
Bài 10.7Xây dựng lớp NhanVien và tính lương cuối cùng sau khi trừ thuế (minh họa tính Encapsulation).
Bài 10.8Xây dựng lớp Animal và các lớp con Dog, Cat kế thừa (minh họa tính Kế thừa).
Bài 10.9Định nghĩa phương thức đặc biệt (__str__) cho lớp Diem2D để in tọa độ đẹp mắt.

Comments are closed.