Là ngôn ngữ lập trình hƣớng đối tƣợng có cấu trúc gần giống ngôn ngữ lập trình C++.
int a = 3;
cout << a++ << endl; cout << ++a << endl; cout << a << endl; a *= 2;
cout << a << endl;
Nhƣ ví dụ trên, Comet cũng có câu lệnh cout để in giá trị biến a ra màn hình giống nhƣ trong C++. Bên cạnh đó, các toán tử thực hiện trên biến a cũng giống nhƣ cấu trúc trong C++.
Mô hình hai thành phần riêng biệt nhau, do đó ngƣời lập trình dễ dàng thêm bớt các ràng buộc mà không ảnh hƣởng đến sự vận hành của chƣơng trình, tăng tính sử dụng lại của nhiều ứng dụng.
Tích hợp các giải pháp tối ƣu: Tìm kiếm địa phƣơng dựa trên ràng buộc, lập trình ràng buộc, lập trình toán học.
Thƣ viện đồ họa 2D
24
Hình 3-4. Kết quả trực quan bài toán 16 – queens visualization
Phù hợp với các hệ điều hành: Mac OS X (32 và 64 bit), Windows, Linux. Trong mô hình tìm kiếm, hệ thống hỗ trợ chƣơng trình tự động
backtracking để tìm kiếm các lời giải đúng đắn cho bài toán.
Comet[8] tích hợp các API ( C++ API, JAVA API ) mô tả các lớp khác nhau, chức năng, giao diện và thƣ viện.
Comet tích hợp C++ API cho phép dữ liệu trao đổi qua lại. Chƣơng trình sử dụng hệ thống Comet nhƣ là một thƣ viện liên quan tới hai đoạn mã
- Comet code: Giải quyết các vấn đề tối ƣu hóa - C++ code: Giao tiếp với Comet
Sự giao tiếp giữa Comet và C++ chỉ liên quan tới dữ liệu đầu ra và đầu vào của chƣơng trình Comet. Do đó, có rất ít sự thay đổi để tạo một chƣơng trình Comet trong việc sử dụng nó với đoạn mã C++.
25
CHƢƠNG 4
ỨNG DỤNG COMET VÀO BÀI TOÁN LẬP THỜI KHÓA BIỂU