Posted to comp.lang.scheme on January 17, 1996, for Scheme’s twentieth birthday:
Posted to comp.lang.scheme on January 17, 1996, for Scheme’s twentieth birthday:
Chương trình sau đây sẽ không in ra cái ta muốn xem. Đố: Tại sao? Và sửa lại như thế nào?
Tôi cần syntax highlight cho powerpoint presentations. PPT không có chức năng này. (Tại sao, Microsoft?) Ví dụ, tôi muốn có một slide trông như sau: Google chỉ cho một số cách. Cách mà hiện nay tôi thấy tương đối nhẹ nhàng bao gồm những bước sau đây: Chép và dán mã nguồn (từ vi/emacs) [...]
Một tác vụ thường gặp trong nhiều chương trình là tác vụ sau đây. Ví dụ trong C++. Với mỗi chuỗi nhập std::string str khác nhau, ta cần gọi một hàm tương ứng. Ví dụ, nếu str == “sin” thì ta gọi hàm sin, str == “abc” thì ta gọi hàm foo(), còn nếu str [...]
Một sinh viên khoa tôi mới đi phỏng vấn tháng rồi. (Anh ta sẽ làm việc ở Groupon.) Có câu hỏi sau đây rất hay. Viết wrapper functions Malloc() và Free() dùng malloc() và free() sao cho Malloc() luôn trả về một con trỏ “memory word aligned”, nôm na là con trỏ trỏ đến địa [...]
PM 2: Pattern matching bằng automaton đơn định PM 4: Thuật Toán Apostolico-Crochemore Thuật toán KMP được thiết kế khoảng 1969-1970, mặc dù bài báo KMP phải đến 1977 mới ra bản in. Năm 1974, Robert S. Moyer và J. Strother Moore (và độc lập với họ, cả R. W. Gosper) đã đề xuất một [...]
Viết một thủ tục (bằng C hay Python) làm tác vụ sau đây. Cho một chuỗi ký tự p[0..m-1], tính chuỗi số ms[0..m-1], trong đó ms[i] bằng chiều dài của hậu tố (suffix) chung dài nhất của hai chuỗi p[0..m-1] và p[0..i]. Tất nhiên, yêu cầu là viết mã gọn và chạy nhanh. Lưu ý, [...]
PM 1: Thuật toán Knuth-Morris-Pratt PM 3: Thuật toán Boyer-Moore 1. Phép xây dựng DFA cơ bắp Chúng ta đang xét bài toán tìm tất cả các xuất hiện của chuỗi p[0..m-1] trong chuỗi s[0..n-1], với bộ ký tự là Σ. Thuật toán KMP thật ra cũng chỉ là mô phỏng một automaton đơn định [...]
PM 2: Pattern matching bằng automaton đơn định Pattern matching là một trong những bài toán cơ bản và quan trọng nhất của ngành máy tính. Tìm patterns trong các chuỗi-DNA là bài toán cơ bản của sinh tin học. Các phần mềm quét virus hiện đại có mấy chục triệu “patterns” là các “chữ [...]
Đọc được câu (đại ý) này, mà chịu không nhớ nguồn từ đâu ra. When a normal person is lazy, she looks for what’s already there before doing it herself. When a programmer is lazy, she does it herself before looking for what’s already there.
Viết chơi một đoạn Python để thử plugin hiển thị cú pháp đẹp của WordPress. Đố bạn biết chương trình làm gì? Trong năm tới blog sẽ có nhiều bài linh tinh về các ngôn ngữ lập trình.
The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, MSN, Yahoo!, Wikipedia and YouTube are used to calculate the ratings. Observe that [...]
Chọn 1 hay 2? 1 int main() { printf(“Hello world\n”); } 2 int main() { printf(“Hello world\n”); } Nếu bạn chọn cái dưới đây thì chúng ta không nên uống cà phê với nhau int main() { printf(“Hello world\n”); } Chọn A hay B? A. Indentation width 3 hoặc 4 khoảng trắng B. Indentation width [...]
Bên Stackoverflow có câu hỏi: “What is the best comment in source code you have ever encountered?” Dưới đây là vài câu trả lời. Nếu bạn không cười lăn ra đất thì bạn nên chuyển sang làm địa ốc, làm máy tính không thích hợp với bạn. #define if while //When I wrote this, only [...]