1. Trang chủ
  2. » Luận Văn - Báo Cáo

công cụ hỗ trợ học tập tin học lý thuyết trên web

106 363 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ TRƢỜNG ĐẠI HỌC CẦN THƠ KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC CÔNG CỤ HỖ TRỢ HỌC TẬP TIN HỌC LÝ THUYẾT TRÊN WEB Sinh viên thực Cán hƣớng dẫn Phạm Ngũ Linh MSSV: 1091501 Nguyễn Văn Út MSSV: 1091555 Ths Lâm Hoài Bảo Cần Thơ, 2012 GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 1Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ LỜI CẢM ƠN Chúng em xin chân thành cảm ơn quý thầy cô Khoa công nghệ thông tin truyền thông trƣờng Đại học Cần Thơ tận tình dạy bảo chúng em nhiều kiến thức bổ ích suốt thời gian học tập trƣờng nhƣ tạo điều kiện cho chúng em thực đề tài Kính chúc quý thầy cô dồi sức khỏe thành công sống Đặc biệt chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Lâm Hoài Bảo, ngƣời tận tình hƣớng dẫn chúng em suốt thời gian thực đề tài, cho chúng em bình tĩnh tự tin, giúp chúng em rút nhiều học kinh nghiệm quý báu chúng em vấp phải khó khăn Chúng em khó hoàn thành đề tài tận tình bảo thầy Chúng cảm ơn cha mẹ gia đình sinh nuôi dạy chúng khôn lớn, bên cạnh động viên ủng hộ chúng đƣờng mà chúng yêu thích lựa chọn Cảm ơn bạn sinh viên công nghệ thông tin khóa 35, bạn giúp đỡ, động viên hỗ trợ nhiều nhƣ đóng góp cho nhiều ý kiến quý báu, qua giúp hoàn thiện đề tài Mặc dù nổ lực, cố gắng nhƣng hẳn đềc tài nhiều thiếu sót Chúng em mong nhận đƣợc nhiều góp ý phê bình quý thầy cô, anh chị bạn Một lần chúng em xin chân thành cảm ơn Cần Thơ, ngày….tháng 11 năm 2012 Nhóm sinh viên thực Phạm Ngũ Linh - Nguyễn Văn Út GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 2Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ MỤC LỤC BẢNG VIẾT TẮT TÓM TẮT, ABSTRACT, TỪ KHÓA I TÓM TẮT II ABSTRACT III TỪ KHÓA 10 CHƢƠNG I: TỔNG QUAN 11 I ĐẶT VẤN ĐỀ 11 II TỔNG QUAN ĐỀ TÀI 11 III PHẠM VI ĐỀ TÀI 11 IV HƢỚNG GIẢI QUYẾT 11 CHƢƠNG II: SILVERLIGHT 12 I SILVERLIGHT LÀ GÌ? 12 II CÁC ĐẶC TÍNH CỦA SILVERLIGHT 12 2.1 Sự kết hợp WPF XAML 12 2.2 Mở rộng ngôn ngữ kịch 12 2.3 Sự tích hợp ứng dụng có 12 2.4 Sử dụng mô hình ngôn ngữ lập trình tảng Net Framwork công cụ để kết hợp 13 2.5 Hỗ trợ mạng 13 2.6 Hỗ trợ ngôn ngữ tích hợp truy vấn (LINQ) 13 III KIẾN TRÚC TỔNG THỂ VÀ CÁC MÔ HÌNH LẬP TRÌNH CỦA SILVERLIGHT 13 3.1 Kiến trúc thành phần 13 3.2 Các mô hình lập trình 15 3.2.1 Javasript API 15 3.2.2 Managed API 16 IV KHẢ NĂNG HỖ TRỢ TRÌNH DUYỆT, HỆ ĐIỀU HÀNH VÀ CÁC CÔNG NGHỆ LIÊN QUAN 16 4.1 Hỗ trợ trình duyệt hệ điều hành 16 4.2 Các công nghệ công cụ liên quan Silverlight 17 V XAML - EXTENSIBLE APPLICATION MARKUP LANGUAGE 17 5.1 XAML gì? 17 5.2 Khai báo đối tƣợng 18 5.3 Thiết lập đặc tính cho đối tƣợng 18 5.4 Root element namespace XAML 18 5.5 Sự kiện 18 5.6 Các namespace XAML 19 VI CONTROL VÀ USER CONTROL TRONG SILVERLIGHT 19 6.1 Giới thiệu Control phổ biến 19 6.2 Các Control phổ biến Silverlight 19 VII XỬ LÝ ĐỒ HỌA TRONG SILVERLIGHT 20 GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 3Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ 7.1 Shapes and Drawing 21 7.1.1 Ellipse 21 7.1.2 Line 21 7.1.3 Path 21 7.2 Image 21 7.3 Video 22 VIII LÀM VIỆC VỚI DỮ LIỆU TRONG SILVERLIGHT 22 CHƢƠNG III: CƠ SỞ LÝ THUYẾT 23 I BỔ TÚC TOÁN 23 1.1.Tập hợp (Sets) 23 1.1.1 Ký hiệu tập hợp 23 1.1.2 Các phép toán tập hợp 24 1.2 Quan hệ (Relations) 24 1.2.1 Quan hệ tƣơng đƣơng 25 1.2.2 Bao đóng quan hệ 25 1.3 Phép chứng minh quy nạp 26 1.4 Đồ thị 26 1.4.1 Đồ thị (Graph) 26 1.4.2 Cây (trees) 27 II NGÔN NGỮ VÀ BIỂU DIỄN NGÔN NGỮ 28 2.1 Tổng quan ngôn ngữ 28 2.1.1 Bộ chữ (alphabet) 28 2.1.2 Ký hiệu chuỗi 28 2.1.3.Ngôn ngữ (Languages) 29 2.1.4 Các phép toán ngôn ngữ 29 2.2 Vấn đề biểu diễn ngôn ngữ 30 2.3 Văn phạm phân lớp văn phạm 31 2.3.1 Định nghĩa văn phạm cấu trúc (Grammar) 31 2.3.2 Sự phân cấp Chomsky văn phạm 32 2.4 Cơ chế Ôtômat 34 2.4.1 Định nghĩa ôtômat 34 2.4.2 Phân loại ôtômat 34 III ÔTÔMAT HỮU HẠN (FA: FINITE AUTOMATA) 35 3.1 Ôtômat hữu hạn không đơn định – DFA (Deterministic Finte Automata) 35 3.2 Ôtômat hữu hạn không đơn định – NFA (Nondeterministic Finte Automata) 38 3.3 Sự tƣơng đƣơng DFA NFA 40 3.4 NFA với ε-dịch chuyển (NFAε) 41 3.5 Sự tƣơng đƣơng NFA có ε-dịch chuyển 43 3.6 Giải thuật xây dựng DFA từ NFAε 44 IV BIỂU THỨC CHÍNH QUY (RE: Regular Expressions) 48 4.1 Định nghĩa: 48 GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 4Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ 4.2 Sự tƣơng đƣơng ôtômat hữu hạn biểu thức quy 48 V VĂN PHẠM CHÍNH QUI VÀ CÁC TÍNH CHẤT 52 5.1 Văn phạm qui (RG : Regular Grammar) 52 5.1.1 Văn phạm tuyến tính 52 5.1.2 Sự tƣơng đƣơng văn phạm quy ôtômat hữu hạn 53 5.2 Một số tính chất tập hợp quy 54 5.2.1 Bổ đề bơm cho tập hợp quy 54 5.2.2 Tính chất đóng tập hợp quy 54 5.3 Các giải thuật xác định tập hợp quy 55 VI VĂN PHẠM PHI NGỮ CẢNH (CFG: Context Free Grammar) 56 6.1 Định nghĩa: 56 6.2 Dẫn xuất ngôn ngữ 57 6.3 Cây dẫn xuất 57 6.3.1 Thuật toán vẽ dẫn xuất 59 6.3.2 Hàm FIRST FOLLOW 64 6.4 Quan hệ dẫn xuất dẫn xuất 67 6.5 Dẫn xuất trái nhất, dẫn xuất phải 67 6.6 Giản lƣợc văn phạm phi ngữ cảnh 67 6.6.1 Các ký hiệu vô ích 68 6.6.2 Luật sinh ε 68 6.6.3 Luật sinh đơn vị 69 6.7 Chuẩn hóa văn phạm phi ngữ cảnh 69 6.7.1 Dạng chuẩn Chomsky – CNF (Chomsky Normal Form) 69 6.7.2 Dạng chuẩn Greibach GNF (Grei Normal Form) 70 VII ÔTÔMAT ĐẨY XUỐNG (PDA: PushDown Automata) 72 7.1 Mô tả PDA 72 7.2 Định nghĩa 74 7.3 PDA văn phạm phi ngữ cảnh 75 7.3.1 CFG => PDA 75 7.3.2 PDA => CFG 76 VIII MÁY TURING 78 8.1 Mô hình máy Turing (TM) 78 8.1.1 Mô tả TM 78 8.1.2 Định nghĩa 78 8.2 Các kỹ thuật xây dựng máy Turing 81 8.2.1 Lƣu trữ điều khiển (Storage in the finite control) 81 8.2.2 Nhiều rãnh băng (Multiple tracks) 82 8.2.3 Đánh dấu ký hiệu (Checking off symbols) 83 8.2.4 Dịch qua (Shifting over) 84 8.2.5 Chƣơng trình (Subroutines) 85 8.3 Các biến dạng máy Turing 87 8.3.1 Máy Turing với băng vô hạn chiều 87 8.3.2 Máy Turing với nhiều băng vô hạn hai chiều 87 GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 5Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ 8.3.3 Máy Turing không đơn định 87 8.3.4 Máy Turing nhiều chiều 88 8.3.5 Máy Turing nhiều đầu đọc 88 IX ÔTÔMÁT TUYẾN TÍNH GIỚI NỘI VÀ VĂN PHẠM CẢM NGỮ CẢNH 89 9.1 Ôtômat tuyến tính giới nội (LBA) 89 9.2 Văn phạm cảm ngữ cảnh (CSG) 89 9.3 Sự tƣơng đƣơng LBA CSG 90 9.4 Tƣơng đƣơng lớp ngôn ngữ 91 CHƢƠNG IV: ỨNG DỤNG 92 I Mô tả toán: 92 II Sơ đồ Use Case: 92 III Sơ đồ kiến trúc ứng dụng Silverlight: 93 IV Thiết kế CSDL: 95 4.1 Mô hình CMD: 95 4.2 MPD: 95 4.2 MPD: 96 V Giải thuật: 98 5.1 NFAε / NFA  DFA: 98 5.2 NFAε  NFA: 98 5.3 DFA  RE: 98 5.4 RE  NFAε: 99 5.5 Cây dẫn xuất: 100 5.6 Chuẩn hóa CFG theo Chomsky: 101 5.7 Chuẩn hóa CFG theo Greibach: 101 5.8 CFG  PDA: 102 VI Thiết kế giao diện: 103 KẾT LUẬN, NHẬN XÉT, ĐÁNH GIÁ 105 I KẾT LUẬN 105 II NHẬN XÉT, ĐÁNH GIÁ 105 TÀI LIỆU THAM KHẢO 106 GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 6Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ BẢNG VIẾT TẮT Viết tắt CFG CSDL DFA NFA PDA RE TM GVHD: Ths.Lâm Hoài Bảo Diễn giải Văn phạm phi ngữ cảnh (Content Free Grammar) Cơ sở liệu Ôtômat đơn định (Deterministic Finite Automata) Ôtômat không đơn định (Nondeterministic Finite Automata) Ôtômat đẩy xuống (Pushdown Automata) Biểu thức quy (Regular Expressions) Máy Turing (Turing Machines) SVTH: Phạm Ngũ Linh 1091501 Trang 7Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ TÓM TẮT, ABSTRACT, TỪ KHÓA I TÓM TẮT Đa số tình hình sinh viên nay, đặc biệt sinh viên ngành Công nghệ thông tin cần có công cụ hỗ trợ cho việc học tập, mà cụ thể cần công cụ để chuyển đổi kiểm tra kiến thức nhƣ tập môn Tin học Lý thuyết Nắm bắt đƣợc vấn đề nên chúng em tiến hành “Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết Web” Đề tài thiết thực cho sinh viên ngành Công nghệ thông tin, củng cố lý thuyết học mà kiểm tra tính đắn tập môn học Đây công cụ mang lại nhiều lợi ích cho bạn sinh viên Công nghệ thông tin, giúp bạn nhanh chóng việc củng cố lý thuyết nhƣ công cụ chuyển đổi Ôtômat, RE, CFG, PDA môn học Để thực đƣợc công cụ chúng em kết hợp củng cố lý thuyết, tiến hành xây dựng mô hình, lập trình Dot Net mà cụ thể sử sụng Silverlight Microsoft Visual Studio 2010 kết hợp MS SQL 2008 Sau trình thực chúng em hoàn thành chức chuyển đổi nhƣ nêu: Nêu lên phần lý thuyết môn Tin học lý thuyết, công cụ chuyển đổi Ôtômat RE, dẫn xuất văn phạm, chuẩn hóa CFG theo Chomsky Greibach, tƣơng đƣơng CFG - PDA Tuy nhiên, để hoàn thiện cho công cụ này, chúng em cần nhiều thời gian để nghiên cứu tiếp thuật toán lại phần công cụ chuyển đổi tƣơng ứng khác, đặc biệt máy Turing công cụ hoàn chỉnh môn Tin học Lý thuyết GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 8Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ II ABSTRACT The majority of the current situation of students, especially students of information technology tools to support learning, in particular need a tool to convert and test the knowledge andexercises in theory of Computing courses Foreseeing problems should we proceed "Building learning tool support Theoretical Computer Science on the Web" Very practical subject for students of information technology, it does not reinforce the theory they have learned but also check the correctness of the exercises on this subject This is the tool to bring many benefits to the students of Information Technology, to help you quickly in the consolidation theory as well as converter between the automaton, RE, CFG, PDA subjects To make the tool we combine consolidation theory, the construction of the model, on the Dot Net programming that particular gun Silverlight and Microsoft Visual Studio 2010 MS SQL 2008 After a process of implementation, we also completed the basic conversion function as described: automaton, RE, CFG, PDA However, to more complete tools, we need more time to study for the rest of the algorithm, especially Turing machines to the most complete tool on the subject Computer Science Theory GVHD: Ths.Lâm Hoài Bảo SVTH: Phạm Ngũ Linh 1091501 Trang 9Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ III TỪ KHÓA - Silverlight - Ôtômat (NFA, DFA, NFAε) - Biểu thức quy (RE) - Văn phạm phi ngữ cảnh (CFG) - Ôtômat đẩy xuống (PDA) - Máy Turing (MT) GVHD: Ths.Lâm Hoài Bảo Trang 10 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ CHƢƠNG IV: ỨNG DỤNG I Mô tả toán: Công cụ hỗ trợ học tập Tin học Lý thuyết Web cung cấp ngƣời dùng (User) có chức chính: thứ nhất, cho phép ngƣời dùng xem phần lý thuyết môn học với phạm vi chƣơng, thứ hai công cụ chuyển đổi tƣơng ứng chƣơng, công cụ đƣợc cụ thể nhƣ sau: Chƣơng 3: Ôtômat hữu hạn biểu thức quy gồm công cụ sau: NFA  DFA, NFAε  DFA, NFAε  NFA, DFA  RE, RE  NFAε Chƣơng 5: Văn phạm phi ngữ cảnh: có công cụ: Cây dẫn xuất văn phạm, chuẩn hóa CFG theo Chomsky Greibach Chƣơng 6: Ôtômat đẩy xuống: có công cụ: CFG  PDA II Sơ đồ Use Case: Lý T huyết NFAε / NFA > DFA NFAε > NFA User DFA > RE Công cụ RE > NFAε Cây dẫn xuất Chuẩn hóa CFG theo Chomsy Greibach CFG > PDA GVHD: Ths.Lâm Hoài Bảo Trang 92 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ III Sơ đồ kiến trúc ứng dụng Silverlight: Presentation Core: Tính Dữ liệu vào (input) Trình bày giao diện ngƣời dùng (UI Rendering) Thiết bị nghe nhìn (Media) Controls Xếp đặt Layout Trình bày liệu (Data Binding) DRM XAML Mô tả Xử lý liệu đầu vào từ thiết bị phần cứng nhƣ bàn phím, chuột, bảng vẽ thiết bị đầu vào khác Trình bày vector đồ hoạ ảnh bitmap, ảnh động, văn Các tính phát quản lý vài thể loại file âm hình ảnh nhƣ WMP MP3 Hỗ trợ mở rộng cho control để có khả tùy chỉnh kiểu dáng khuôn mẫu Cho phép khả xếp đặt vị trí động thành phần giao diện ngƣời dùng Cho phép việc kết nối liệu đối tƣợng thành phần giao diện ngƣời dùng Khả Quản lý phân quyền số Cung cấp trình phân tách cho XAML GVHD: Ths.Lâm Hoài Bảo Trang 93 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ Net Framwork for Silverlight: Mô tả Hỗ trợ ngôn ngữ truy vấn tích hợp (LINQ) LINQ với đặc tả XML, dễ dang xử lý việc tích hợp làm việc với liệu Data từ nhiều nguồn khác Hỗ trợ việc sử dụng XML lớp biên đổi hóa (serialization) để xử lý liệu Thuộc thƣ viện Net Framework, cung cấp chức Base class library lập trình chủ yếu nhƣ việc xử lý chuỗi, biểu thức quy, đầu vào đầu ra, ánh xạ, tập hợp toàn cục hóa Window Cung cấp tính để đơn giản hóa việc truy cập Communication liệu từ xa Cơ chế bao gồm đối tƣợng trình duyệt, Foundation HTTP request HTTP Response, RSS, JSON, POX, (WCF) SOAP Common language Cung cấp việc quản lý nhớ, dọn dẹp nhớ thừa, xử lý runtime ngoại lệ… (CLR) Windows Cung cấp control giầu tính nhƣ Button, Calendar, Presentation CheckBox, DataGrid, DatePicker, HyperlinkButton, Foundation ListBox, RadioButton, and ScrollViewer controls (WPF) Dynamic language Hỗ trợ việc biên dịch thi hành với tính động runtime ngôn ngữ kịch nhƣ Javascript IronPython cho (DLR) chƣơng trình tảng Silverlight Tính GVHD: Ths.Lâm Hoài Bảo Trang 94 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ IV Thiết kế CSDL: 4.1 Mô hình CMD: BANGCHUYEN trangthaidau # * * * * # ID_BC Integer * TEN_FILE varchar(255) * LOAI varchar(20) PHEPTOAN TRANGTHAI ID_TT Integer TEN_TT varchar(255) x Integer y Integer BD_KT Integer # ID_PT Integer * TEN_PT varchar(255) pheptoanchuyen trangthaicuoi HAMSINH CFGP RE # ID_RE Integer * TEN_FILE varchar(255) * CHUOI varchar(255) GVHD: Ths.Lâm Hoài Bảo Trang 95 # * * * # BIEN_SINH varchar(10) # KQ_SINH varchar(255) CFG ID_CFG Integer TEN_FILE varchar(255) KH_BD varchar(10) LOAI varchar(20) SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ 4.2 MPD: + Bảng Trạng Thái: TT TÊN ID_TT TEN_TT X Y BD_KT KÍCH KHÓA NOT DIỄN GIẢI THƢỚC CHÍNH NULL int x x STT Trạng thái varchar 255 x Tên Trạng thái Tọa độ x trạng int x thái Tọa độ y trạng int x thái Trạng thái bắt đầu, kết int x thúc KIỂU Bảng Trạng Thái cho phép lƣu trữ trạng thái Ôtômat với thuộc tính tọa độ x, y trạng thái hình lƣu giữ trạng thái bắt đầu kết thúc + Bảng Phép Toán: TT TÊN ID_PT TEN_PT KÍCH KHÓA NOT DIỄN GIẢI THƢỚC CHÍNH NULL int x x STT Phép toán varchar 255 x Tên Phép toán KIỂU Bảng Phép Toán lƣu giữ phép toán trạng thái + Bảng Bảng Chuyển: TT TÊN ID_BC TEN_FILE LOAI TTC PTC KQC KÍCH KHÓA NOT DIỄN GIẢI THƢỚC CHÍNH NULL int x x STT Bảng chuyển varchar 255 x Đặt tên file lƣu varchar 255 x Loại Ôtômat int x Trạng thái chuyển int x Phép toán chuyển int x Kết chuyển KIỂU Bảng Bảng chuyển lƣu giữ trạng thái, phép toán loại Ôtômat GVHD: Ths.Lâm Hoài Bảo Trang 96 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ + Bảng RE: TT TÊN ID_RE TEN_FILE CHUOI KÍCH KHÓA NOT DIỄN GIẢI THƢỚC CHÍNH NULL int x x STT RE varchar 255 x Đặt tên file lƣu varchar 255 x Chuỗi nhập RE KIỂU Bảng RE lƣu trữ chuỗi nhập vào + Bảng CFG: TT TÊN ID_CFG TEN_FILE KH_BD LOAI KÍCH KHÓA NOT DIỄN GIẢI THƢỚC CHÍNH NULL Int x x STT CFG Varchar 255 x Đặt tên file lƣu Varchar 10 x Biến tập sinh Varchar 20 x Loại chuẩn hóa hay dẫn xuất KIỂU Bảng CFG cho phép lƣu giữ luật sinh loại văn phạm theo Chomsky – Greibach dẫn xuất + Bảng HAMSINH: TT TÊN KIỂU ID_CFG BIEN_SINH KQ_SINH int varchar varchar KÍCH KHÓA NOT DIỄN GIẢI THƢỚC CHÍNH NULL x x STT CFG 10 x x Biến tập sinh 255 x x Kết sinh Bảng Hàm Sinh ta lƣu giữ Biến sinh kết sinh tập luật sinh CFG GVHD: Ths.Lâm Hoài Bảo Trang 97 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ V Giải thuật: 5.1 NFAε / NFA  DFA: NFAε M(Q, Σ, δ, q0, F)  DFA M‘(Q‘, Σ, δ‘, q‘0, F‘) Trạng thái bắt đầu: q‘0 = ε-closure(q0) => xác định Q‘, δ‘ Tập trạng thái kết thúc: F‘  Q‘ có chứa trạng thái kết thúc  F Giải thuật: Trạng thái bắt đầu ε-closure(q0) trạng thái trạng thái DFA trạng thái chƣa đƣợc đánh dấu; While Có trạng thái T DFA chưa đánh dấu Begin Đánh dấu T; {xét trạng thái T} For Với ký hiệu nhập a begin U:= ε-closure(δ(T, a)) If U tập trạng thái DFA then begin Thêm U vào tập trạng thái DFA trạng thái chƣa đƣợc đánh dấu; δ [T, a]:=U; { δ [T, a] phần tử bảng chuyển DFA} end ; end ; End ; 5.2 NFAε  NFA: NFAε M(Q, Σ, δ, q0, F)  NFA M‘(Q, Σ, δ‘, q0, F‘) δ‘(q, a) = δ*(q, a) = ε-closure(δ(δ*(q, ε), a)) F  {q0} ε-closure(q0)  trạng thái  F F‘ = F 5.3 DFA  RE: DFA M(Q, Σ, δ, q0, F) Ta có k số trạng thái tập trạng thái Q GVHD: Ths.Lâm Hoài Bảo Trang 98 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ i, j vị trí tập trạng thái kết thúc F Q Ta định nghĩa rkij cách đệ quy để tìm RE từ DFA: rkij = rk-1ik(rk-1kk)* rk-1kj  rk-1ij i  j {a | δ(qi, a) = qj} r0ij = {a | δ(qi, a) = qj}  {ε} i = j 5.4 RE  NFAε: Chuỗi nhập RE có độ dài re = vẽ nhƣ sau: Chuỗi nhập RE có độ dài re = tức 1* ta vẽ nhƣ sau: Trƣờng hợp chuỗi RE khác trƣờng hợp ta phân tích chuỗi nhƣ sau: r(M1, M2, pt) với M1 chuỗi thứ nhất, M2 chuỗi thứ 2, pt phép toán chuỗi + Nếu pt phép nhân hay phép cộng ta vẽ M1, M2 dùng pt để nối M1, M2:  pt phép nhân vẽ nhƣ sau:  pt lè phép cộng vẽ nhƣ sau: GVHD: Ths.Lâm Hoài Bảo Trang 99 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ + Nếu pt bao đóng:  Nếu M2 khác rỗng vẽ M1, M2 nối lại nhƣ sau: ε  Nếu M2 rỗng vẽ nhƣ sau: 5.5 Cây dẫn xuất: (1) – Loại bỏ luật sinh dạng đệ quy trái (bổ đề 4) Giải thuật Loại bỏ đệ quy trái: Khởi đầu Stack chứa ký hiệu chƣa kết thúc bắt đầu (S) đỉnh đệm chứa âu nhập dạng w$ Ðặt trỏ ip trỏ tới ký hiệu w$ ; Repeat Gọi X ký hiệu đỉnh Stack a ký hiệu đƣợc trỏ ip ; If X ký hiệu kết thúc $ then If X = a then lấy X khỏi Stack dịch chuyển ip else error ( ) Else // X ký hiệu chƣa kết thúc If M[X,a] = X → Y1 Y2 Yk then begin Lấy X khỏi Stack; Ðẩy Yk ,Yk-1, ,Y1 vào Stack; Xuất luật sinh X → Y1 Y2 Yk; end else error ( ) /* Stack rỗng */ Until X = $ (2) – Xây dựng hàm FIRST: (tập hợp ký hiệu kết thúc (có thể có) trƣớc biến): aA (3) – Xây dựng hàm FOLLOW: (tập hợp ký hiệu kết thúc (có thể có) sau biến): Aa (4) – Từ 2, xây dựng bảng phân tích GVHD: Ths.Lâm Hoài Bảo Trang 100 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ 5.6 Chuẩn hóa CFG theo Chomsky: CFG (V, T, P S) không chứa ε sinh văn phạm có dạng A  BC, A  a, với (A, B, C  V) (a  T) (1) - Thay tất luật sinh có độ dài vế phải 1: | VP | =1  V: A  B A X:  T: A  a ε :A ε (Loại bỏ luật sinh đơn vị luật sinh ε) (2) – Thay luật sinh có độ dài vế phải > có chứa ký hiệu kết thúc: |VP| > A  X1 X2 a … Xn  A  X1 X2 Ca ….Xn Ca  a (n>1) (3) – Thay luật sinh có độ dài vế phải > ký hiệu chƣa ký thúc: |VP| >2 A  B1 B2…Bm  A  B1 D1 D1  B2 D2 (m > 2) … Dm-2  Bm-1 Bm 5.7 Chuẩn hóa CFG theo Greibach: A  aα (α: chuỗi biến, rỗng) (1) – Viết G‘  G có dạng chuẩn Chomsky (2) – Sắp xếp V = {A1, A2, …, Am} với A1 S (3) – Thay luật sinh cho Ai  Aj α j > i Nếu j < i: áp dụng bổ đề (thay luật sinh trực tiếp) vào Aj Nếu j = i: áp dụng bổ đề (loại bỏ luật sinh dạng đệ quy trái) (4) – Thay Ai luật sinh (từ Am  A1) để dạng theo Bổ đề (5) – Thay B luật sinh dạng GVHD: Ths.Lâm Hoài Bảo Trang 101 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ 5.8 CFG  PDA: CFG (V, T, P, S)  PDA M(Q, Σ, Γ, δ, q0, Z0, F) CFG phải có dạng chuẩn Greibach δ δ(q, a, A) = (q, α) P A  aα GVHD: Ths.Lâm Hoài Bảo Trang 102 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ VI Thiết kế giao diện: Giao diện công cụ: Giao diện phần xem lý thuyết: GVHD: Ths.Lâm Hoài Bảo Trang 103 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ Giao diện Công cụ: Giao diện kết chuyển công cụ dẫn xuất: GVHD: Ths.Lâm Hoài Bảo Trang 104 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ KẾT LUẬN, NHẬN XÉT, ĐÁNH GIÁ I KẾT LUẬN Qua tháng thực đề tài chúng em hoàn thành công cụ hỗ trợ học tập Tin học Lý Thuyết Web, cụ thể nhƣ sau: - Nêu lên toàn lý thuyết môn Tin học Lý thuyết - Công cụ chuyển đổi chức Ôtômat – RE, dẫn xuất văn phạm, chuẩn hóa CFG, tƣơng đƣơng CFG - PDA II NHẬN XÉT, ĐÁNH GIÁ Sau thực đề tài luận văn này, chúng em tăng khả lập trình, củng cố lý thuyết học hỏi thêm kiến thức Tuy công cụ hoàn thành nhƣng nhiều thiếu sót: Giao diện chƣa sinh động bắt mắt Hệ thống chƣa đƣợc nhanh Đặc biệt, chúng em cần nhiều thời gian để xây dựng công cụ chuyển đổi cho công cụ hỗ trợ hoàn thiện môn Tin học Lý thuyết Rất mong góp ý quý Thầy Cô bạn để đề tài đƣợc hoàn thiện Chân thành cảm ơn! GVHD: Ths.Lâm Hoài Bảo Trang 105 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết WEB‖ TÀI LIỆU THAM KHẢO [1] Võ Huỳnh Trâm Giáo trình Tin học lý thuyết Nhà xuất Đại học Cần Thơ Cần Thơ, năm 2003 [2] Robert Lair Beginning Silverlight in C# Apress, 2010 [3] Matthew MacDonald Pro Silverlight in C# Apress, 2010 [4] Giáo trình Silverlight http://www.mediafire.com/?omijlzizknz [5] http://msdn.microsoft.com/en-us/library/cc838158(v=vs.95).aspx [6] http://www.codeproject.com/search.aspx?q=silverlight&x=0&y=0&sbo=kw [7]http://uet.vnu.edu.vn/tltk/Learning/File_PDF/Trinh_Bien_Dich_chuong4_uni.p df GVHD: Ths.Lâm Hoài Bảo Trang 106 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 [...]... dành cho sinh viên công nghệ thông tin, để đáp ứng nhu cầu học tập của các bạn sinh viên, chúng tôi tiến hành xây dựng và thiết kế một công cụ hỗ trợ trên Wed sử dụng Silverlight Để thực hiện tốt dự định trên chúng tôi tiến hành thực hiện đề tài “Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên Web Nội dung đề tài nêu lên phần Lý thuyết môn Tin học Lý thuyết và phần công cụ chuyển giữa các Ôtômat... tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB CHƢƠNG I: TỔNG QUAN I ĐẶT VẤN ĐỀ Trong thời đại công nghệ thông tin, hầu hết mọi ngƣời đã quá thân thuộc về máy tính cũng nhƣ Internet Đa số ngƣời dùng máy tính muốn góp phần thực hiện nhanh chóng công việc và đem lại kết quả tốt cho mình Một khía cạnh khác, hiện nay sinh viên muốn có một công cụ hỗ trợ trong môn Tin học lý thuyết dành... tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB ra các lập trình viên cũng có thể sử dụng cơ chế quản lý code bên trong để thao tác với lớp trình bày .Net Frame work for Silverlight: Mô tả Hỗ trợ ngôn ngữ truy vấn tích hợp (LINQ) và LINQ với đặc tả XML, dễ dang xử lý việc tích hợp và làm việc với dữ liệu Data từ nhiều nguồn khác nhau Hỗ trợ việc sử dụng XML và các lớp... công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB 4.2 Các công nghệ và công cụ liên quan của Silverlight - Microsoft Expression Blend: Sử dụng công cụ này bạn bạn có thể tạo và thay đổi cách xắp xếp trình bày Layer của ứng dụng bằng cách thao tác đến canvas và control trong XAML, làm việc với các chức năng đồ họa, Lập trình với ngôn ngữ Javascript - Visual Studio 2010: Visual Studio cung cấp các công. .. chúng ta cần tập hợp đƣợc những kỹ năng sau: - Kết nối tới một WCF Web Service - Sử dụng LINQ để truy vấn và trả về dữ liệu - Sử dụng Control DataGrid/ListBox để hiển thị dữ liệu GVHD: Ths.Lâm Hoài Bảo Trang 22 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB CHƢƠNG III: CƠ SỞ LÝ THUYẾT I BỔ TÚC TOÁN 1.1 .Tập hợp (Sets)... 000, } 2.1.4 Các phép toán trên ngôn ngữ GVHD: Ths.Lâm Hoài Bảo Trang 29 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB Từ các ngôn ngữ có trƣớc, ta có thể thu đƣợc các ngôn ngữ mới nhờ áp dụng các phép toán trên ngôn ngữ Trƣớc hết, vì ngôn ngữ là một tập hợp, nên mọi phép toán trên tập hợp nhƣ: hợp (union),... Ths.Lâm Hoài Bảo Trang 23 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB Thì 2A = { ∅, {1 }, {2 }, {3}, {1, 2}, {2, 3}, {3, 1}, {1, 2, 3} } 1.1.2 Các phép toán trên tập hợp Các toán tử cơ bản trên tập hợp bao gồm các toán tử một ngôi (unary) và hai ngôi (binary) nhƣ sau : 1) Phép phần bù (complement) : A' = {x... các mô hình - Cài đặt các phần mềm hỗ trợ cho việc lập trình: Silverlight 4, Visual Studio 2010, MS SQL 2008 GVHD: Ths.Lâm Hoài Bảo Trang 11 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB CHƢƠNG II: SILVERLIGHT I SILVERLIGHT LÀ GÌ? Silverlight là một dạng plug-in dựa trên công nghệ của Microsoft Net, nó độc... dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB L không là quan hệ phản xạ trên S vì (0, 0) ∉ L, nhƣng E và P là 2 quan hệ mang tính phản xạ L không là quan hệ đối xứng trên S vì (0, 1) ∈ L nhƣng (1, 0) ∉ L, tuy nhiên cả E và P đều mang tính đối xứng Cả L, E và P đều là các quan hệ mang tính bắc cầu, nhƣng X = {(1, 0),(0, 3)} thì không vì (1, 3) ∉ X 1.2.1 Quan hệ tƣơng đƣơng Một quan hệ R trên. .. {(1, 2), (2, 2), (2, 3)} trên tập hợp S = {1, 2, 3} Khi đó ta có : R+ = {(1, 2), (2, 2), (2, 3), (1, 3)} R* = {(1, 1), (1, 2), (1, 3), (2, 2), (2, 3), (3, 3)} GVHD: Ths.Lâm Hoài Bảo Trang 25 SVTH: Phạm Ngũ Linh 1091501 Nguyễn Văn Út 1091555 Luận văn tốt nghiệp Đề tài: ―Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết trên WEB 1.3 Phép chứng minh quy nạp Phần lớn các định lý trong giáo trình sẽ đƣợc ... học tập, mà cụ thể cần công cụ để chuyển đổi kiểm tra kiến thức nhƣ tập môn Tin học Lý thuyết Nắm bắt đƣợc vấn đề nên chúng em tiến hành “Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết Web ... kế công cụ hỗ trợ Wed sử dụng Silverlight Để thực tốt dự định tiến hành thực đề tài “Xây dựng công cụ hỗ trợ học tập Tin học Lý Thuyết Web Nội dung đề tài nêu lên phần Lý thuyết môn Tin học Lý. .. công cụ hỗ trợ học tập Tin học Lý Thuyết WEB TÓM TẮT, ABSTRACT, TỪ KHÓA I TÓM TẮT Đa số tình hình sinh viên nay, đặc biệt sinh viên ngành Công nghệ thông tin cần có công cụ hỗ trợ cho việc học

Ngày đăng: 16/11/2015, 15:23

Xem thêm: công cụ hỗ trợ học tập tin học lý thuyết trên web

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w