Thực hành toán rời rạc chương 2 ánh xạ và quy nạp toán học

7 1 0
Thực hành toán rời rạc   chương 2 ánh xạ và quy nạp toán học

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

Thông tin tài liệu

Bộ môn Khoa học Dữ liệu Thực hành Toán rời rạc Trang 1 THỰC HÀNH TOÁN RỜI RẠC TÀI LIỆU PHỤC VỤ SINH VIÊN NGÀNH KHOA HỌC DỮ LIỆU Nhóm biên soạn và Giảng viên có đóng góp ý kiến TS Hoàng Lê Minh – Khưu[.]

Bộ mơn Khoa học Dữ liệu THỰC HÀNH TỐN RỜI RẠC TÀI LIỆU PHỤC VỤ SINH VIÊN NGÀNH KHOA HỌC DỮ LIỆU Nhóm biên soạn Giảng viên có đóng góp ý kiến: TS Hồng Lê Minh – Khưu Minh Cảnh – Lê Ngọc Thành – Phạm Trọng Nghĩa - Nguyễn Cơng Nhựt – Trần Ngọc Việt - Hồng Thị Kiều Anh – Đỗ Đình Thủ - Huỳnh Thái Học Giảng viên khác TP.HCM – Năm 2020 Thực hành Tốn rời rạc Trang Bộ mơn Khoa học Dữ liệu MỤC LỤC CHƯƠNG 2: ÁNH XẠ VÀ QUY NẠP TOÁN HỌC 3 Ôn luyện kiến thức Python 1.1 Viết hàm Python 1.2 Kiểu liệu tập hợp (set) Python 1.3 Hàm lambda Python Ánh xạ hàm hợp 2.1 Phân loại ánh xạ số tính chất 2.2 Hàm hợp Python Quy nạp toán học xây dựng hàm đệ quy Python 10 BÀI TẬP CHƯƠNG 14 Thực hành Toán rời rạc Trang Bộ môn Khoa học Dữ liệu CHƯƠNG 2: ÁNH XẠ VÀ QUY NẠP TOÁN HỌC Mục tiêu: - Hiểu loại ánh xạ Có khả thể ngôn ngữ Python - Hiểu quy nạp toán học phương pháp viết hàm đệ quy Python Nội dung chính: Ơn luyện kiến thức Python Nhắc lại số vấn đề xây dựng hàm (module) Python: 1.1 Viết hàm Python Trong Python, hàm số đơn giản khai báo thơng qua từ khóa def với tên hàm kết trả từ khóa return Ví dụ: Hàm tính lũy thừa số nguyên sau: >>> def luythua(x, n): ketqua= for i in range(n): ketqua = ketqua *x return ketqua >>> luythua(2,1) ………………………………………………………………  sinh viên điền kết >>> luythua(2,0) ………………………………………………………………  sinh viên điền kết Lưu ý: Một số đặc điểm bật Python hàm:  Hàm “main” tập tin py: Là đoạn chương trình nằm khối lệnh, thường vị trí cuối tập tin py Khi khối lệnh tồn tại, “thực thi” tập tin Python từ dịng lệnh hệ điều hành, như: C:\> python abc.py Thực hành Toán rời rạc Trang Bộ môn Khoa học Dữ liệu Khối lệnh việc so sánh từ khóa riêng name main Python sau: if name == " main ": # thực đó… Lưu ý:    Hàm (module) lồng hàm (module): Một module có module Hàm lớp đối tượng (object): module định nghĩa đối tượng class Các module riêng tư phía trước phải có Sử dụng hàm file Python thư mục: Câu lệnh import để triệu gọi thư viện Ví dụ file A.py muốn sử dụng module x file B.py Do đó, với file Python có sẵn module, sử dụng module thêm vị trí thư mục thư viện vào lúc thực thi (runtime) Hai bước lệnh hỗ trợ việc khai báo thư mục cho tập tin thư viện (tập tin B.py) thư mục với tập tin thực thi (tập tin A.py): Bước 1: Đưa tập tin thư viện vào thư mục với tập tin sử dụng hàm Nghĩa chép file B vào thư mục file A Bước 2: Khai báo thư mục tập tin thư viện để import với lệnh (được viết file A.py): from os import sys, path sys.path.append(path.dirname(path.dirname(path.abspath( file )))) from B import x # lưu ý: sử dụng là: B.x(…) 1.2 Kiểu liệu tập hợp (set) Python Python hỗ trợ kiểu tập hợp kiểu set, kiểu set đặt dấu {} Ví dụ 1: Tạo tập hợp phần tử: >>> {2, 4, 6} Ví dụ 2: Lệnh tạo tập hợp số lẻ nhỏ 100: Thực hành Toán rời rạc Trang Bộ môn Khoa học Dữ liệu >>> { n for n in range(100) if n % == } Ví dụ 3: Tạo tập rỗng: >>> tap_rong = set() >>> print (tap_rong) …………………………………………………………  sinh viên điền kết Với đối tượng tập hợp (set) Python, lệnh xử lý hỗ trợ tương ứng với lệnh toán học sau: Set operators (Toán tử tập hợp) Thuộc Không thuộc Tập Tập (ngặt) Hợp (union) Hội (intersection) Hiệu (difference) Mơ tả tốn học ∈ ∉ ⊆ ⊂ ∪ ∩ – Mô tả Python in not in >> setA = { n for n in range(100) if n % == } >>> setB = { n for n in range(100) if n % == } >>> setA | setB …………………………………………………………………………………………… >>> setA & setB …………………………………………………………………………………………… >>> setA - setB …………………………………………………………………………………………… >>> setA < setB …………………………………………………………………………………………… >>> setA >> 10 in setA …………………………………………………………………………………………… >>> 11 in setA …………………………………………………………………………………………… >>> setA.add(0) …………………………………………………………………………………………… >>> setA > setB …………………………………………………………………………………………… 1.3 Hàm lambda Python Hàm lambda dạng lập trình hàm tồn ngôn ngữ bậc cao Dưới đây, thực hành nêu số vấn đề dạng hàm lambda Những cài đặt phức tạp có cấp độ lập trình cao cấp Có từ phiên 2.2, hàm lambda Python gọi hàm “vơ danh” (anonymous function) lúc chạy Theo đó, có phương thức làm cho hàm trở nên đặc biệt: filter(), map() reduce() Một đặc điểm hàm lambda khơng có lệnh return trả module Python ln thực lệnh để trả giá trị Ví dụ 1: Sử dụng hàm lambda để tính >>> >>> 64 >>> >>> >>> >>> 64 : def f (x): return x**2 print f(8) g = lambda x: x**2 print g(8) g = lambda x: x**3 Ví dụ 2: Tính thuế theo địa phương Bài toán: Giả sử thuế mặt hàng nhập vào TP.HCM 0.012 (nghĩa 1.2%); Hà Nội 0.010 (nghĩa 1%) Hãy viết hàm tính (lưu ý: hệ thống tính thuế áp dụng cho nhiều địa Thực hành Toán rời rạc Trang Bộ môn Khoa học Dữ liệu phương) Như vậy, địa phương cần thay đổi thuế cần thay đổi phương mà khơng ảnh hưởng đến công thức chung cho nước >>> def thue(phan_tram): return lambda x: x * phan_tram >>> = thue(0.012) #  khai báo mức thuế Hà Nội >>> hn = thue(0.01) #  khai báo mức thuế TP.HCM >>> hcm(1000000) #  minh họa gọi hàm tính thuế cho triệu đồng TP.HCM 12000.0 Ví dụ 3: Liệt kê số chia hết cho từ đến 49 Danh sách số từ  49 là: day_so = range(2, 50) Lọc hàm lambda (sử dụng filter) print filter(lambda x: x % == 0, day_so) Ví dụ 4: Về hàm map() Cho dãy số, muốn cộng cho dãy số giá trị >>> print map(lambda x: x * x , day_so) [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] Ví dụ 5: Giới thiệu hàm reduce() cho hàm lambda Khi muốn tính tổng dãy số >>> day_so = range(1, 11) >>> print reduce(lambda x, y: x+y, day_so) 55 Ví dụ 6: Tìm số lớn dãy số Cho dãy số ds = [20, 25, 50, 103, 13, 19] Viết hàm lambda để chọn số: >>>f = lambda a,b: a if (a>b) else b Sau viết hàm reduce áp hàm f lên dãy số để kết Thực hành Toán rời rạc Trang ... 14 Thực hành Tốn rời rạc Trang Bộ mơn Khoa học Dữ liệu CHƯƠNG 2: ÁNH XẠ VÀ QUY NẠP TOÁN HỌC Mục tiêu: - Hiểu loại ánh xạ Có khả thể ngơn ngữ Python - Hiểu quy nạp toán học phương pháp... Ánh xạ hàm hợp 2. 1 Phân loại ánh xạ số tính chất 2. 2 Hàm hợp Python Quy nạp toán học xây dựng hàm đệ quy Python 10 BÀI TẬP CHƯƠNG ...Bộ môn Khoa học Dữ liệu MỤC LỤC CHƯƠNG 2: ÁNH XẠ VÀ QUY NẠP TOÁN HỌC 3 Ôn luyện kiến thức Python 1.1 Viết hàm Python 1 .2 Kiểu liệu tập hợp (set)

Ngày đăng: 02/03/2023, 08:13

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

Tài liệu liên quan