Giới thiệu
Cô liệt kê danh sách bài tập ở đây, theo thứ tự các em đã, đang và sẽ được thực hành trên lớp. Các em có thể làm và nộp bài bất cứ lúc nào tại địa chỉ cô để ở mỗi phần (trang này cô sẽ tiếp tục cập nhật). Các bài tập tối thiểu là bắt buộc với mọi học sinh, nếu bạn nào thực hiện các bài tập làm thêm tốt sẽ được xem xét cộng điểm ưu tiên.
Tài khoản đăng nhập: các em phải tạo tài khoản tại trang Codeforces. Có thể đăng nhập ngay bằng tài khoản Facebook hoặc Gmail sẽ nhanh hơn. Để thuận tiện cho việc kiểm soát việc học của các em, các em điền thông tin đăng nhập vào form này (bắt buộc).
Thuật toán và lập trình là kĩ năng cơ bản của thời đại công nghệ, nếu có nền tảng tốt các em sẽ có cơ hội phát triển cao hơn ở các bậc học sau này. Cô hy vọng các em tìm được niềm vui trong quá trình học thuật toán và lập trình, đừng quá lo lắng về điểm số. Trong quá trình học lập trình cơ bản, các em có thể ít nhiều gặp khó khăn, nhưng hãy bình tâm, dành thời gian suy nghĩ thêm, làm lại các bài tập (tốt nhất là theo thứ tự mà cô đề xuất).
Những bài tập các em làm rồi, các em không nhất thiết phải làm lại. Nếu bạn nào còn cảm thấy chưa nhớ, chưa sử dụng thành thục được cú pháp ngôn ngữ thì nên làm lại các bài lần lượt từ đầu. Xem hướng dẫn nộp bài tại đây.
Các em có thể hỏi về các nội dung liên quan qua facebook của cô. Các em có thể trao đổi với nhau, hướng dẫn nhau học, tuy nhiên với mục đích để hiểu và sau đó tự mình làm được.
Danh sách bài tập thực hành
1. Kiểu dữ liệu, biến, hằng, phép gán, phép toán
Lí thuyết: kiểu dữ liệu, biến, hằng, phép gán
Lí thuyết: phép toán trong C++
- TONGAB
- TINHTOAN
- HCN
- DUONGTRON
- DODAI
- NHIETDO
- NHIETDO1
2. Cấu trúc rẽ nhánh
Link bài tập làm thêm - Sheet1
- MAX2
- CHANLE
- AMDUONG
- HOURS
- MAX3
- PTBACHAI
- XEPLOAI
- DAY
- DIGIT
3. Cấu trúc lặp
3.1. Lặp P1
Link bài tập làm thêm - Sheet1
- 1TON
- ATOB
- DOWNTO
- BANGNHAN
- EVEN
- EVENCNT
- SUM
- SUMN
- GIAITHUA
- UOCSO
- NUMBERTYPE
- SUMODDS
- SOHOANHAO
- NGUYENTO
- MAXX
3.2. Lặp P2
- DAONGUOC
- AMSTRONG
- SODAONGUOC
- PALINDROME
- DOCSO
- VIETBANGCHU (Bài tập thêm)
3.3. Lặp P3
- LKNGUYENTO
- LKSOHOANHAO
- LKAMSTRONG
- SQUARESTARS
- HOLLOWSTARS
- RTRIANGLE
- LTRIANGLE
- RETRIANGLE
- LETRIANGLE
4. Kiểu mảng
4.1. Mảng một chiều
- REVERSE
- SUMATION
- SUMODDS
- REPLACEMENT
- FINDMAX
- POSITION
- FIRSTLAST
- SWAPMINMAX
- MAXPAIR
- INSERTX
- DECTOBIN
- SEARCHING
- DELETEX (Bài tập làm thêm)
- SELECTIONSORT (Bài tập làm thêm)
4.2. Mảng hai chiều
- 2DARRAY
- MATRIXSUM
- MAINDIAGONAL
- MINORDIAGONAL
- SWAPDIAGONAL
- UPPERMATRIX
- LOWERMATRIX
- TRANSPOSE
- AMATRIX (bài tập thêm)
- MATRIXADD (bài tập thêm)
- MATRIXMUL (bài tập thêm)
- MATRIX (bài tập thêm)
- BINARYMATRIX (bài tập thêm)
- CARO (bài tập thêm)
5. Hàm (Functions)
5.1. Sử dụng hàm có sẵn trong thư viện
- UPPERLOWER
- TOLOWER
- COUNTABCDEF
- COUNTAZ (bài tập làm thêm)
5.2. Hàm do người dùng tự định nghĩa
- Video bài giảng: cách viết và sử dụng hàm
- Video bài giảng: cách truyền tham số cho hàm
- Video bài giảng: cách truyền tham số là mảng cho hàm
- Video bài giảng: Biến cục bộ và biến toàn cục
- CONG
- MAXI
- TRAODOI
- CUBE
- ISEVEN
- CIRCLE
- ISPRIME
- ISPERFECT
- FACT
- FUNC
- SEARCHFORX (bài tập làm thêm)
- RUTGONPS (bài tập làm thêm)
- Trò chơi Tic-Tac-Toe (bài tập làm thêm) Đề và nộp bài này ở đây - bạn phải có tài khoản ở Codeforces
5.3. Hàm đệ quy
Danh sách bài tập luyện tập hàm đệ quy
- FACT
- INHELLO
- FIBO1
- EXPO
- FASTEXP
- GCD
- PRINTARR
- CKN
- MAXIMUM (Làm thêm)
- BINARYSEARCH (Làm thêm)
- HANOITOWER (Làm thêm)
6. Các thuật toán cơ bản
- ERATOS
- SELECTIONSORT
- SELECTIONSORT1
- BUBBLESORT
- INSERTIONSORT
- COMPARE
- ONES
- HEXA
- KPRIME
- COCKTAILSORT
7. Luyện tập tổng hợp
Danh sách bài tập luyện tập CFA1
8. Kiểu xâu kí tự - string
9. Kiểu cấu trúc - struct
10. Tìm kiếm và sắp xếp
Cho mô tả thuật toán, yêu cầu cài đặt thành chương trình hoàn chỉnh. Thực hành đánh giá thuật toán các thuật toán đơn giản.
- Sắp xếp nổi bọt
- Sắp xếp chọn
- Sắp xếp chèn
- Sắp xếp trộn
- Sắp xếp nhanh
- Cocktail Sort
- Sắp xếp trộn hai đường
11. Thư viện STL C++
- Pair
- Vector
- List
- Dequeue
- Queue
- Priority Queue
- Stack
- Set - Multiset
- Map - Multimap
- Sort STL
- Search STL