BÀI THUYẾT TRÌNH CHƯƠNG 4 CẤU TRÚC DANH SÁCH TRONG NGÔN NGỮ LẬP TRÌNH PROLOG

18 0 0
BÀI THUYẾT TRÌNH CHƯƠNG  4 CẤU TRÚC DANH SÁCH TRONG NGÔN NGỮ LẬP TRÌNH PROLOG

Đ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

PowerPoint Presentation TRƯỜNG ĐẠI HỌC GTVT TP HỒ CHÍ MINH BÀI THUYẾT TRÌNH CHƯƠNG 4 LÝ THUYẾT LIÊN QUAN ĐẾN CÁC BÀI TẬP CHƯƠNG 4 TP Hồ Chí Minh, Ngày 16 tháng 03 năm 2023 Sinh viên thực hiện Nguyễn D.

TRƯỜNG ĐẠI HỌC GTVT TP HỒ CHÍ MINH BÀI THUYẾT TRÌNH CHƯƠNG 4: LÝ THUYẾT LIÊN QUAN ĐẾN CÁC BÀI TẬP CHƯƠNG Sinh viên thực hiện: Nguyễn Duy Quốc Thái Nguyễn Thanh Lưu Giáo viên hướng dẫn: TS Phan Văn Đức TP Hồ Chí Minh, Ngày 16 tháng 03 năm 2023 NỘI DUNG THUYẾT TRÌNH LÝ THUYẾT CHƯƠNG BÀI TẬP BÀI TẬP BÀI TẬP LÝ THUYẾT CHƯƠNG 1.1 BIỂU DIỄN CẤU TRÚC DANH SÁCH  Danh sách kiểu cấu trúc liệu sử dụng rộng rãi ngơn ngữ lập trình phi số • Một danh sách dãy đối tượng, khác với kiểu liệu tập hợp, liệu danh sách trùng • (xuất nhiều lần) vị trí đối tượng có ý nghĩa • Danh sách kiểu diễn đạt ngắn gọn hàm Prolog Hàm tử danh sách dấu “.” • Prolog quy ước đặt dãy phần tử danh sách cặp móc vng VD: (a,.(b,[])) Là danh sách [a,b] 1 LÝ THUYẾT CHƯƠNG 1.1 BIỂU DIỄN CẤU TRÚC DANH SÁCH Nếu danh sách rỗng, viết dạng nguyên tử [] Nếu danh sách khác rỗng, xem cấu trúc từ thành phần phần đầu (head) phần đuôi (tail) Trong VD này: đầu anne, đuôi danh sách [ tennis, tom, skier ] Tail danh sách nên tail rỗng cấu tạo từ đầu head đuôi tail khác 1 LÝ THUYẾT CHƯƠNG 1.1 BIỂU DIỄN CẤU TRÚC DANH SÁCH Để biểu diễn1 danh sách tạo đầu head đuôi tail, prolog sử dụng split “|” để phân tách phần đầu phần đuôi sau: LÝ THUYẾT CHƯƠNG 1.1 BIỂU DIỄN CẤU TRÚC DANH SÁCH Một số cách viết danh sách LÝ THUYẾT CHƯƠNG 1.1 MỘT SỐ VỊ TỪ XỬ LÝ TRONG PROLOG LÝ THUYẾT CHƯƠNG 1.3 Các thao tác danh sách a) Kiểm tra số phần tử có mặt danh sách Vậy: LÝ THUYẾT CHƯƠNG 1.3 Các thao tác danh sách b) Ghép hai danh sách LÝ THUYẾT CHƯƠNG 1.3 Các thao tác danh sách C) Bổ sung phần tử vào danh sách LÝ THUYẾT CHƯƠNG 1.3 Các thao tác danh sách d) Loại bỏ phần tử khỏi danh sách LÝ THUYẾT CHƯƠNG 1.3 Các thao tác danh sách e) Danh sách LÝ THUYẾT CHƯƠNG 1.3 Các thao tác danh sách f) Hoán vị BÀI TẬP 1.1 ĐỀ BÀI 1.2 LÝ THUYẾT VÀ LỜI GIẢI Cho danh sách L: ? - L=[ a, b, c, d, e, f ], append (L1, [ d, e, f ], L) L1 = [ a, b, c ] BÀI TẬP 1.1 ĐỀ BÀI 1.2 LÝ THUYẾT VÀ LỜI GIẢI Cho danh sách L: ? - L=[ a, b, c, d, e, f ], append (L1, [ d, e, f ], L) L1 = [ a, b, c ] BÀI TẬP 2.1 ĐỀ BÀI 2.2 LÝ THUYẾT VÀ LỜI GIẢI L = [1, 2, 3, 4, 5, 6, a, b, c] L2 =[4, 5, 6] ? - L = [1, 2, 3, 4, 5, 6, a, b, c], append ( L3, [ a, b, c], L ) L3 = [ 1, 2, 3, 4, 5, 6] append ( L2, [ 1, 2, 3], L3 ) L2 = [ 4, 5, 6] BÀI TẬP 3.1 ĐỀ BÀI 3.2 LÝ THUYẾT VÀ LỜI GIẢI Last_element ( Object, List) Mệnh đề 1: Last _element (Object, [ Head | List ] ) : - member (Object, List) Mệnh đề 2: Last_element ( Object, List) : - append ( _, [Object] _, List) Ví dụ: ?- reverse( [ a, b, c , d, e, f ] , L) L = [f, e, d, c, b, a] Yes THANKS FOR WATCHING

Ngày đăng: 01/05/2023, 15:39

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

Tài liệu liên quan