Tìm hiểu ngôn ngữ lập trình swi prolog và xây dựng ứng dụng với các thư viện quản lý cơ sở dữ liệu, thư viện web

69 45 1
Tìm hiểu ngôn ngữ lập trình swi prolog và xây dựng ứng dụng với các thư viện quản lý cơ sở dữ liệu, thư viện web

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC VINH NGUYỄN VĂN TỒN TÌM HIỂU NGƠN NGỮ LẬP TRÌNH SWI-PROLOG VÀ XÂY DỰNG ỨNG DỤNG VỚI CÁC THƢ VIỆN QUẢN LÝ CƠ SỞ DỮ LIỆU, THƢ VIỆN WEB LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Vĩnh Long, Năm 2018 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC VINH NGUYỄN VĂN TỒN TÌM HIỂU NGƠN NGỮ LẬP TRÌNH SWI-PROLOG VÀ XÂY DỰNG ỨNG DỤNG VỚI CÁC THƢ VIỆN QUẢN LÝ CƠ SỞ DỮ LIỆU, THƢ VIỆN WEB Chuyên ngành: CÔNG NGHỆ THÔNG TIN Mã số: 08.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Ngƣời hƣớng dẫn khoa học: TS.Nguyễn Ngọc Hiếu Vĩnh Long, Năm 2018 LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu riêng hướng dẫn khoa học giảng viên TS Nguyễn Ngọc Hiếu Các kết nêu luận văn trung thực, có nguồn gốc rõ ràng, trích dẫn đầy đủ chưa cơng bố cơng trình khoa học Vĩnh Long, ngày tháng năm 2018 Tác giả luận văn Nguyễn Văn Toàn LỜI CẢM ƠN Luận văn hoàn thành hướng dẫn giảng viên TS Nguyễn Ngọc Hiếu, Giám đốc trung tâm đảm bảo chất lượng trường Đại học Vinh Tơi xin bày tỏ lịng biết ơn sâu sắc đến giảng viên định hướng đề tài, chấp thuận hướng dẫn khoa học, quan tâm, tận tình hướng dẫn cho từ ý tưởng đề cương, phương pháp giải vấn đề đến việc tạo điều kiện tốt để thực luận văn Tôi xin gửi lời cảm ơn đến quý thầy, cô giảng viên viện Kỹ thuật Công nghệ trường Đại học Vinh, giảng viên trực tiếp giảng dạy số mơn q trình học truyền đạt kiến thức cung cấp nguồn tư liệu q báu cho tơi suốt q trình học tập nghiên cứu; quý thầy cô giáo, cán phòng đào tạo Sau Đại học, đơn vị trực thuộc trường Đại học Vinh tạo điều kiện cho tơi học tập hồn thành khóa học Nhân tơi xin dành tình cảm lời cảm ơn chân thành đến Ban giám hiệu trường Đại học Sư phạm Kỹ thuật Vĩnh Long tạo điều kiện thuận lợi để học viên sau đại trường Đại học Vinh khóa K24 mở Vĩnh Long có sở vật chất học tập hồn thành tốt luận văn Tơi xin bày tỏ lịng biết ơn đến người thân gia đình, bạn bè đồng nghiệp động viên, giúp đỡ tạo điều kiện thuận lợi để tơi hồn thành khóa học luận văn Vĩnh Long, ngày tháng năm 2018 Học viên Nguyễn Văn Toàn i MỤC LỤC Trang TRANG PHỤ BÌA LỜI CAM ĐOAN LỜI CẢM ƠN DANH MỤC CÁC THUẬT NGỮ i DANH MỤC CÁC KÝ HIỆU ii CÁC CHỮ VIẾT TẮT iii DANH MỤC CÁC HÌNH VẼ iv MỞ ĐẦU 1 Sự cần thiết vấn đề nghiên cứu Mục tiêu nhiệm vụ nghiên cứu Đối tượng phạm vi nghiên cứu Nội dung nghiên cứu Kết cấu luận văn CHƢƠNG TỔNG QUAN VỀ LẬP TRÌNH LOGIC 1.1 Tổng quan 1.2 Logic Mệnh đề 1.3 Logic Vị từ 11 1.4 Ngôn ngữ lập trình logic Prolog (SWI-Prolog) 15 1.5 Cơ chế tìm câu trả lời Prolog 22 1.6 Kỹ thuật lập trình ngắc Prolog 24 1.7 Lập trình đệ quy Prolog 26 1.8 Cấu trúc liệu danh sách Prolog 26 CHƢƠNG 29 NGƠN NGỮ LẬP TRÌNH SWI - PROLOG VỚI CÁC THƢ VIỆN QUẢN LÝ CSDL, LẬP TRÌNH WEB 29 2.1 SWI-Prolog ODBC Interface 30 2.2 SWI-Prolog HTTP 34 CHƢƠNG 44 XÂY DỰNG ỨNG DỤNG “XÉT TẶNG HUY HIỆU ĐẢNG THƢỜNG NIÊN CHO ĐẢNG VIÊN TỈNH VĨNH LONG” 44 3.1 Kết nối với CSDL đảng viên có sẵn 45 3.2 Xây dựng chương trình 47 3.3 Kết xuất liệu 51 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 PHỤ LỤC 58 i DANH MỤC CÁC THUẬT NGỮ Chương trình logic Logic program Lập trình logic Logic programming Mệnh đề Clause Nguyên tố Atom Quy tắc hay Luật Rule Sự kiện Fact Vị từ Predicate ii DANH MỤC CÁC KÝ HIỆU ∧ Và (phép hội logic) ∨ Hoặc (phép tuyển logic) ¬ Phủ định  Kéo theo  Tương đương ∀ Với ∃ Tồn iii CÁC CHỮ VIẾT TẮT KB Knowledge base DSN Data source name ODBC Open Database Connectivity SQL Structured Query Language HTTP HyperText Transfer Protocol HTML HyperText Markup Language URL Uniform Resource Locator CSDL Cơ sở liệu iv DANH MỤC CÁC HÌNH VẼ Số hiệu hình vẽ Tên hình vẽ Trang H 1.1 Chương trình SWI-Prolog 15 H 1.2 Cây biểu diễn đối tượng liệu 19 H 1.3 Cấu trúc kiểu ngày, tháng, năm (date) 21 H.2.1 Mơ hình kết nối ODBC 29 H.2.2 Mơ hình Web Server 30 H2.10 Khởi động web server 35 H2.11 Tắt web server 35 H.2.12 Duyệt tài liệu HTML SWI-Prolog 38 H.2.13 Duyệt tài liệu HTML trình duyệt web 38 H.2.14 Form nhập liệu từ người dùng 41 H.2.15 Người dùng nhập hiển thị kết 41 H.3.1 Giao diện phát thảo 43 H.3.2 Kết nối DSN tên MSSQL_Prolog 44 H.3.3 Giao diện chương trình 50 H.3.4 Thêm đảng viên 51 H.3.5 Xét huy hiệu đảng 51 MỞ ĐẦU Sự cần thiết vấn đề nghiên cứu Ngơn ngữ lập trình Prolog ngơn ngữ sử dụng phổ biến dịng ngơn ngữ lập trình logic, sử dụng lĩnh vực trí tuệ nhân tạo Nguyên lý lập trình logic dựa mệnh đề Horn Một công cụ để lập trình Prolog phần mềm SWI-Prolog, đời từ năm 1987 sử dụng để phát triển nhiều ứng dụng thực tế, cịn sử dụng rộng rãi cho việc nghiên cứu giáo dục phát triển ứng dụng thương mại, có nhiều người cài đặt sử dụng SWI-Prolog cung cấp giao diện tảng C nên giúp cho giao tiếp với ngơn ngữ lập trình cấp cao khác cách dễ dàng C++, Java, C#, Python,… SWI-Prolog trang bị nhiều thư viện khác Web Server để trả yêu cầu thông qua cấu trúc HTML, CSS, JavaScript cho người dùng cuối SWI-Prolog sử dụng viết cho ứng dụng thực tế có thay đổi trạng thái, việc thay đổi, trò chơi mạo hiểm, mạnh mẽ việc tạo sở tri thức xử lý tri thức Trong năm qua Đảng Nhà nước ban hành nhiều Nghị quyết, Thông tư, Hướng dẫn ứng dụng công nghệ thông tin công tác quản lý, điều hành máy hoạt động quan Đảng, Nhà nước; phát triển kinh tế văn hóa xã hội, giáo dục, quốc phòng an ninh,… Thực chủ trương Vĩnh Long bước xây dựng thực dự án đáp ứng yêu cầu, đạt nhiều kết nhiều lĩnh vực nông nghiệp, giáo dục, y tế, giao thơng, thủ tục hành xử lý, tra cứu thông tin cho người dân, doanh nghiệp đáp ứng kịp thời Tại đơn vị ứng dụng công nghệ thông tin giúp cán bộ, công chức đơn vị tham mưu cho lãnh đạo thực lãnh đạo, điều hành tỉnh đạt kết tốt; xây dựng phần mềm, CSDL đảm bảo cho hoạt động Tuy 46 Lưu ý: phần cần lưu ý chọn Hệ quản trị CSDL cần truy cập, nhập tên mật có quyền đăng nhập, quản lý CSDL Ví dụ tạo thành công kết nối DSN với tên MSSQL_Prolog 3.1.2 Truy vấn liệu Phần tiến hành xây dựng sẵn số truy vấn trực tiếp Hệ quản trị CSDL SQL Server - Thủ tục xét huy hiệu đảng: USE [DANGVIEN] GO /****** Object: StoredProcedure [dbo].[XetHuyHieuDang] Script Date: 05/11/2018 15:28:54 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[XetHuyHieuDang] @Loai int, @Dot nvarchar(3) AS BEGIN TRANSACTION IF @Dot='32' select hoten,ngayvd from SOYEU where right(NGAYVD,6)= '01' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '02' +LTRIM( str(year(GETDATE())-@Loai)) or right(NGAYVD,6)= '03' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '04' +LTRIM( str( year(GETDATE())-@Loai)) ELSE IF @Dot='195' 47 select hoten,ngayvd from SOYEU where right(NGAYVD,6)= '05' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '06' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '07' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '08' +LTRIM( str( year(GETDATE())-@Loai)) ELSE IF @Dot='29' select hoten,ngayvd from SOYEU where right(NGAYVD,6)= '09' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '10' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '11' +LTRIM( str( year(GETDATE())-@Loai))or right(NGAYVD,6)= '12' +LTRIM( str( year(GETDATE())-@Loai)) IF(@@ERROR 0) begin RAISERROR 130045 'Cap nhat khong cong!' ROLLBACK TRANSACTION end commit transaction 3.2 Xây dựng chương trình Trong phần ta xây dựng thành phần để tạo nên chương trình quản lý đảng viên nhiệm vụ cụ thể xác định thành phần có chương trình như: sử dụng thư viện ngơn ngữ lập trình, kết nối, 3.2.1 Tạo đối tượng - Đối tượng cần xây dựng tạo tập tin chương trình lưu dạng ngơn ngữ lập trình SWI-Prolog - Trong chương trình cần sử dụng thư viện cụ thể sau: 48 :use_module(library(http/thread_httpd)) :use_module(library(http/http_dispatch)) :- use_module(library(http/html_write)) :use_module(library(http/http_parameters)) :- use_module(library(odbc)) - Cần tạo các khuôn dạng (style text/css) cho giao diện chương trình cách bố trí, màu sắc, kiểu chữ, - Sử dụng kết nối ODBC để liên kết chương trình sở liệu ta sử dụng DSN kết nối sẵn MSSQL_Prolog 3.2.2 Xây dựng mệnh đề Các mệnh đề, luật xây dựng cụ thể sau: - Sử dụng vị từ http_server/2 dùng để khởi động ứng dụng web server chương trình hồn chỉnh để đưa vào vận hành, phục vụ yêu cầu truy xuất người dùng :- http_server(http_dispatch, [port(8080)]) - Các vị từ http_handler/3 dùng để quản lý điều khiển liên kết trang với theo đường dẫn định :- http_handler(/, index, []) :- http_handler('/themmoi', themmoi, []) :- http_handler('/dieuchinh', dieuchinh', []) :xetHuyhieu, []) http_handler('/xetHuyhieu', 49 :- http_handler('/dsDangvien', dsDangvien', []) :- http_handler('/dsNghihuu', dsNghihuu', []) :- http_handler('/napCSTT', nap_CSTT, []) - Vị từ open_prologDV/0 vị từ dùng để mở kết nối CSDL thông qua chuẩn kết nối ODBC Microsoft sử dụng DSN MSSQL_Prolog định bí danh (alias) prologDV open_prologDV:odbc_connect('MSSQL_Prolog', _, [ user('sa'), password('Admin@123'), alias(prologDV), open(once) ]), odbc_set_connection(prologDV, encoding(unicode)) Và số vị từ chức chương trình là: - index/1 trang chương trình - themmoi/1 dùng để thêm cán đảng viên - dieuchinh/1 dùng để cập nhật lại thông tin đảng viên - dsDangvien/1 dùng để in danh sách đảng viên - xetHuyhieu/1 vị từ dùng để kiểm tra việc xét tặng huy hiệu cho đảng viên tỉnh in danh sách người xét tặng hinh - dsNghihuu/1 dùng để in danh sách đảng viên nghỉ hưu năm 50 - nap_CSTT/1 dùng để đọc liệu đảng viên từ CSDL Microsoft SQL chuyển cho vị từ nap_CSAI/1 để xử lý đưa vào sở tri thức nap_CSTT(_Request):Str='SELECT HOTEN, SINHNGAY, DIACHI, NGAYVD FROM [DANGVIEN].[dbo].[SOYEU]', odbc_query(prologDV,Str,X,[findall([E,F,G,H], row(E,F,G,H))]), nap_CSAI(X) - nap_CSAI/1 nap_CSAI(A):[X|Z] =A, [C1,C2,C3,C4]=X, assert(dangvien(C1,C2,C3,C4)), nap_CSAI(Z) 3.2.3 Xử lý xét tặng huy hiệu Trong phần việc xét tặng huy hiệu đảng thường niên sử dụng thủ tục (Stored Procedure) để xử lý thông tin trả kết thông qua vị từ xây dựng ngôn ngữ SWI-Prolog Quy cách để xét tặng huy hiệu đảng dự ngày vào đảng đảng viên chủ yếu dựa theo quy định loại huy hiệu đợt xét huy hiệu Đợt xét huy hiệu thường chi làm 03 đợt: đợt tháng 2, đợt 19 tháng đợt tháng năm Loại huy hiệu đảng gồm có loại huy hiệu: 30 năm tuổi đảng, 40 năm tuổi đảng, 45 năm tuổi đảng, 50 năm tuổi đảng, 55 năm tuổi đảng, 60 năm tuổi đảng, 65 năm tuổi đảng 70 năm tuổi đảng Trong chương trình chức xét huy hiệu sử dụng vị từ truy vấn để gọi thủ tục thực việc xét tặng odbc_query/4 sau: 51 ( Loai = [] -> true ; ( [A]=Loai, [B]=Dot, string_concat(A,",",C), string_concat(C,B,D), string_concat("XetHuyHieuDang ",D,Str), odbc_query(prologDV,Str,X,[findall([E,F,G,H], row(E,F,G,H))]), in_dong_bang(X)) ) Việc xét tặng nhận thông tin đợt xét loại huy hiệu người dùng lựa chọn theo quy định mà chương trình thiết lập sẵn Sau người dùng chọn lựa loại huy hiệu đợt xét, người dùng chọn thực thi việc xét tặng thông qua nút lệnh Xét tặng chương trình kiểm tra Loại huy hiệu có chọn hay chưa chưa chương trình ngưng để chờ nhập thơng tin; có tiến hành xét trả danh sách đảng viên đạt yêu cầu 3.3 Kết xuất liệu Gai diện chương trình chạy mơt số chức chạy thử: - Giao diện chính: 52 H.3.3 Giao diện chương trình - Các chức năng: H.3.4 Thêm đảng viên 53 H.3.5 Xét huy hiệu đảng 3.3.1 Tạo giao diện web Về giao diện chương trình trang thiết lập, cài đặt khn dạng thẻ định dạng html có thư viện library(http/html_write) sử dụng vị từ reply_html_page/3 để tiến hành cài đặt cho trang Trong thư viện thẻ html truyền thống SWI-Prolog định nghĩa vị từ So sách cụ thể sau: STT Dạnh chuẩn HTML Vị từ SWI-Prolog div() a() b() table() form() … … … 54 Ví dụ: Dưới danh sách thực làm menu gồm vị từ SWI-Prolog hay gọi thẻ theo định dạng trang html: ul(), li(), a(),… ul('class="menu"', [ li(a('href="/"',"Trang ch\x1EE7")), li('class="drop-down"', [ a('href="#"',"C\x1EADp nh\x1EADt \x111 \x1EA3ng vi\xEAn"), ul('class="hidden"', [li(a('href="themmoi"',"Th\xEAm m\x1EDBi")), li(a('href="dieuchinh"',"\x110i\x1EC1u ch\x1EC9nh")) ] ) ] ), li('class="drop-down"', [ a('href="#"',"Th\x1ED1ng k\xEA b\xE1o c\xE1o"), ul('class="hidden"', [li(a('href="xetHuyhieu"',"X\xE9t huy hi\x1EC7u")), li(a('href="dsDangvien"',"DS \x110 \x1EA3ng vi\xEAn")), li(a('href="dsNghihuu"',"DS Ngh\x1EC9 h\x1B0u")), li(a('href="#"'," ")) ] 55 ) ] ), Mỗi trang định dạng chia đến phần riêng biệt vị từ div() định dạng giúp giao diện dễ nhìn, bố trí tùy theo ý quản lý dễ dàng (phần đầu trang (Baner, Logo), thực đơn (Menu bar), thân (Body) form xử lý) Cách thức truyền nhận thông tin với máy chủ Web phần hành động (action) form sử dụng phương thức post form('method="post" action="themmoi"', … ) 3.3.2 Có thể ghi nhận CSDL Microsoft SQL Trong kỹ thuật lập trình việc ghi nhận lại công việc thực ngày cần thiết (ghi log) để hệ thống phục vụ tốt rõ ràng vấn đề quản lý Công tác tùy thuộc vào cách lựa chọn nhà lập trình mà có nhiều cách lựa chọn khác nhau: ghi tập tin, CSDL,… Ở để ghi nhận lại đợt xét tặng huy hiệu CSDL Microsoft SQL ta sử dụng câu truy vấn thêm (Insert) để ghi nhận lại đợt xét tặng 56 KẾT LUẬN Luận văn tập trung nghiên cứu ngôn ngữ lập trình SWI-Prolog, tìm hiểu thư viện ngơn ngữ kết nối CSDL quan hệ thư viện lập trình web Server - Client Các kết mà luận văn đạt được: Tìm hiểu khái quát logic lập trình logic mà ngơn ngữ lập trình logic SWI-Prolog áp dụng để xây dựng nên ngôn ngữ lập trình Tìm hiểu phương thức kết nối liệu từ ngôn ngữ SWI-Prolog với CSDL quan hệ thông quan chuẩn kết nối ODBC Microsoft Tìm hiểu cách thức xây dựng chương trình web Server - Client có sử dụng CSDL quan hệ để phục vụ truy xuất liệu Xây dựng chương trình web Server - Client đơn giản quản lý đảng viên Chương trình đáp ứng số chức để truy vấn hiển thị liệu lên giao diện web cho người dùng cuối Hƣớng phát triển luận văn: Nghiên cứu sử dụng CSDL quan hệ có sẵn để đưa hệ sở tri thức phục vụ mơ hình ngữ nghĩa tốn lập luận Nghiên cứu ngôn ngữ SWI-Prolog xử lý mã Unicode hiển thị, tạo sở tri thức tiếng Việt người Việt sử dụng tốt Nghiên cứu phát triển mơ hình web Server - Client để tạo mơ hình quản lý thông tin cá nhân, tổ chức đơn giản mà tạo cho riêng SWI-Prolog 57 TÀI LIỆU THAM KHẢO Tài liệu tiếng việt [1] Quy định số 09-QĐ/TW, ngày 25/7/2016 Ban chấp hành Trung ương thi hành Điều lệ Đảng [2] Hướng dẫn số 01-HD/TW, ngày 20/9/2016 Ban chấp hành Trung ương hướng dẫn số vấn đề cụ thể thi hành Điều lệ Đảng [3] Hướng dẫn số 09-HD/BTCTW, ngày 05/6/2017 Ban Tổ chức Trung ương Hướng dẫn nghiệp vụ công tác đảng viên [4] Nguyễn Ngọc Hiếu, Bài giảng TRÍ TUỆ NHÂN TẠO, trang 143 – 205 [5] Phạm Thọ Hoàn, Phạm Thị Anh Lê (2011) Giáo trình TRÍ TUỆ NHÂN TẠO, trang 55-106 Tài liệu tiếng anh [6] JAN WIELEMAKER, TOM SCHRIJVERS, MARKUS TRISKA, TORBJӦRN LAGER, SWI-Prolog, Under consideration for publication in Theory and Practice of Logic Programming 1, submitted 5th October 2009; revised 24th February 2010; accepted 22nd November 2010 [7] www.swi-prolog.org, Documentation package SWI-Prolog ODBC Interface [8] www.swi-prolog.org, Documentation package SWI-Prolog HTTP support [9] http://www.pathwayslms.com/swipltuts/html [10] https://swish.swi-prolog.org/ [11] https://stackoverflow.com/ [12] http://www.learnprolognow.org/ 58 PHỤ LỤC Khởi động chương trình sử dụng chương trình Khởi động: nhấp đơi chuột vào fiele chương trình qldv.pl Giao diện chương trình Code chức xét huy hiệu đảng sở tri thức ( Loai = [] -> true ;( [L]=Loai, atom_number(L,Lo), Do loại chưa phải số [Do]=Dot, lay_NgThNam(year,Y), X is Y-Lo, string_concat('01',X,T1), string_concat('02',X,T2), string_concat('03',X,T3), 59 string_concat('04',X,T4), string_concat('05',X,T5), string_concat('06',X,T6), string_concat('07',X,T7), string_concat('08',X,T8), string_concat('09',X,T9), string_concat('10',X,T10), string_concat('11',X,T11), string_concat('12',X,T12), ( Do='32' -> ( findall([A,B,C,D],((dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T1);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T2);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T3);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T4)),List), atom_codes(DOT_XETTT,[32, 273, 7907, 116, 32, 51, 32, 116, 104, 225, 110, 103, 32, 50])); Do='195' -> ( findall([A,B,C,D],((dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T5);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T6);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T7);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T8)),List), 60 atom_codes(DOT_XETTT,[32, 273, 7907, 116, 32, 49, 57, 32, 116, 104, 225, 110, 103, 32, 53])); Do='29' -> ( findall([A,B,C,D],((dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T9);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T10);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T11);(dangvien(A,B,C,D),sub_atom(D, 2, 6, 0, S), atom_string(S,Z),Z==T12)),List), atom_codes(DOT_XETTT,[32, 273, 7907, 116, 32, 50, 32, 116, 104, 225, 110, 103, 32, 57]))), ... NGỮ LẬP TRÌNH SWI - PROLOG VỚI CÁC THƢ VIỆN QUẢN LÝ CSDL, LẬP TRÌNH WEB Trong chương tìm hiểu số thư viện giúp cho ngơn ngữ lập trình SWI- Prolog trở nên thân thiện, chun nghiệp Ngơn ngữ lập trình. ..BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC VINH NGUYỄN VĂN TỒN TÌM HIỂU NGƠN NGỮ LẬP TRÌNH SWI- PROLOG VÀ XÂY DỰNG ỨNG DỤNG VỚI CÁC THƢ VIỆN QUẢN LÝ CƠ SỞ DỮ LIỆU, THƢ VIỆN WEB Chuyên ngành:... viên tỉnh” Nhằm đáp ứng yêu cầu trên, em xin chọn đề tài: ? ?Tìm hiểu ngơn ngữ lập trình SWI- Prolog xây dựng ứng dụng với thƣ viện quản lý sở liệu, thƣ viện web? ?? đề tài xây dựng giúp phận chuyên

Ngày đăng: 01/08/2021, 11:43

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan