1. Trang chủ
  2. » Công Nghệ Thông Tin

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

23 47 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

Nội dung

Bài giảng Đặc tả hình thức - Chương 7: Kiểu ánh xạ cung cấp cho người học các kiến thức: Ánh xạ, các hàm và thao tác trên ánh xạ, đặc tả sử dụng ánh xạ. Mời các bạn cùng tham khảo nội dung chi tiết.

↦ 4, ↦ 3} = {1 ↦3, ↦ 4, ↦ 5} 4/5/2019 CuuDuongThanCong.com PGS.TS Vu Thanh Nguyen https://fb.com/tailieudientucntt 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 https://fb.com/tailieudientucntt 13 Tốn tử chọn 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 xạ có giá trị khóa cho trước 4/5/2019 CuuDuongThanCong.com PGS.TS Vu Thanh Nguyen https://fb.com/tailieudientucntt 14 Tốn tử chọn theo tập khóa ⊲  Ví dụ: { 2, 3, 4} ⊲ {1 ↦ 3, ↦ 7, ↦ 3} = {4 ↦ 7, ↦ 3} { a, d, e} ⊲ m1 = {a ↦ 1, d ↦ 1} {} ⊲ m = {} s ⊲ {} = {} 4/5/2019 CuuDuongThanCong.com PGS.TS Vu Thanh Nguyen https://fb.com/tailieudientucntt 15 Tốn tử xóa 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ỏ ánh xạ có giá trị khóa cho trước _ _ 4/5/2019 CuuDuongThanCong.com PGS.TS Vu Thanh Nguyen https://fb.com/tailieudientucntt 16 Toán tử xóa dựa vào tập khóa ⊲_ Ví dụ: { 2, 3, 4} ⊲_ {1 ↦ 3, ↦ 7, ↦ 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 https://fb.com/tailieudientucntt 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 https://fb.com/tailieudientucntt 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 https://fb.com/tailieudientucntt 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 https://fb.com/tailieudientucntt 20 Đặc tả với kiểu ánh xạ  Ví dụ: Đặc tả hàm trả lớp mà sinh viên sv đă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 https://fb.com/tailieudientucntt 21 Đặc tả với kiểu ánh xạ  Ví dụ: Đăng ký cho sinh viên học 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 https://fb.com/tailieudientucntt 22 Đặc tả với kiểu ánh xạ  Ví dụ: Đăng ký cho sinh viên học 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 https://fb.com/tailieudientucntt 23 ... 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)... CuuDuongThanCong.com PGS.TS Vu Thanh Nguyen https://fb.com/tailieudientucntt 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... Vu Thanh Nguyen https://fb.com/tailieudientucntt 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:

Ngày đăng: 11/01/2020, 19:04

TỪ KHÓA LIÊN QUAN