Skip to content

Instantly share code, notes, and snippets.

@LongClipeus
Last active May 8, 2023 15:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LongClipeus/93cb4df7dfd40b56d00399a5bf6f6cdf to your computer and use it in GitHub Desktop.
Save LongClipeus/93cb4df7dfd40b56d00399a5bf6f6cdf to your computer and use it in GitHub Desktop.
Bài tập lập trình cơ bản

Bài 1: viết chương trình "Hello world"

Bài 2: Viết chương trình hiển thị N dòng "Hello world", với N là số nguyên dương nhập vào từ bàn phím

Bài 3: Viết chương trình nhập vào 1 số X bất kỳ và hiển thị số vừa nhập, cho biết số đó là số thập phân, số nguyên âm hay nguyên dương

Bài 4: Viết chương trình tính tổng 3 số thực nhập vào từ bàn phím

Bài 5: Viết chương trình nhập vào 3 số thực và kiểm tra 3 số này có phải là cạnh của một tam giác hay không

Bài 6: Mở rộng bài 5, hãy tính chu vi và diện tích của tam giác đó

Bài 7: Viết chương trình nhập vào 3 số thực và kiểm tra 3 số đó có tạo thành tam giác vuông hay không. Nếu là 3 cạnh của tam giác hãy tính chu vi và diện tích

Bài 8: Viết chương trình nhập vào 1 số tự nhiên và kiểm tra số đó có phải số nguyên tố hay không

Bài 9: Viết chương trình nhập vào 1 số tự nhiên N và hiển thị ra tất cả các số nguyên tố có giá trị nhỏ hơn N

Bài 10*: Viết chương trình nhập vào số tự nhiên N < 100 (nếu > 100 hãy yêu cầu người dùng nhập lại cho đến khi nào < 100) và hiể thị dưới dạng chữ Vd: 1 -> Một, 20 -> Hai mươi

Bài 11: Hiển thị dãy số Fibonacci nhỏ hơn 1000

Bài 12: Nhập vào số tự nhiên N và hiển thị dãy số Fibonacci nhỏ hơn N

Bài 13: Nhập vào số tự nhiên N và kiểm tra số đó có nằm trong dãy số Fibonacci hay không

Bài 14: Nhập vào một năm bất kỳ từ bàn phím và cho biết năm đó có phải năm nhuận hay không

Bài 15: Tính số ngày giữa hai mốc thời gian bất kỳ được nhập từ bàn phím. VD: Ngày bắt đầu: 20/02/2022 Ngày kết thúc: 01/02/2022 => tổng số ngày = 10

Bài 16: Tính chu vi, diện tích của hình tròn bán kính R, với R được nhập từ bàn phím

Bài 17: Cho số nguyên dương N được nhập từ bàn phím, tính tổng các ước số nhỏ hơn N

Bài 18: Nhập vào số nguyên dương N, cho biết số lượng chữ số trong số đó.

Bài 19: Vẽ cây thông với H, N là số nguyên dương nhập vào từ bàn phím

    *     -------
   ***      |   |
  *****     H   |
 *******    |   |
********* ---   |
    *           |
   ***          |
  *****         N
 *******        |
*********       |
    *           |
   ***          |
  *****         |
 *******        |
********* -------

Bài 20: Tính S(n) = 1 + 2 + 3 + … + n

Bài 21: Tính S(n) = 1^2 + 2^2 + … + n^2

Bài 22: Tính S(n) = 1 + ½ + 1/3 + … + 1/n

Bài 23: Tính T(n) = 1 x 2 x 3…x N

Bài 24: Tính T(x, n) = x^n

Bài 25: Tìm ước số lẻ lớn nhất của số nguyên dương N. Ví dụ N = 100 ước lẻ lớn nhất là 25.

Bài 26: Cho số nguyên dương N. Kiểm tra xem N có phải là số hoàn thiện hay không?

Bài 27: Cho số nguyên dương N. Kiểm tra xem N có phải là số chính phương hay không?

Bài 28: Cho 2 số nguyên dương A và B. Hãy tìm ước chung lớn nhất và bội chung nhỏ nhất của 2 số này.

Bài 29: Viết chương trình cho tất cả các bài tập trước bằng kỹ thuật lập trình hàm (function)

Bài 30: Hãy sử dụng vòng lặp for để xuất tất cả các ký tự từ A đến Z, a đến z

