BÀI TẬP THỰC HÀNH TRÊN MÁY TÍNH

Môn: Toán rời rạc Người soạn: Lương Thái Lê Bộ môn: Khoa học máy tính Yêu cầu: - Mỗi sinh viên chọn mỗi phần ít nhất hai bài để làm (túc là, tổng cộng mỗi sinh viên phải làm ít nhất 8 bài). -Trong tuần thứ 10, nộp 4 bài đầu. -Trong tuần thứ 14, nộp 4 bài còn lại Phần 1: Logic cơ sở và một số khái niệm cơ bản 1, Viết chương trình với: Input: Bảng chân lý của hai mệnh đề p và q Output: Tìm bảng chân lý của các mệnh đề hội, tuyển, tuyển loại, kéo theo, tương đương của hai mệnh đề đó. 2, Viết chương trình với: Input: Hai xâu bit có chiều dài n Output: Xâu bit sau khi thực hiện các phép toán AND, OR, XOR đối với hai xâu bit đã cho. 3, Viết chương trình với: Input: Hai tập con A, B của tập có n phần tử Output: A , A ∩ B, A ∪ B, A \ B, A ⊕ B 4, Viết chương trình với: Input: Hàm f từ {-n, -n+1,…n-1, n} đến tập số nguyên Output: Kiểm tra xem f có phải là hàm đơn ánh. 5, Viết chương trình với: Input: Hàm f từ {1, 2,…, n} vào chính nó Output: Kiểm tra xem f có phải là hàm toàn ánh. 6,Viết chương trình với: Input: Hai ma trận 0 – 1 : A, B có cùng cỡ n × n Output: A ∧ B, A ∨ B 7, Viết chương trình với: Input: Hai ma trận 0 – 1 : A, B lần lượt có cỡ là n × p và p × m Output: Tích Bool của A và B. 8, Viết chương trình với: Input: Ma trận 0 – 1 vuông và số nguyên k Output: Lũy thừa Bool bậc k của ma trận đó. Phần 2: Phương pháp đếm 1, Viết chương trình với: Input: Số nguyên dương n Output: Các dãy nhị phân độ dài n 2, Viết chương trình với: Input: Số nguyên dương n Output: Các hoán vị của tập {1,2,3,…,n} theo thứ tự từ điển

