1. Trang chủ
  2. » Kỹ Năng Mềm

Bài tập lập trình môn lý thuyết Automata và ngôn ngữ hình thức

3 5,3K 42
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Bài Tập Lập Trình Môn Lý Thuyết Automata Và Ngôn Ngữ Hình Thức
Người hướng dẫn Giáo Viên: Hồ Văn Quân
Trường học Đại Học Bách Khoa TP.HCM
Chuyên ngành Lý Thuyết Automata và Ngôn Ngữ Hình Thức
Thể loại Bài Tập
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 3
Dung lượng 746,3 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

rèn luyện thêm kỹ năng lập trình. Các qui định: 1. ... Chương trình phải được thực hiện theo mô hình lý thuyết automata. Ñeà 6. (3đ) ...

Trang 1

- BÀI TẬP LẬP TRÌNH _ MÔN LÝ THUYÉT AUTOMATA VÀ NGÔN NGỮ HÌNH THỨC

Giáo Viên: Hồ Văn Quân

Email: hcquan@dit.hcmut.edu.vn

Mục đích: Đây là một hình thức để khuyến khích các bạn sinh viên tham gia tìm hiểu môn học và rèn luyện thêm kỹ năng lập trình

Các qui định:

1

2

10

11

12

Các nhóm sẽ viết bằng một trong các ngôn ngữ sau: Delphi, Visual Basic, Visual C++, Java, C#, Visual Basic.NET

Các nhóm khác nhau nếu thực hiện cùng một đề thì nên viết bằng các ngôn ngữ khác nhau Nếu giáo viên phát hiện có việc copy mã nguân thì các thành viên trong nhóm sẽ bị trừ 2 điểm vào điểm thi học ky

Các nhóm có liên quan với nhau phải phối hợp với nhau để thực hiện

Mỗi nhóm không được quá 2w người cho đề w điểm

Số điểm mỗi người trong nhóm thực hiện một đề sẽ bằng số điểm của đề chia cho số thành viên của nhóm Điểm cộng chỉ tính theo thang 0.5, 1.0, 1.5, không tính tới 2 số lẽ chẳng hạn 0.75 Mỗi người có thể tham gia nhiều nhóm, mỗi nhóm có thể thực hiện nhiều đề

Tổng điểm cộng cuối học kỳ tối đa của mỗi người là 2 điểm Nếu điểm cộng vượt quá 2 thì phần vượt quá không được tính

Các nhóm phải nộp sản phẩm vào ĐỨNG tuần 15 (tuần dự trữ), nếu nộp trước hay sau thời

gian trên thì không được xem xét Sau khi nộp các sinh viên sẽ được thông báo ngày mang máy lên trình bảy với giáo viên Các sinh viên không lên báo cáo sẽ không được cộng điểm Mỗi đề

được trình bày trong vòng 5 đến 10 phút Chú ý KHI MANG MÁY VÀO TRƯỜNG CÁC

SINH VIÊN PHẢI XIN “GIẦY MANG MÁY VÀO TRƯỜNG” Ở CHỖ CÁC CHÚ BẢO

VỆ TRƯỜNG

Mỗi nhóm sẽ đặt chương trình trong một thư mục có tên là mã số sinh viên của các thành viên trong nhóm, chang han 50012345 50054321 50056789 Trong thư mục này phải có file tacgia.txt ghi rõ thông tin của các thành viên trong nhóm bao gồm họ tên, mã sô, nhóm lớp, làm bài tập nao, viết bằng ngôn ngữ gì Ví đụ

Lam cac bai tap 1,3,6

Hình thức nộp:

Cách 1, các nhóm sẽ fip lên máy của giảng viên vào thời gian được qui định

Cách 2, các nhóm sẽ gởi mail cho giáo viên theo dia chi hcquan@dit.hcmut.edu.vn voi subject chỉnh xác như sau kế cả chữ hoa lẫn chữ thường “Bai tap lon Automatfa” vào thời gian được qui định

San phẩm nộp phải bao gồm souree code và chương trình đã địch sang mã may Source code phải có chú thích rõ ràng ở từng phần chẳng hạn mục đích của từng phần và y nghia cua cac câu lệnh quan trọng Ngoài ra nêu để chạy được chương trình cần có điều kiện gì về môi trường

hệ điều hành cũng như cần phải thực hiện các thao tác gì thì phải nêu rõ trong một ñile help.txt

đi kèm

Các bài nộp không đúng qui định sẽ không được tính điểm

Nếu các bạn sinh viên có ý kiến đóng góp gì trong vấn đề này thì có thể gởi mail về cho giáo viên theo địa chỉ ở trên

Trang 2

DANH SACH CAC DE

Đề1 (2đ)

