TRƯỜNG ĐHBK TP. HCM
KHOA KH&KT Y TÍNH
ĐỀ THI CUỐI KỲ
Môn: hình hóa toán học (CO2011)
Thời gian làm bài: 90 phút
(SV được sử dụng một tờ A4
chứa các ghi chú cần thiết)
Ngày thi: 03/01/2020
Họ &tên SV: MSSV:
(Kết quả thi sẽ được quy về thang điểm 10 dựa vào kết quả của sinh viên làm bài tốt nhất. Sinh viên
không được viết nháp vào đề hãy chọn đáp án chính xác nhất cho mỗi câu hỏi trắc nghiệm tr
lời vào trong phiếu.)
Câu 1. Luật đúng đắn toàn phần (total correctness) cho cấu trúc while được phát biểu như sau
A(|φB0E=E0|)C(|ψ0E < E0|)
(|φ0E|)while B{C}(|ψ ¬B|).
B(|ψB0E=E0|)C(|ψ0E < E0|)
(|ψ0E|)while B{C}(|ψ ¬B|).
C(|φB0E|)C(|ψ0E|)
(|φ0E|)while B{C}(|ψ ¬B|).
D(|ψB0E|)C(|ψ0E|)
(|ψ0E|)while B{C}(|ψ ¬B|).
Câu 2. Xét đoạn chương trình sau.
Nếu cho biết rằng hậu điều kiện (postcondition) của {x=y}thì điều kiện nào sau
đây tiền điều kiện (precondition) của nó?
A{x= 2yy < 2}.
B{x > 2yy= 2}.
C{x= 2yy > 2}.
D{x < 2yy > 2}.
Câu 3. Chọn phát biểu đúng.
AKhi đọc một sự kiện từ một trạng thái, NFA không xác định được chắc chắn trạng thái kế tiếp.
BNFA không xác định được chắc chắn trạng thái kế tiếp để đơn giản hóa hình vẽ.
CNFA thì số trạng thái không xác định còn DFA thì xác định được số trạng thái.
DTổng số trạng thái luôn rút giảm trong quá trình đơn định hóa từ một NFA sang DFA.
Trong các câu 4–7, xét automata hữu hạn trên tập tự {a, b}bên dưới đây.
012
345
aab
b
b ε
a
aa, ε
b
Câu 4. y cho biết đâu không phải từ hợp lệ trong automata trên.
Aabababa
Bbbbbbabaa
Caabbaabbababa
Daabbbbaa
Chữ SV:.................. đề 1913 (B01) Trang 1
Câu 5. y viết biểu thức chính qui cho automata bên trên.
AX=aba;Y=baba;Z=X(Y(a+b)X)+XY ((a+b)XY )
BX=ababa;Y=ba;Z=X(Y(ab +b)X)+XY ((ab +b)XY )
CX=ab;Y=ababa;Z=X(Y(ab +b)X)+XY ((ab +b)XY )
DX=ab;Y=a+ababa;Z=X(Y(ab +b)X)+XY ((ab +b)XY )
Câu 6. Nếu sử dụng giải thuật đơn định hóa để chuyển NFA trên thành DFA thì DFA mới bao nhiêu
trạng thái.
A20
B18
C15
D16
Câu 7. Số trạng thái trong DFA tối giản (tương đương với NFA trên) bao nhiêu?
A10
B20
C16
D18
Câu 8. Tiền điều kiện yếu nhất (weakest precondition) φcủa bộ ba Hoare
(|φ|)if (x < y) x = x + 3; else x = x + 1; (|xy|)
A(y > x) (x+ 3 < y).
Byx+ 3.
Cyx.
Dyx+ 1.
Câu 9. Tiền điều kiện yếu nhất (weakest precondition) φcủa b ba Hoare
(|φ|)x=1;y=x+y(|xy|)
Ay > x > 0.
By0.
Cyx0.
Dy > 0.
Câu 10. Biễu thức chính quy cho ngôn ngữ L={anbm|(n+m)chẵn}
A((aa)+(bb)+)·(a(aa)+b(bb)+).
B(aa)(bb)+a(aa)b(bb).
C((aa)(bb))·(a(aa)b(bb)).
D(aa)+(bb)++a(aa)+b(bb)+.
Câu 11. Để xem xét automata bên dưới và biểu thức chính quy E= [(ab)(ba)(bba(aa)b(ab))]
biểu diễn cùng một ngôn ng hay không, y chọn phát biểu đúng dưới đây.
q0
q1q2
q3
a
b
a
a
b
a
b
b
ABiểu diễn cùng một ngôn ngữ.
BKhông tương đương, tuy nhiên không thể xác định được phản dụ.
CKhông tương đương, phản dụ aa.
DKhông tương đương, phản dụ abbaaabab.
Chữ SV:.................. đề 1913 (B01) Trang 2
Câu 12. Một dạng bất biến (invariant form) của chương trình downfac
ta thể dùng trong việc chứng minh tính đúng đắn của
A(y= (xa)!) (a0).
B(y=x!
a!)(a0).
C(y= (xa)!) (ax).
D(y=x!
a!)(ax).
Câu 13. Cho P chương trình x= 2020. Khi đó theo luật gán (assignment rule) ta
A6|=par (|2020 = 4|)P(|x= 4|).
B|=tot (|2020 = 2020|)P(|x= 2020|).
C6|=par (|2020 = y|)P(|x=y|).
D6|=par (|2020 = 2020|)P(|x= 2020|).
Câu 14. Một dạng bất biến (invariant form) nên được sử dụng để chứng minh tính đúng đắn của đoạn
chương trình Pnhư trong Câu 30
A{m= (ni)×ni0}.
B{m= (i×n)i > 0}.
C{m= (ni)×ni > 0}.
D{m= (i×n)i > 0}.
Câu 15. Chuỗi nào dưới đây không thuộc vào ngôn ngữ Lvới Lđược biểu diễn bởi automata dưới đây.
A B C D
E F G
a
b
a a
b
a
b
b
a
b
a
Aaababba
Bbbaaaa
Caaaabb
Dabaababab
Câu 16. Luật đúng đắn (correctness) cho cấu trúc if... else được phát biểu như sau
A(|φB|)C(|ψ|) (|φ ¬B|)C(|ψ|)
(|φ|)if B{C} else { C}(|ψ|).
B(|φ1|)C1(|ψ|) (|φ2|)C2(|ψ|)
(|(Bφ1)(¬Bφ2)|)if B{C1} else { C2}(|ψ|).
C(|φB|)C1(|ψ|) (|φ ¬B|)C2(|ψ|)
(|φ|)if ¬B{C1} else { C2}(|ψ|).
D(|φ|)C1(|ψ|) (|φ|)C2(|ψ|)
(|(Bφ)(¬Bφ)|)if B{C1} else { C2}(|ψ|).
Chữ SV:.................. đề 1913 (B01) Trang 3
Câu 17. Precondition của While
r:= 1;
i:= 0;
while i<mdo
r:= rn;
i:= i+ 1
sẽ
A(m0) (n0).
B(m0) (n > 0).
Cm > 0.
D(m > 0) (n > 0).
Câu 18. Liệu thể sử dụng một automata hữu hạn đơn định và tối giản để tả hệ thống hiển thị
thông tin (mức nhiên liệu, tốc độ di chuyển, vị trí GPS, ngày, giờ) trên mặt biển báo của một
loại phương tiện giới đặc thù chỉ với một nút nhấn không?
AKhông thể.
B thể sử dụng một DFA tối giản số lượng trạng thái vô hạn.
C thể sử dụng một DFA tối giản gồm ba trạng thái.
D thể sử dụng một DFA tối giản hơn ba trạng thái.
Câu 19. Xét Σ = {a, b, c}và L={ab, ca, a, bb, bc}. Chuỗi nào dưới đây thuộc vào L.
Aabaacbb
Bbbabacabbbaaa
Cabcabbbbba
Daabbbcabbba
Câu 20. Biểu thức nào sau đây biểu thức chính quy biểu diễn tập các chuỗi trên Σ = {a, b} chứa
chuỗi con ab và chuỗi con ba?
A(a+b+a(ab))·(b+a+b(ab)).
B(aba(ab)+)(bab(ab)+).
C(aba(ab)+)·(bab(ab)+).
D(a+b+a(ab))(b+a+b(ab)).
Câu 21. Đáp án nào phản dụ cho thấy hai automata bên dưới không tương đương?
q0
q1q2
q3
b
a
a
a
a
b
a
b
p0
p1p2
p3
bb
a
a
b
aa
a
Aabaab
Bbaab
Cbabb
Dabbaa
Câu 22. Phát biểu nào sau đây đúng cho tính đúng đắn (correctness) đối với các bộ ba Hoare, trong đó
downfac chương trình như trong Câu 12?
A|=par (|>|)if (b > 0) {c=a+b}else c=ab(|ψ|),và |=tot (|>|)downfac (|y=x!|).
B|=tot (|>|)if (b > 0) {c=a+b}else c=ab(|ψ|),và |=par (|>|)downfac (|y=x!|).
C|=par (|>|)if (b > 0) {c=a+b}else c=ab(|ψ|),và |=par (|>|)downfac (|y=x!|).
D|=tot (|>|)if (b > 0) {c=a+b}else c=ab(|ψ|),và |=tot (|>|)downfac (|y=x!|).
Câu 23. Hai biểu thức chính qui: E1= ((c+b)(a+c))và E2= (ba +bc +ca +c) biểu diễn cùng
một ngôn ngữ không?
ABiểu diễn cùng ngôn ngữ
BKhông tương đương
CE2E1
DE1E2
Chữ SV:.................. đề 1913 (B01) Trang 4
Câu 24. Xét Σ = {a, b, c}và L={a, ab, bc, ba}. Chuỗi nào dưới đây không thuộc vào L5.
Aaabcabba
Bbcbaaaa
Caaaaa
Dabaababca
Câu 25. Cách nào dưới đây thể xác định hai automata hữu hạn (FA) tương đương?
ASo sánh số trạng thái của hai FA.
BChuyển v các biểu thức chính quy tương đương để chứng minh bằng toán học.
CChuyền v so sánh bảng chuyển trạng thái của hai automata tối ưu tương ứng.
DÁp dụng vét cạn các trường hợp dựa trên bảng chuyển trạng thái.
Câu 26. Xét đoạn chương trình sau.
Dạng bất biến (invariant form) nên được sử dụng để chứng minh tính đúng đắn của
A{(s=Pi
k=1 b[k]) 2020 >i>0}.
B{(s=P2020
k=1 b[k]) 2020 > i 0}.
C{(s=Pi1
k=0 b[k]) 2020 i0}.
D{(s=Pi1
k=1 b[k]) 2020 i > 0}.
Câu 27. Dạng bất biến (invariant form) của chương trình While như trong Câu 17 thể dùng trong
việc chứng minh tính đúng đắn của sẽ
A(r=ni)(0 im).
B(r=ni)(0 im)(n > 0).
C(r=ni)(0 im)(n0).
D(r=ni)(n > 0).
Câu 28. Luật đúng đắn b phận (partial correctness) cho cấu trúc while được phát biểu như sau
A(|φB|)C(|ψ|)
(|φ|)while B{C}(|ψ ¬B|).
B(|ψB|)C(|ψ|)
(|ψ|)while B{C}(|ψ ¬B|).
C(|φB|)C(|ψ|)
(|φ|)while B{C}(|ψ|).
D(|ψB|)C(|ψ|)
(|ψ|)while B{C}(|ψ|).
Câu 29. Xét đoạn chương trình sau.
Dạng bất biến (invariant form) nên được sử dụng để chứng minh tính đúng đắn của với tiền
điều kiện {y=y0y0}
A{z=x(y0y)y > 0}.
B{z=x(yy0)y00}.
C{z=x(y0y)y0}.
D{z=x(yy0)y0>0}.
Chữ SV:.................. đề 1913 (B01) Trang 5