Bài 31: Một máy ATM có 4 loại tiền là:

  • 50.000 VND: 50 tờ
  • 100.000 VND: 20 tờ
  • 200.000 VND: 10 tờ
  • 500.000 VND: 5 tờ Máy ATM cho rút số tiền là bội của 50.000, X là số tiền có thể rút và 50.000 <= X <= 5.000.000 Cho phép người người dùng nhập X từ bàn phím:
  • nếu X không hợp lệ hoặc X lớn hơn số tiền ATM đang có thì hiển thị thông báo "Số tiền cần rút không hợp lệ, bạn có muốn nhập lại?". Nếu người dùng nhấn Y thì cho phép người dùng nhập lại X, nếu nhấn N thì thoát chương trình
  • số tiền ATM trả cho người dùng phải có đầy đủ mọi mệnh giá hiện có, ưu tiên trả tiền có mệnh giá từ lớn đến bé
  • nếu số tiền trong ATM không đủ mệnh giá để trả cho người dùng thì thông báo "ATM không đủ mệnh giá cho số tiền bạn rút, bạn có muốn thay đổi số tiền khác?". Nếu người dùng nhấn Y thì cho phép người dùng nhập lại X và thực hiện kiểm tra lại, nếu nhấn N thì thoát chương trình
  • nếu số tiền đủ và hợp lệ thì in ra màn hình số lượng mệnh giá của từng loại. VD: X = 450.000 200.000 VND: 1 tờ 100.000 VND: 2 tờ 50.000 VND: 1 tờ
  • Sau khi hiên thị số tiền tiếp tục hỏi người dùng "Bạn có muốn thực hiện tiếp giao dịch không?". Nếu người dùng nhấn Y thì cho phép người dùng nhập lại X và thực hiện rút tiền, nếu nhấn N thì thoát chương trình

Bài 32: Nhập một N số nguyên từ bàn phím và sắp xếp lại theo thứ tự tăng dần, giảm dần

Bài 33: Viết hàm tìm giá trị dương đầu tiên trong mảng 1 chiều các số thực. Nếu mảng không có giá trị dương thì trả về -1

Bài 34: Tìm số chẵn cuối cùng trong mảng 1 chiều các số nguyên. Nếu mảng không có giá trị chẵn thì trả về -1

Bài 35: Tìm vị trí của giá trị chẵn đầu tiên trong mảng 1 chiều các số nguyên. Nếu mảng không có giá trị chẵn thì sẽ trả về -1

Bài 36: Tìm vị trí số hoàn thiện cuối cùng trong mảng 1 chiều các số nguyên. Nếu mảng không có số hoàn thiện thì trả về giá trị -1

Bài 37: Đếm số lần xuất hiện của giá trị x trong mảng

Bài 38: Liệt kê tần suất của các giá trị xuất hiện trong mảng nhập vào từ bàn phím. Lưu ý: mỗi giá trị liệt kêt tần suất 1 lần

Bài 39: Cho 2 mảng A, B. Đếm số lượng giá trị chỉ xuất hiện 1 lần trong 2 mảng

Bài 40: Nhập vào 2 mảng số nguyên A và B. Sắp xếp A và B theo thứ tự tăng dần. Trộn mảng A và B thành mảng C theo thứ tự giảm dần.

Bài 41: Thêm 1 phần tử x vào mảng tại vị trí k

Bài 42: Thêm x vào trong mảng tăng nhưng vẫn giữ nguyên tính tăng của mảng

Bài 43: Xóa các phần tử có chỉ số k trong mảng

Bài 44: Xóa tất cả các phần tử có giá trị trùng nhau trong mảng và chỉ giữ lại duy nhất 1 phần tử đối với giá trị đó.

Bài 45: Đảo ngược mảng ban đầu

Bài 46: Cho mảng A nhập vào từ bàn phím. Liệt kê dãy con tăng dần trong mảng

Bài 47: Cho 2 mảng A và B nhập vào từ bàn phím. Cho biết mảng A có phải là mảng con của mảng B không?

Bài 48: Cho 2 mảng A và B nhập vào từ bàn phím. Đếm số lần xuất hiện của mảng A trong mảng B.

1. Hiển thị

  • Đọc
    • Hiển thị tất cả
    • Hiển thị phân trang
  • Search (tìm kiếm)
    • Tìm kiếm theo số báo danh
    • Tìm kiếm theo mã số sinh viên
    • Tìm kiếm theo tên
    • Tìm kiếm theo lớp
    • Tìm kiếm theo ngày sinh
  • Lọc sinh viên theo các option
    • Phòng
    • Tên
    • Lớp
    • Tháng sinh
  • Sắp xếp (tăng dần và giảm dần)
    • Sắp xếp theo phòng
    • Sắp xếp theo số báo danh
    • Sắp xếp theo mã số sinh viên
    • Sắp xếp theo tên
    • Sắp xếp theo lớp
    • Sắp xếp theo ngày sinh
  • Thống kê
    • Thống kê số lượng sinh viên và hiển thị sinh viên theo phòng
    • Thống kê số lượng sinh viên và hiển thị sinh viên theo lớp
    • Thống kê số lượng sinh viên và hiển thị sinh viên theo tháng sinh
    • Có bao nhiêu sinh viên có ngày sinh trùng nhau và hiển thị sinh viên có ngày sinh trùng nhau
    • Thống kê và hiển thị thông tin các sinh viên trùng tên
    • Thống kê và hiển thị thông tin các sinh viên trùng họ
    • Thống kê và hiển thị thông tin sinh viên theo lớp trùng họ

2. Thêm

  • Thêm một sinh viên mới vào danh sách và sắp xếp theo tên
  • Thêm vào vị trí bất kỳ

3. Sửa

  • Sửa thông tin sinh viên theo số báo danh
  • Sửa thông tin sinh viên theo mã số sinh viên

4. Xoá

  • Xoá sinh viên theo số báo danh
  • Xoá sinh viên theo mã số sinh viên
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment