Professional Documents
Culture Documents
07.KieuAnhXa Dac Ta Hinh Thuc - Cdio
07.KieuAnhXa Dac Ta Hinh Thuc - Cdio
07.KieuAnhXa Dac Ta Hinh Thuc - Cdio
Ánh xạ
Các hàm và thao tác trên ánh xạ
Đặc tả sử dụng ánh xạ
4/15/2020 2
Kiểu ánh xạ
Ví dụ:
{ “TH301” ↦ “Đặc tả hình thức”,
“TH402” ↦ “Công cụ và Môi trường phát triển phần mềm”,
“TH403” ↦ “Xây dựng phần mềm hướng đối tượng”, …}
4/15/2020 3
Kiểu ánh xạ
Nhắc lại:
Tích Descarte:
4/15/2020 4
Kiểu ánh xạ
4/15/2020 5
Ánh xạ
Đơn ánh: Mỗi phần tử trong tập nguồn tương ứng với tối đa 1
phần tử (ảnh) trong tập đích
Toàn ánh: Mỗi phần tử trong tập nguồn đều có ảnh trong tập
đích
Song ánh: Mỗi phần tử trong tập đích có duy nhất một tiền
ảnh trong tập nguồn
Ảnh
Tiền ảnh
4/15/2020 6
Định nghĩa kiểu ánh xạ
m
Định nghĩa kiểu ánh xạ: A B
Ví dụ 1:
m
f:ℤ ℤ
Ví dụ 2:
Acc-system::
m
custs: Name Acc-no
accs: Acc-no m Account
Ví dụ 3:
m
thuộc-khoa: SINH-VIÊN KHOA
Ví dụ 4:
phân-công: NHÂN-VIÊN m PHÒNG-BAN
4/15/2020 7
Định nghĩa ánh xạ
Ví dụ:
{p ↦ q | (p = 1 q = TRUE) (p = 0 q = FALSE)}
chính là {1 ↦ TRUE, 0 ↦ FALSE}
4/15/2020 8
Hàm và thao tác trên ánh xạ
4/15/2020 9
Hàm và thao tác trên ánh xạ
Ví dụ:
vowel {‘A’ ↦ 65, ‘E’ ↦ 69, ‘I’ ↦ 73, ‘O’ ↦ 79, ‘U’ ↦ 85}
dom (vowel) = {‘A’, ‘E’, ‘I’, ‘O’, ‘U’}
rng (vowel) = {65, 69, 73, 79, 85}
vowel(‘A’) = 65
vowel(‘U’) = 85
4/15/2020 10
Toán tử cập nhật †
4/15/2020 11
Toán tử cập nhật †
4/15/2020 12
Giả sử
m1 = {a ↦ 1, c ↦ 3, d ↦ 1}, m2 = {b ↦ 4, c ↦ 5}
m1†m2 = {a ↦ 1,b ↦ 4, c ↦ 5,d ↦ 1}
m2†m1 = {a ↦ 1,b ↦ 4, c ↦ 3,d ↦ 1}
m†{} = m = {}†m
4/15/2020 13
Toán tử chọn các bộ theo tập khóa ⊲
_⊲_ : A-set A m B Am B
s⊲m≝
{ a ↦ m(a) | a (dom m s ) }
Ý nghĩa: chọn lại những bộ trong ánh xạ có giá trị khóa cho
trước
4/15/2020 14
Toán tử chọn các bộ theo tập khóa ⊲
Ví dụ:
{ 2, 3, 4} ⊲ {1 ↦ 3, 4 ↦ 7, 3 ↦ 3} = {4 ↦ 7, 3 ↦ 3}
{ a, d, e} ⊲ m1 = {a ↦ 1, d ↦ 1}
{} ⊲ m = {}
s ⊲ {} = {}
4/15/2020 15
_
Toán tử xóa bộ dựa vào tập khóa ⊲
_⊲_ _ : A-set A m B Am B
_
s⊲ m≝
{ a ↦ m(a) | a (dom m – s ) }
4/15/2020 16
_
Toán tử xóa bộ dựa vào tập khóa ⊲
Ví dụ:
{ 2, 3, 4} ⊲_ {1 ↦ 3, 4 ↦ 7, 3 ↦ 3} = {1 ↦ 3}
{ a, d, e} ⊲_ m1 = {c ↦ 3}
_
{} ⊲ m=m
ma†mb = (dom mb – ma) mb
4/15/2020 17
Đặc tả với kiểu ánh xạ
Ví dụ:
m
Mã-HP Tên-HP
m
Mã-GV Mã-HP-set
m
Mã-GV Giảng-Viên
m
Mã-SV Sinh-Viên
4/15/2020 18
Đặc tả với kiểu ánh xạ
Ví dụ:
Mã-HP = Char*
Mã-SV = Char*
HọTên = Char*
Sinh-Viên ::
mã-SV: Mã-SV
họ-tên: HọTên
Lớp ::
mã-HP: Mã-HP
mã-Lớp: ℕ1
học-kỳ: {1, 2, 3, 4}
năm-học: ℕ1
4/15/2020 19
Đặc tả với kiểu ánh xạ
m
Đăng-ký = Sinh-Viên Lớp-set
m
Danh-sách-lớp= Lớp Sinh-Viên-set
4/15/2020 20
Đặc tả với kiểu ánh xạ
4/15/2020 21
Đặc tả với kiểu ánh xạ
4/15/2020 22
Đặc tả với kiểu ánh xạ
4/15/2020 23