1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Tiểu luận) xây dựng ứng dụng wep truy vấn quản lý bán laptop kết hợp giải thuật bfs ids

36 15 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

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Web Truy Vấn Quản Lí Bán Laptop Kết Hợp Giải Thuật BFS, IDS
Tác giả Phạm Quang Tiệp
Người hướng dẫn Nguyễn Mai Trang
Trường học Học viện công nghệ bưu chính viễn thông
Chuyên ngành Công nghệ thông tin
Thể loại báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 36
Dung lượng 2,88 MB

Nội dung

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA CƠNG NGHỆ THÔNG TIN  BÁO CÁO BÀI TẬP LỚN MÔN HỌC: THC TẬP CƠ S ĐỀ TÀI: XÂY DNG NG DNG WEB TRUY VN QUẢN LÍ BÁN LAPTOP KT HP GIẢI THUẬT BFS, IDS Ging viên ging dy: Nguyn Mai Trang Nhóm lp thc tp: INT13147 Nhóm 21 Ngưi thc hin: Phm Quang Tip M sinh viên: B20DCCN601 Lp: D20CQCN01-B Hà Nội, 2023 LỜI CẢM ƠN Đầu tiên, em xin gửi lời cảm ơn sâu sắc đến Học viện nghệ Bưu Viễn thơng khoa CNTT1 đưa môn học Thc tp s vào chương trình giảng dạy Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến giảng viên môn Nguyễn Mai Trang gip đ, rèn luyện truyền đạt kiến thức quý báu cho em suốt thời gian vừa qua Trong thời gian thc , em rt kinh nghiệm thêm nhiều kiến thức bổ ích, học tp tinh thần làm việc hiệu quả, nghiêm tc Đây thc điều cần thiết cho q trình học tp cơng tác sau em Thêm vào đó, em thc đề tài tp lớn hoàn chỉnh cho môn học này, cn đơn giản cn nhiều hạn chế, em s cố gắng đ d án sau ngày chu hoàn chỉnh Em xin chân thành cảm ơn, chc cô khe mạnh tiếp tc đạt nhiều thành công sống ạ! Mc lc PHN I: Cơ s liệu Hệ quản tr s liệu Mô tả s liệu sử dng Phần II: 4 1.Thut toán BFS Thut toán IDS IV Kiến trc hệ thống chương trình PH LC I Code web trang chủ II Code web lý thuyết III Code web lý thuyết BFS IV Code web lý thuyết IDS V Code web thut toán BFS VI Code web thut toán IDS 14 21 22 22 23 25 27 28 32 PHN I: Cơ s d liu - Cơ s liệu (Database) tp hợp liệu có tổ chức lưu trữ máy tính hệ thống lưu trữ khác Nó bao gồm thông tin, liệu mô tả đối tượng s kiện hệ thống tổ chức c th Các liệu tổ chức lưu trữ s liệu đ cho phép ứng dng người dùng khác truy cp sử dng chng dễ dàng - Cơ s liệu thường tổ chức thiết kế đ đáp ứng yêu cầu mc đích khác nhau, chẳng hạn lưu trữ thông tin sản phẩm, thông tin khách hàng, thông tin tài khoản ngân hàng, thông tin nhân viên, Các s liệu có th lưu trữ máy tính cá nhân, máy chủ đám mây H qun tr s d liu -Hệ quản tr s liệu (DBMS) gói phần mềm dùng đ xác đnh, thao tác truy xuất quản lý liệu Hệ quản tr thường s thao tác với liệu DBMS Ví d như: đnh dạng liệu, tên file, cấu trc record cấu trc file Ngoài ra, hệ quản tr s gip xác đnh quy tắc nhằm xác thc thao tác với liệu - Hệ quản tr s liệu có chức sau: + Chức quản lý liệu + Chức kim soát truy cp nhiều người dùng + Chức chuyn đổi trình bày liệu + Chức quản lý tình tồn vẹn liệu + Chức quản lý bảo mt + Quản lý lưu trữ liệu Mô t s d liu s dng - Cơ s liệu quản lý cửa hàng bán laptop sử dng hệ quản tr s liệu SQL Server - Các bảng: + Bảng nhân viên: Nhan_vien + Bảng sản phẩm: San_pham +Bảng giao dch: Giao_dich - Bảng nhân viên: STT Tên thuộc tính Kiu liệu Ràng buộc Khóa Mơ tả NV_ID nvarchar(50) Not null Chín Mã nhân viên Name nvarchar(50) Not null Tên nhân viên Gioi_Tinh nvarchar(50) Not null Giới tính Que_Quan nvarchar(10 Not null Quê quán Not null Lương h 0) Luong int Chuc_Vu nvarchar(50) Not null Chức v Ngay_Sinh nvarchar(50) Note Null Ngày sinh - Bảng sản phẩm STT Tên thuộc tính Kiu liệu nvarchar(50) Not null SP_ID Ràng buộc Khóa Chín Mơ tả Mã sản phẩm h Ten_SP nvarchar(100 Not null Tên sản phẩm ) Hang_San_Xu nvarchar(50) Not null Hãng sản xuất int Giá sản phẩm at Gia_SP Not null - Bảng giao dch STT Tên thuộc tính Kiu liệu nvarchar(50) Not null Sale_ID Ràng buộc Khóa Mơ tả Chín Mã giao dch h SP_ID nvarchar(50) Not null NV_ID nvarchar(50) Not null Ngoạ Mã sản phẩm i Ngoạ Mã nhân viên i thc giao dch So_Luong int Not null Số lượng bán giao dch Document continues below Discover more from: tập sở Thực LVK1911 Học viện Công ng… 148 documents Go to course Bài thực hành - Lê 23 Văn Kiên -… Thực tập sở 100% (3) De giua ki toan 10 nam 2022 2023… Thực tập sở 100% (3) bao cao bai tap lon 19 windows va linux Thực tập sở 100% (2) Bài thực hành - Lê 12 16 Văn Kiên -… Thực tập sở 100% (1) Bài thực hành - Lê Văn Kiên -… Thực tập sở 100% (1) B18DCQT017 Báo- Thiết kế hệ quản tr s liệu 46 cáo-thực-tập-tốt-… Thực tập sở 100% (1) Thit k h qun tr s d liu - Mơ hình quan hệ RDM Mơ hnh quan h RDM Phn II: 1.Thut ton BFS a L thuyt - Thut tốn tìm kiếm theo chiều rộng (thường gọi BFS - Breadth-First Search) thut toán duyệt gốc, sau xét qua node theo ưu tiên độ sâu từ nh đến lớn - Ban đầu, đỉnh gốc đưa vào hàng đợi (queue) Sau đó, thut tốn s lấy đỉnh gốc khi hàng đợi, khám phá đỉnh kề đưa đỉnh kề vào hàng đợi Quá trình tiếp tc hàng đợi trống - Thut tốn: BFS(Q,S,G,P) (Q:Khơng gian trạng thái, S: Trạng thái bắt đầu, G:Đích, P: Hành động) Đầu vào: Bài tốn tìm kiếm Đầu ra: Đường tới nt đích Khi tạo: tp nt biên O=S While (O≠ ∅) lấy nt n khi O if n ∈ G, return (đư󰉶ng t󰉵i n) thêm P(n) vo cu󰉯i O Return không tm đư󰉹c đư󰉶ng -VD: Thứ t duyệt : A, B, C, D, E, F nh chp mn hnh đnh ngha BFS b Thut ton Thut toán BFS hoạt động sau: - Trước tiên, code s xử lý liệu đầu vào Nó tách cạnh thành mảng xác đnh tp hợp đỉnh cạnh dạng mảng nh chp mn hnh test chy thut ton IDS IV Kin trc h thng chương trnh Sơ đ h thng chương trnh tng hp 21 PH LC I Code web trang ch Bo co TTCS /* CSS để trang tr giao diện */ body { font-family: Arial, sans-serif; text-align: center; padding-top: 100px; } h1 { color: #333; } h2 { color: #333; } links { margin-top: 20px; } links a { display: block; margin-bottom: 10px; color: #007bff; text-decoration: none; } Bo co Thc tp sở Phm Quang Tiệp - B20DCCN601 L thuyết Gii thut ton BFS Gii thut ton IDS 22 Bo co TTCS /* CSS để trang tr giao diện */ body { font-family: Arial, sans-serif; text-align: center; padding-top: 100px; } h1 { color: #333; } h2 { color: #333; } links { margin-top: 20px; } links a { display: block; margin-bottom: 10px; color: #007bff; text-decoration: none; } Bo co Thc tp sở Phm Quang Tiệp - B20DCCN601 L thuyết Gii thut ton BFS Gii thut ton IDS II Code web l thuyt 23 Thut ton body { font-family: Arial, sans-serif; margin: 0; padding: 0; } container { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; } label { font-size: 18px; margin-bottom: 10px; } input[type="text"] { padding: 8px; font-size: 16px; border: 1px solid #ccc; border-radius: 4px; width: 200px; max-width: 100%; margin-bottom: 10px; } button { padding: 10px 20px; font-size: 16px; background-color: #4CAF50; color: #fff; border: none; border-radius: 4px; cursor: pointer; } 24 button:hover { background-color: #45a049; } Nhp tên thut ton (BFS IDS): Submit function redirect() { var input = document.getElementById('input-text').value.toLowerCase(); if (input === 'bfs') { window.location.href = 'DNBFS.html'; } else if (input === 'ids') { window.location.href = 'DNIDS.html'; } else { alert('Vui lòng nhp "BFS" "IDS"'); } } III Code web l thuyt BFS Đnh nghĩa BFS body { font-family: Arial, sans-serif; margin: 0; padding: 0; } container { margin: 20px; } 25 h1 { font-size: 36px; margin-bottom: 20px; color: #333; text-align: center; } p { font-size: 20px; line-height: 1.5; margin-bottom: 20px; color: #555; } img { max-width: 100%; margin-bottom: 20px; display: block; margin-left: auto; margin-right: auto; } Đnh nghĩa BFS (Breadth-First Search)

- Thut ton tm kiếm theo chiu rng (thường gọi l BFS - Breadth-First Search) l mt thut ton duyệt bt đầu t gc, sau đ lần lưt xét qua cc node mt theo ưu tiên v đ sâu t nh đến ln - Ban đầu, đnh gc đưc đưa vo hng đi (queue) Sau đ, thut ton ly đnh gc khi hng đi, khm ph cc đnh k n v đưa cc đnh k ny vo hng đi Qu trnh ny tiếp tục hng đi trng

Qu trnh duyệt BFS đưc minh ho sau:

26 Trên đ th, BFS bt đầu t đnh gc (đnh m ta bt đầu duyệt) v duyệt qua tt c cc đnh k n Sau đ, BFS tiếp tục duyệt qua cc đnh k cc đnh đ duyệt, duyệt hết tt c cc đnh c thể

IV Code web l thuyt IDS Đnh nghĩa ISS body { font-family: Arial, sans-serif; margin: 0; padding: 0; } container { margin: 20px; } h1 { font-size: 36px; margin-bottom: 20px; color: #333; text-align: center; } p { font-size: 20px; line-height: 1.5; margin-bottom: 20px; color: #555; } img { max-width: 100%; margin-bottom: 20px; 27 display: block; margin-left: auto; margin-right: auto; } Đnh nghĩa IDS

- Thut ton IDS mở rng nt xa gc nht (sâu nht) ging DFS, không mở rng qu mt gii hn no đ - Gii hn đ sâu đưc tăng dần tm đưc lời gii

Quá trình duyệt IDS đưc minh ho sau:

Trên hnh, IDS bt đầu t đnh gc (đnh m ta bt đầu duyệt) v duyệt theo chiu sâu vi gii hn tăng dần t tm đưc đch

V Code web thut ton BFS Thut ton BFS body { font-family: Arial, sans-serif; margin: 20px; } h1 { 28 text-align: center; } form { text-align: center; } label { font-size: 18px; } input[type="text"] { width: 300px; padding: 8px; font-size: 16px; } input[type="submit"] { padding: 8px 16px; font-size: 16px; cursor: pointer; background-color: #4CAF50; color: #fff; border: none; border-radius: 4px; } input[type="submit"]:hover { background-color: #45a049; } #result { margin-top: 20px; text-align: center; font-size: 18px; } Thut ton BFS Nhp cc cnh (VD: "A-B,C-D,E-F"): Đnh bt đầu: Đnh kết thc: 29 document.getElementById('bfsForm').addEventListener('submit', function(event) { event.preventDefault(); var edgesInput = document.getElementById('edges').value; var startInput = document.getElementById('start').value; var endInput = document.getElementById('end').value; // Chuyển đổi cnh thnh mng cc cnh var edges = edgesInput.split(','); // Thc thut ton BFS v ly đường var path = bfs(edges, startInput, endInput); // Hiển th đường trang var resultElement = document.getElementById('result'); if (path.length > 0) { resultElement.textContent = 'Đường đi: ' + path.join(' -> '); } else { resultElement.textContent = 'Không tm thy đường đi.'; } }); function bfs(edges, start, end) { // Xây dng danh sch k t cc cnh var graph = buildGraph(edges); // To hng đi cho BFS var queue = []; queue.push([start]); // Theo di cc đnh đ thăm var visited = new Set(); visited.add(start); while (queue.length > 0) { var path = queue.shift(); var node = path[path.length - 1]; if (node === end) { return path; } // Ly cc đnh k đnh ti 30 var neighbors = graph[node]; for (var i = 0; i < neighbors.length; i++) { var neighbor = neighbors[i]; if (!visited.has(neighbor)) { // Đnh du đnh k l đ thăm visited.add(neighbor); // To mt đường mi v đưa vo hng đi var newPath = path.slice(); newPath.push(neighbor); queue.push(newPath); } } } // Không tm thy đường return []; } function buildGraph(edges) { var graph = {}; for (var i = 0; i < edges.length; i++) { var edge = edges[i].trim(); var nodes = edge.split('-'); var node1 = nodes[0]; var node2 = nodes[1]; if (!graph[node1]) graph[node1] = } if (!graph[node2]) graph[node2] = } { []; { []; // Thêm cnh vo danh sch k graph[node1].push(node2); graph[node2].push(node1); } return graph; } 31 VI Code web thut ton IDS Duyệt thut ton IDS body { font-family: Arial, sans-serif; margin: 20px; } container { margin: auto; /* Căn gia theo chiu ngang */ max-width: 400px; /* Điu chnh kch thưc tùy  */ } label { font-size: 18px; margin-bottom: 10px; display: block; /* Hiển th nhn mt dòng */ } h1 { text-align: center; } form { text-align: center; } input[type="text"], input[type="number"] { padding: 8px; font-size: 16px; border: 1px solid #ccc; border-radius: 4px; width: 100%; margin-bottom: 10px; box-sizing: border-box; /* Đm bo kch thưc input bao gm c đường vin */ } 32 button { padding: 10px 20px; font-size: 16px; background-color: #4CAF50; color: #fff; border: none; border-radius: 4px; cursor: pointer; width: 100%; } button:hover { background-color: #45a049; } #result { margin-top: 20px; font-size: 18px; text-align: center; } Thut ton IDS Nhp cc cnh (VD: "A-B,C-D,E-F"): Đnh bt đầu: Đnh kết thc: Gii hn đ sâu: Duyệt IDS 33 document.getElementById('idsForm').addEventListener('submit', function(event) { event.preventDefault(); runIDS(); }); function runIDS() { var edgesInput = document.getElementById('edges').value; var startInput = document.getElementById('start').value; var goalInput = document.getElementById('goal').value; var depthInput = parseInt(document.getElementById('depth').value); // Chuyển đổi cnh thnh mng var edges = edgesInput.split(','); // To đ th t cc cnh var graph = {}; edges.forEach(function(edge) { var vertices = edge.split('-'); var vertex1 = vertices[0].trim(); var vertex2 = vertices[1].trim(); if (!graph[vertex1]) { graph[vertex1] = []; } if (!graph[vertex2]) { graph[vertex2] = []; } graph[vertex1].push(vertex2); graph[vertex2].push(vertex1); }); // Duyệt IDS var result = iterativeDeepeningSearch(graph, startInput, goalInput, depthInput); // Hiển th kết qu var resultElement = document.getElementById('result'); if (result) { resultElement.textContent = 'Đường đi: ' + result.join(' -> '); } else { resultElement.textContent = 'Tm không thy đường t đnh bt đầu đến đnh kết thc vi gii hn đ sâu đ cho.'; } 34 } // Thut ton IDS function iterativeDeepeningSearch(graph, start, goal, maxDepth) { for (var depth = 0; depth

Ngày đăng: 28/12/2023, 18:59

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

TÀI LIỆU LIÊN QUAN

w