9
BÀI TẬP ĐẶC TẢ HÌNH THỨC TUẦN 10 Sử dụng các kiểu dữ liệu sau cho các câu từ 91 đến 95: SÂN-VẬN-ĐỘNG :: tên-Sân: char* sức-chứa: 1 TỶ-SỐ :: số-bàn-thắng-đội-nhà : số-bàn-thắng-đội-khách : ĐỘI-BÓNG :: tên-Đội: char* sân-nhà : SÂN-VẬN-ĐỘNG TRẬN-ĐẤU :: đội-nhà : ĐỘI-BÓNG đội-khách : ĐỘI-BÓNG vòng-thi-đấu: 1 tỷ-số : TỶ-SỐ Ghi chú: Mỗi đội bóng thi đấu đúng 2 trận với các đội còn lại (một trận lượt đi trên sân khách, một trận lượt về trên sân nhà của chính mình). 91. Đặc tả hàm tính số trận thắng của một đội bóng trong giải vô địch Đội-nhà-thắng (trận-đấu: TRẬN-ĐẤU) kq: B Pre true Post kq = trận-đấu . tỷ-số . số-bàn-thắng-đội-nhà > trận-đấu . tỷ- số . số-bàn-thắng-đội-khách Đội-khách-thắng (trận-đấu: TRẬN-ĐẤU) kq: B Pre true Post kq = trận-đấu . tỷ-số . số-bàn-thắng-đội-nhà < trận-đấu . tỷ- số . số-bàn-thắng-đội-khách Là-đội-nhà (đội: ĐỘI-BÓNG, trận-đấu: TRẬN-ĐẤU) kq: B

Bài giải môn đặc tả hình thức từ câu 91-95

Embed Size (px)

DESCRIPTION

Bài giải môn đặc tả hình thức từ câu 91-95

Citation preview

BI TP C T HNH THC TUN 1

BI TP C T HNH THC TUN 10S dng cc kiu d liu sau cho cc cu t 91 n 95:SN-VN-NG ::

tn-Sn: char*

sc-cha: 1T-S ::

s-bn-thng-i-nh :

s-bn-thng-i-khch :

I-BNG ::

tn-i: char*

sn-nh: SN-VN-NGTRN-U::

i-nh: I-BNG

i-khch: I-BNG

vng-thi-u: 1

t-s: T-S

Ghi ch: Mi i bng thi u ng 2 trn vi cc i cn li (mt trn lt i trn sn khch, mt trn lt v trn sn nh ca chnh mnh).

91. c t hm tnh s trn thng ca mt i bng trong gii v ch

i-nh-thng (trn-u: TRN-U) kq: BPretruePostkq = trn-u . t-s . s-bn-thng-i-nh > trn-u . t-s . s-bn-thng-i-khchi-khch-thng (trn-u: TRN-U) kq: BPretruePostkq = trn-u . t-s . s-bn-thng-i-nh < trn-u . t-s . s-bn-thng-i-khchL-i-nh (i: I-BNG, trn-u: TRN-U) kq: BPretrue

Postkq = ( i = trn-u . i-nh )L-i-khch (i: I-BNG, trn-u: TRN-U) kq: BPretrue

Postkq = ( i = trn-u . i-khch )Thng (i: I-BNG, trn-u: TRN-U) kq: BPretruePostkq = ( (L-i-nh (i, trn-u) i-nh-thng (trn-u))

(L-i-khch (i, trn-u) i-khch-thng (trn-u)) )S-trn-thng (i: I-BNG, lch-thi-u: TRN-U*) kq: PretruePost(kq = 1 + S-trn-thng (i, tl lch-thi-u) Thng (i, hd lch-thi-u))

(kq = S-trn-thng (i, tl lch-thi-u) Thng (i, hd lch-thi-u))

(kq = 0 lch-thi-u = [])

92. c t hm tnh s trn ha ca mt i bong trong gii v ch

Ha (trn-u: TRN-U) kq: BPretruePostkq = ( trn-u . t-s . s-bn-thng-i-nh = trn-u . t-s . s-bn-thng-i-khch )S-trn-ha (i: I-BNG, lch-thi-u: TRN-U*) kq: Pretrue

Post(kq = 1 + S-trn-ha (i, tl lch-thi-u) Ha ( hd lch-thi-u) (L-i-nh (i, hd lch-thi-u) L-i-khch (i, hd lch-thi-u)))

(kq = S-trn-ha (i, tl lch-thi-u) (Ha ( hd lch-thi-u) (L-i-nh (i, hd lch-thi-u) L-i-khch (i, hd lch-thi-u)))

(kq = 0 ( lch-thi-u = [])

93. c t hm tnh im ca mt i bng vi quy nh: mi trn thng c 3 im, mi trn ha c 1 im, mi trn thua khng c im.

S-im (i: I-BNG, lch-thi-u: TRN-U*) kq: Pretrue

Postkq = S-trn-ha (i, lch-thi-u) + 3* S-trn-thng (i, lch-thi-u)

94. c t hm tnh hiu s bn thng bi ca mt i bong.

S-bn-thng-trong-trn (i: I-BNG, trn-u: TRN-U) kq: PretruePost(L-i-nh (i, trn-u) kq = trn-u . t-s . s-bn-thng-i-nh )

(L-i-khch (i, trn-u) kq = trn-u . t-s . s-bn-thng-i-khch ) ( (L-i-nh (i, trn-u) L-i-khch (i, trn-u)) kq = 0)

S-bn-thua-trong-trn (i: I-BNG, trn-u: TRN-U) kq: PretruePost(L-i-nh (i, trn-u) kq = trn-u . t-s . s-bn-thng-i- khch )

(L-i-khch (i, trn-u) kq = trn-u . t-s . s-bn-thng-i- nh )

( (L-i-nh (i, trn-u) L-i-khch (i, trn-u)) kq = 0)S-bn-thng (i: I-BNG, lch-thi-u: TRN-U*) kq: Pretrue

Post(kq = S-bn-thng-trong-trn (i, hd lch-thi-u) + S-bn-thng (i, tl lch-thi-u))

(kq = 0 len lch-thi-u = 0) S-bn-thua (i: I-BNG, lch-thi-u: TRN-U*) kq: Pretrue

Postkq = S-bn-thua-trong-trn (i, hd lch-thi-u) + S-bn-thua (i, tl lch-thi-u)

(kq = 0 len lch-thi-u = 0)Hiu-s-bn-thng-bi (i: I-BNG, lch-thi-u: TRN-U*) kq: Z

Pretrue

Postkq = S-bn-thng (i, lch-thi-u) S-bn-thua (i, lch-thi-u)

95. c t hm sp hng cc i bng theo im gim dn. Nu nhiu i cng im th xt tip cc tiu ch sau: hiu s bn thng bi (gim dn), s bn thng (gim dn), kt qu trn i khng trc tip.

Thua (i: I-BNG, trn-u: TRN-U) kq: BPretrue

Postkq = ( (L-i-nh (i, trn-u) i-khch-thng (trn-u) )

(L-i-khch (i, trn-u) i-nh-thng (trn-u)) )Hng-cao-hn (i-1: I-BNG, i-2: I-BNG, lch-thi-u: TRN-U*) kq: BPretrue

Postkq = (S-im (i-1, lch-thi-u) > S-im (i-2, lch-thi-u))

( (S-im (i-1, lch-thi-u) = S-im (i-2, lch-thi-u)) (Hiu-s-bn-thng-bi (i-1, lch-thi-u) > Hiu-s-bn-thng-bi (i-2, lch-thi-u) (Hiu-s-bn-thng-bi (i-1, lch-thi-u) = Hiu-s-bn-thng-bi (i-2, lch-thi-u) (S-bn-thng (i-1, lch-thi-u) > S-bn-thng (i-2, lch-thi-u) (S-bn-thng (i-1, lch-thi-u) = S-bn-thng (i-2, lch-thi-u) ( (i inds lch-thi-u ( Thng (i-1, lch-thi-u(i)) Thua (i-2, lch-thi-u(i)) ??? )) ) ) ) ) Xp-hng (ds-i: I-BNG*, lch-thi-u: TRN-U*) kq-xphng: I-BNG*

Preelems ds-i = elems kq-xphng len ds-i = len kq-xphngPost (i [1,.., (len ds-i ) 1] ( Hng-cao-hn (ds-i(i), ds-i(i+1), kq-xphng)S dng kiu d liu di y cho cu 96 v 97:

Xt mt h iu hnh n gin. Cho trc c t cc kiu d liu biu din thng tin ca 1 tin trnh v ReadyList nh sau:

PROCESS_ID = PROCESS_INFO ::

pID : PROCESS_ID

CPUBurstTime: READY_LIST = PROCESS_INFO*

Cho trc bin ton cc ready-List : READY_LIST96. Hy c t hm FIFOScheduler cho php chn ra tin trnh theo chin lc FIFO vi thng tin cc tin trnh ang ch s dng CPU trong ready-List.

FIFOScheduler () pID: PROCESS_ID97. Hy c t hm SJFScheduler cho php chn ra tin trnh theo chin lc SJF (Shortest Job First) vi thng tin cc tin trnh ang ch s dng CPU trong ready-List. Nu c nhiu tin trnh c cng thi gian thc thi (CPUBurstTime) ngn nht bng nhau th u tin chn tin trnh c thi gian ngn nht xut hin trc trong ready-List.

SJFScheduler () pID: PROCESS_ID

98. T nh ngha kiu d liu TOWER_STATE biu din 1 trng thi ca bi ton Thp H Ni vi 3 ct (A, B, C) v n a (nh s t 1 n n, a 1 < a 2 < < a n). c t iu kin rng buc i vi kiu d liu ny (ghi ch: vi mi ct, a di phi ln hn a trn)COLUMN_STATE = N*inv-COLUMN_STATE: COLUMN_STATE ( Binv-COLUMN_STATE (cs)

( i, j ( inds cs ( i > j ( cs(i) > cs(j)TOWER_STATE ::

Column-A: COLUMN_STATE

Column-B: COLUMN_STATE

Column-C: COLUMN_STATE inv- TOWER_STATE : TOWER_STATE ( Binv- TOWER_STATE (ts) let ac = ts . Column-A ts . Column-B ts . Column-C in

len ac = card elems ac

99. c t thao tc MoveAB thc hin vic di chuyn 1 a (trn cng) t ct A sang ct B. Lu ch x l nu ct A c t nht 1 a, v a trn cng ca ct A phi nh hn a trn cng ca ct B, hoc ct B cn trng.MoveAB(S0: TOWER_STATE) S1: TOWER_STATEPretrue

Post(S1 . Column-A = tl S0 . Column-A ) (S1 . Column-B = hd S0 . Column-A S0 . Column-B )100. Gi s c sn cc c t ca cc thao tc di chuyn 1 a (trn cng) t ct ny sang ct khc.MoveAB(S0: TOWER_STATE) S1: TOWER_STATEMoveBA(S0: TOWER_STATE) S1: TOWER_STATEMoveAC(S0: TOWER_STATE) S1: TOWER_STATEMoveCA(S0: TOWER_STATE) S1: TOWER_STATEMoveBC(S0: TOWER_STATE) S1: TOWER_STATEMoveCB(S0: TOWER_STATE) S1: TOWER_STATEHy c t hm bin i t trng thi S0 sang trng thi Sn cho trc.