Tải bản đầy đủ (.pdf) (23 trang)

Bài giảng Đặc tả hình thức: Chương 7 - PGS.TS. Vũ Thanh Nguyên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (612.32 KB, 23 trang )

↦ 4, 1 ↦ 3} = {1 ↦3, 2 ↦ 4, 3 ↦ 5}

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
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/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
13


Toán tử chọn các bộ theo tập khóa ⊲

_⊲ _ :



m
A-set  A 
B



m
A
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/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
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/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
15


Toán tử xóa bộ dựa vào tập khóa ⊲_

_⊲_ _ :

m
A-set  A 
B



m
A
B

s ⊲_ m ≝
{ a ↦ m(a) | a  (dom m – s ) }

 Ý nghĩa: Xóa bỏ các bộ trong ánh xạ có giá trị khóa cho
trước
_
_

4/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
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/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>

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/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
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/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
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/5/2019

CuuDuongThanCong.com


PGS.TS. Vu Thanh Nguyen

/>
20


Đặc tả với kiểu ánh xạ
 Ví dụ: Đặc tả hàm trả về các lớp mà sinh viên sv đã và đang
đăng ký học
DSĐăngKýHọc : Sinh-Viên  Đăng-ký  Đăng-ký
DSĐăngKýHọc (sv, ds-đăng-ký) ≜
{sv} ⊲ ds-đăng-ký
DSLớpĐăngKýHọc : Sinh-Viên  Đăng-ký  Lớp-set
DSLớpĐăngKýHọc (sv, ds-đăng-ký) ≜
if (sv  dom ds-đăng-ký)
then
ds-đăng-ký(sv)
else
{}
4/5/2019

CuuDuongThanCong.com

PGS.TS. Vu Thanh Nguyen

/>
21



Đặc tả với kiểu ánh xạ
 Ví dụ: Đăng ký cho 1 sinh viên học 1 lớp
ĐĂNG-KÝ-HỌC (sv: Sinh-Viên, lớp: Lớp)
ext
wr
đk: Đăng-ký
pre
post

↼ = {})
({sv} ⊲ đk




(lớp  ({sv} ⊲ đk)(sv))


↼ † { sv ↦ ({sv} ⊲ đk
↼ )(sv)  {lớp}) }  ({sv} ⊲ đk  {}))
(đk = đk


↼ = {}))
 (đk = đk  { sv ↦ {lop})  ({sv} ⊲ đk

4/5/2019

CuuDuongThanCong.com


PGS.TS. Vu Thanh Nguyen

/>
22


Đặc tả với kiểu ánh xạ
 Ví dụ: Đăng ký cho 1 sinh viên học 1 lớp
ĐĂNG-KÝ-HỌC (sv: Sinh-Viên, lớp: Lớp)
ext
wr
đk: Đăng-ký



pre
(sv  dom(đk))  ((sv  dom(đk))  (lớp  đk(sv)))
post

↼  {lớp}})  (sv  dom(đk)))
↼ † { sv ↦ đk(sv)
((đk = đk

 ((đk = ↼
đk  { sv ↦ {lop})  (sv  dom(đk)))

4/5/2019

CuuDuongThanCong.com


PGS.TS. Vu Thanh Nguyen

/>
23



×