với |A| = n. và quan hệ S từ tập B đến tập C. Viết chương trình với: Input: Số nguyên dương n và số nguyên không âm k Output: Số chỉnh hợp chập k của n và số tổ hợp chập k của n 6.2.n} 5. Viết chương trình với Input: Quan hệ hai ngôi R trên tập A có n phần tử và số nguyên dương k Output: Quan hệ Rk 6.n} 8.….n} 9.…. Viết chương trình với: Input: Số nguyên dương n và số nguyên không âm k Output: Số chỉnh hợp lặp chập k của n và số tổ hợp lặp chập k của n 7.…. Cho số nguyên dương k.3.…. đối xứng. Viết chương trình với: Input: Số nguyên dương n và số nguyên không âm k Output: Các chỉnh hợp lặp chập k của tập {1. Viết chương trình với: Input: Hệ thức truy hồi thuần nhất tuyến tính hệ số hằng số bậc hai an = c1an-1 + c2an-2 và các điều kiện đầu a0 = C. Viết chương trình với Input: Quan hệ hai ngôi R trên tập A có n phần tử Output: Kiểm tra xem R có các tính chất phản xạ.n} 4.n} theo thứ tự từ điển 4. Viết chương trình với: Input: Số nguyên dương n và số nguyên không âm k Output: Các tổ hợp lặp chập k của tập {1. Output: ak Phần 3: Quan hệ 1. |C| = m.n} theo thứ tự từ điển 5.3.….2.…. Viết chương trình với Input: Quan hệ R từ tập A đến tập B. Viết chương trình với: Input: Số nguyên dương n và số nguyên không âm k không vượt quá n Output: Các tổ hợp chập k của tập {1.2.2.2. Viết chương trình với Input: Số nguyên dương n Output: Các quan hệ đối xứng trên tập {1.3.3.3. Viết chương trình với Input: Số nguyên dương n Output: Các quan hệ hai ngôi trên tập {1. b0 = D. Viết chương trình với: Input: Số nguyên dương n và số nguyên không âm k không vượt quá n Output: Các chỉnh hợp chập k của tập {1.…. Viết chương trình với Input: Số nguyên dương n Output: Các quan hệ phản xạ trên tập {1.2.2.n} 3. |B| = p. Viết chương trình với: Input: Số nguyên dương n Output: Các xâu nhị phân độ dài n không chứa hai số 0 liên tiếp 10. phản đối xứng hay bắc cầu không? 2. .

C của tập {1.Output: Quan hệ SoR 7. c Output: Các phân hoạch gồm 3 lớp tương đương A. trong đó: |A| = a. Viết chương trình với Input: Quan hệ hai ngôi R trên tập A có n phần tử Output: Bao đóng bắc cầu của R (bằng thuật toán Warshall) 11. b. Viết chương trình với Input: Các cặp có thứ tự các đỉnh ứng với các cạnh của đồ thị có hướng. Viết chương trình với Input: Quan hệ hai ngôi R trên tập A có n phần tử Output: Bao đóng đối xứng của R 8. Viết chương trình với Input: Các cặp đỉnh ứng với các cạnh của đơn đồ thị vô hướng Output: Ma trận kề của đồ thị 5. Viết chương trình với Input: Danh sách cạnh của một đơn đồ thị Output: Đồ thị đó có là đồ thị phân đôi không 4.2. a. Viết chương trình với Input: Các cặp đỉnh ứng với các cung của đơn đồ thị có hướng Output: Ma trận kề của đồ thị 6. cực đại của A theo quan hệ R Phần 4: Lý thuyết đồ thị và cây 1. Viết chương trình với Input: Quan hệ hai ngôi R trên tập A có n phần tử Output: Bao đóng phản xạ của R 9.…. Viết chương trình với Input: Quan hệ thứ tự R trên tập A có n phần tử Output: Các phần tử cực tiểu. Output: Xác định bậc_vào và bậc_ra của mỗi đỉnh 3.n}. Viết chương trình với Input: Quan hệ hai ngôi R trên tập A có n phần tử Output: Bao đóng bắc cầu của R (bằng thuật toán sử dụng tính liên thông của quan hệ) 10. Viết chương trình với Input: Số nguyên dương n. Viết chương trình với Input: Ma trận kề của đơn đồ thị vô hướng . |B| = b. Viết chương trình với Input: Ma trận kề của giả đồ thị vô hướng Output: Liệt kê các cạnh của đồ thị và số lần xuất hiện mỗi cạnh 7. B. |C| = c 12. Viết chương trình với Input: Các cặp đỉnh tương ứng với các cạnh của đồ thị vô hướng Output: Xác định bậc của mỗi đỉnh 2. Viết chương trình với Input: Ma trận kề của giả đồ thị có hướng Output: Liệt kê các cung của đồ thị và số lần xuất hiện mỗi cung 8.

Viết chương trình với Input: Ma trận kề của giả đồ thị vô hướng Output: Đồ thị đó có liên thông không 14. nếu không thì nó có đường đi Euler không? Hãy xây dựng một chu trình Euler và một đường đi Euler nếu chúng tồn tại 15. Viết chương trình với Input: Danh sách cạnh và trọng số của chúng trong một đơn đồ thị liên thông có trọng số. Viết chương trình với Input: Ma trận kề của đơn đồ thị vô hướng liên thông Output: Cây khung của đồ thị đó bằng kỹ thuật tìm kiếm ưu tiên chiều rộng 11. Viết chương trình với Input: Ma trận kề của đơn đồ thị vô hướng liên thông Output: Cây khung của đồ thị đó bằng kỹ thuật tìm kiếm ưu tiên chiều sâu 10. 16. Viết chương trình với Input: Danh sách cạnh và trọng số của chúng trong một đơn đồ thị liên thông có trọng số Output: Tìm cây khung nhỏ nhất của đồ thị đó bằng thuật toán Kruskal . Viết chương trình với Input: Danh sách cạnh và trọng số của chúng trong một đơn đồ thị liên thông có trọng số Output: Tìm cây khung nhỏ nhất của đồ thị đó bằng thuật toán Prim 17.Output: Đồ thị đó có là cây không 9. Viết chương trình với Input: Ma trận kề của đồ thị vô hướng và số nguyên dương n Output: Tìm số đường đi khác nhau độ dài n giữa hai đỉnh bất kì của đồ thị 12. Viết chương trình với Input: Các cặp đỉnh tương ứng với các cạnh của một đa đồ thị vô hướng Output: Đồ thị đó có chu trình Euler không. Viết chương trình với Input: Ma trận kề của đồ thị có hướng và số nguyên dương n Output: Tìm số đường đi khác nhau độ dài n giữa hai đỉnh bất kì của đồ thị 13. và hai đỉnh phân biệt bất kì của đồ thị này Output: Đường đi ngắn nhất giữa hai đỉnh đã cho và độ dài đường đi đó bằng thuật toán Dijkstra.

Sign up to vote on this title
UsefulNot useful