Xây dựng bộ công cụ cho phép vẽ các đồ thị chuyển trạng thái (các đối tượng trong đồ thị có thé thay đôi vị trí được), nhập các bảng truyền của các dfa, nfa Lưu trữ và hiển thị lại chúng Các câu sau nếu có dùng đến nƒa và dfa thì có thể kế thừa từ Đề 1 Ngoài ra chỉ chấp nhận hai dạng biểu diễn của nýa và dƒa là dạng đề thị chuyển trạng thái và dạng bảng truyền

Đề2 (1đ)

Viết chương trình mô phỏng sự xử lý chuỗi của một nía, đía đưới dạng đồ thị chuyển trạng

thái

Việt chương trình biên đôi một nía thành día tương đương

Việt chương trình rút gọn một día thành dfa tdi gian

Đêề5 (3d)

Viết chương trình nhận dạng các token từ khoá (begin, end, var, if, then, for, to), số nguyên, số thực, tên biến, phép gán, phép so sánh, các phép toán số học (+, -, *, /) của một chương trình viết bằng Pascal Chương trình phải được thực hiện theo mô hình lý thuyết automata

Đề6 (3d)

Viết chương trình phân tích cú pháp, tạo và hiển thị cây cú pháp (đưới dạng đồ hoạ) của một

biểu thức chính qui

Đề7 (2đ)

Viết chương trình biến đổi một biểu thức chính qui thành nâ theo phương pháp cải tiến (Có thé kế thừa từ Đề 6.)

Đê§ (3đ)

Viết chương trình biến đổi một biểu thức chính qui thành đfa trực tiếp không thông qua nôa (Có thể kế thừa từ Đề 6.)

Đề 9 (2đ

Viết hương trình biến đổi một nfa thành văn phạm tuyến tính phải, văn phạm tuyến tính trái và ngược lại

Đề 10 _ (24)

Viet chương trình thực hiện g1ao của hai día, hiệu của hai dfa

Đề 11 (2đ)

Việt chương trình thực hiện thương đúng của hai đía

Đề 12 (3đ)

Viết chương trình kiểm tra hai đfa có tương đương nhau không

Đề 13 (3đ)

Ung dụng automata hữu hạn, viết chương trình chuyển mã của các ñile text giữa ít nhất 3 bảng

mã thông dụng hiện nay VNI, Unicode,

Đề 14 (3đ)

Ứng dụng automata hữu hạn viết chương trình đổi nhiều tên file cùng lúc từ mẫu này sang mẫu khác (Tạo ra các phép toán thuận tiện hơn cho người sử dụng dựa vào 3 phép toán cơ bản của biểu thức chính qui Tham khảo thêm ngôn ngữ Perl để biết thêm chỉ tiết)

Đề 15 (5đ)

Ứng dung automata hữu hạn viết chương trình driver cho bộ gõ tiếng Việt hỗ trợ hai cách gõ VNI, Telex và hỗ trợ ít nhất 3 bảng mã thông dụng hiện nay VNI, Unicode,

Đề 16 (2đ)

Viết các chương trình loại bỏ lần lượt và loại bỏ đồng thời ba loại luật sinh vô dụng, trống và don vi

Đề 17 (3đ)

Trang 3

Đề

Đề

Đề

Đề

Đề

Đề

é

D

é

Đề

Viết các chương trình biến đổi một văn phạm bất kỳ thành văn phạm có dang Chomsky va Greibach

18 (1đ)

Cho biết dẫn xuất, viết chương trình hiển thị dẫn xuất đưới đạng cây

19 (2đ)

Viết chương trình phân tích cú pháp theo phương pháp vét cạn Có trình bày tuần tự các bước phân tích và dẫn xuất nếu có

20 (3đ)

Viết chương trình phân tích cú pháp theo phương pháp CYK Có trình bày các bước tính toán

và dẫn xuất nếu có

21 (4đ)

Viết chương trình phân tích cú pháp theo phương pháp Earley Có trình bày các bước tính toán

và dẫn xuất nếu có

22 (2đ)

Xây dựng bộ công cụ cho phép nhập, vẽ các npda, đpda (các đối tượng trong đồ thị có thể thay đổi vị trí được) Lưu trữ và hiến thị lại chúng

23 (3đ)

Viết chương trình mô phỏng hoạt động của một npda, dpda bằng hình ảnh và bằng đồ thị chuyển trạng thái

24 (2đ)

Viết chương trình biến đổi một văn phạm phi ngữ cảnh thành một npda

25 (3đ)

Viết chương trình biến đổi một npda thành một văn phạm phi ngữ cảnh

26 (4đ)

Viết chương trình phân tích cú pháp cho ngôn ngữ Pascal đơn giản (bao gồm các khai báo hàm, thủ tục, khai báo biến, begin, end, lệnh if, lệnh lặp for, repeat until, while do, cdc phép so sánh, các phép toán số học)

27 (3đ)

Tìm hiểu các hàm xử lý chuỗi của ngôn ngữ Pcrl Xây dựng lại một số hàm này (khoảng 10 hàm) cho các ngôn ngữ khác

Ngày đăng: 09/08/2012, 23:24

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm