[School] Tính first và follow trong chương trình dịch

Tính Frist có 5TH +TH1: A -> aBc|x => Frist(A) = a, x +TH2: A -> aBc|B, B -> c|€ => Frist(A) = a + Frist(B) = a, c, € +TH3: A -> BC,  B -> b, C -> c => Frist(A) = Frist(B) = b. Đến đây ko chứa € nên ko cộng thêm Frist(C) +TH4: A -> BC,  B -> b|€, C -> c => Frist(A) = Frist(B) = b, €. Đến đây […]

[Thuật toán] Sắp xếp trộn – Merge Sort

Thuật toán sắp xếp trộn (Merge Sort) là một trong các thuật toán sắp xếp hay được sử dụng. Gần giống với thuật toán sắp xếp nhanh (Quick Sort) về việc sắp xếp bằng việc tách mảng ban đầu thành 2 nửa, nhưng với Quick Sort thì dùng phần tử giữa làm mốc so sánh còn Merge Sort thì chia hẳn ra, sắp xếp từng mảng rồi mới “trộn” 2 mảng đã sắp xếp lại.

Tài liệu học Android

Bài viết này do Bạn Nguyễn Văn Chung viết rất chi tiết về tài liệu, trang web cần thiết nên xem. 😉 Có thể nói Android phát triển đã khá lâu, do vậy tài liệu cho nó cũng vô cùng nhiều và phong phú, nhưng để học tập tốt các bạn nên đọc tiếng anh, đó cũng là một kỹ năng vô cùng quan trọng. Là một coder nếu bạn không biết tiếng anh thì […]

Lập trình

Lập trình

Lập trình là một quá trình sáng tạo để hướng dẫn máy tính làm một công việc nào đó. Nó giống y hệt như quá trình dạy học của giáo viên cho sinh viên, vì vậy khi bạn lập trình thì bạn chính là giáo viên, tôi thích từ giáo viên hơn là từ lập trình viên :).

[Java – Ubuntu] Cài đặt Jdk và Eclipse offline trên Ubuntu

Các cách cài bằng lệnh online hoặc qua ubuntu software center thì các bạn có thể làm dễ dàng. Sau đây mình nêu cách cài offline phòng khi không có mạng. 1. Cài JDK Bạn vào đây tải bản Jdk phù hợp về và giải nén nó ra. (của mình là jdk1.7.0_21) Chạy lệnh sau để tạo thư mục jvm cd tới thư mục chứa file vừa giải nén được và chạy: 2. Cài Java […]

[Android – Java] Chương trình máy tính bỏ túi trên Android – Calculator Program on Android

Update: Tham khảo chuơng trình nâng cấp trên desktop bằng java Máy tính có thể thực hiện được các phép tính đơn giản +,-,*,/, giai thừa, mũ, căn bậc 2, nghịch đảo và 3 phép toán lượng giác : Sin, Cos, Tan. Project xây dựng dựa vào tính giá trị biểu thức dựa vào biểu thức hậu tố. Download project Do có sai số của các kiểu dữ liệu nên những phép tinh vô tỷ […]

[Linux – Ubuntu – C/C++] Lập trình C với đồ họa trên Linux (Ubuntu) – Programming C with Graphics on Linux (Ubuntu)

Mở màn các bạn có thể xem hình minh họa sau: Để thực hiện được điều này trước tiên các bạn kiểm tra lại các gói cơ bản đã cài chưa: sudo apt-get install build-essential Tiếp theo hãy chạy lệnh sau trong Terminal để cài các gói cần thiết (Có thể trước khi chạy lệnh này các bạn cần update): sudo apt-get update sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-1.8 guile-1.8-dev libsdl1.2debian libart-2.0-dev libaudiofile-dev libesd0-dev libdirectfb-dev […]

[Thuật toán] Tìm đường đi ngắn nhất Dijkstra, Floyd

Update 25/05/2014: Do một số góp ý của các bạn nên mình đã viết thêm 1 chương trình của thuật toán Dijkstra theo cấu trúc hàm và cũng nhân tiện chỉnh lại chút code cho sáng sủa và chính xác hơn ^^. Update 27/09/2014: bổ xung code pascal của thuật toán tại đây: http://ideone.com/c7J0dq Nội dung Thuật toán Dijkstra Thuật toán Floyd Code nâng cao cho cả 2 thuật toán Update 14/06/2014: Chương trình mô […]

[C/C++] Ví dụ đọc ghi kiểu dữ liệu cấu trúc vào file kiểu nhị phân trong C

Với đề bài: Viết một chương trình để quản lý các sản phẩm máy tính xách tay bao gồm các chức năng sau : Chức năng 1 : sản phẩm nhập khẩu Chức năng 2 : Sắp xếp sản phẩm Chức năng 3 : Tìm kiếm sản phẩm Chức năng 1 : – Yêu cầu người sử dụng bao nhiêu sản phẩm cần nhập khẩu , sau đó cho phép người dùng nhập thông tin […]

[Java] Ghi thêm đối tượng vào file trong java – Append object to file exist in java

Sau bài Đọc ghi đối tượng từ file trong java, có nhiều vấn đề mà mình cần ghi thêm dữ liệu vào file. Thông thường chúng ta chỉ cần khai báo Tuy nhiên sau nhiều lần thử mình vẫn chưa làm được. Tìm kiếm một hồi thì ngoài việc thêm đối thứ 2 là true như trên thì chúng ta cần viết đè phương thức writeStreamHeader như sau: 1. Code nhanh để test 2. Code […]