
lap trinh logic de 1
1. Những ngôn ngữ lập trình nào sau đây là ngôn ngữ hàm ?
*a. Haskell *b. LISP c. PROLOG *d. MIRANDA
2. Mỗi nguyên tử của ngôn ngữ hàm có giá trị không ?
a. Đúng *b. sAI
3. Hãy chọn những tính chất,ngôn ngữ không đặc trưng đối với ngôn ngữ lập trình LISP
a ) Ngôn ngữ hàm
*b ) Ngôn ngữ ký tự
c ) Sử dụng quy tắc lập trình đệ quy
*d ) Sử dụng nguyên tắc đưa ra lôgíc
L) làm việc với danh sách.
4. Từ "cặp điểm" có phải là mang ý nghĩa chung hơn so với danh sách không ?
*a. Có b. Không
5. Kết quả của việc gọi hàm (cons '(a b) '(c d)) là :
a. (a b c d) *b. ((a b) c d) c. ((a b) (c d))
6. Giả sử x có giá trị a, y có giá trị (2 3 4). Hãy chỉ ra giá trị đúng của việc gọi hàm (cons 'x y)
a.( 2 3 4) *b. (x 2 3 4) c. (x (2 3 4))
7. Định nghĩa S-biểu thức như sau đúng hay sai ?
< S-biểu thức> ::= <nguyên tử> | <cặp điểm> | <danh sách không rỗng>
<danh sách không rỗng> ::= ( <dãy S-biểu thức> )
<dãy S-biểu thức> ::= <S-biểu thức> | <dãy S-biểu thức > <khoảng trống> <S-biểu thức>
<cặp điểm> ::= ( <S-biểu thức> . <S-biểu thức> )
a. Đúng *b. Sai
8. Từ khoá nào cần sử dụng để mô tả hàm trong COMMON LISP với số tham số bất kỳ?
a. &optional b. &rest c.s &key V d. &aux
9. Trong định nghĩa của hàm đưa ra phần tử thứ i của danh sách sử dụng phép :
(defun ITH (lambda (I lst); I - số nguyên dương, lst - danh sách
(cond ((null lst) NIL)
((eq I 1) (car lst))
(T (ITH (- I 1) (cdr lst))))),
*a. đệ quy theo giá trị
b. đệ quy theo theo đối số
c. đệ quy theo giá trị và đối số
10. Sau khi thực hiện hàm sau thì trong danh sách kết quả sẽ bị xóa đi :
(defun REMOVE (atm lst); atm - nguyên tử, lst - danh sách bất kỳ
(cond ((null lst) NIL)
((eq atm (car lst)) (REMOVE atm (cdr lst)))
(T (cons (car lst) (REMOVE atm (cdr lst))))))
*a. tất cả các nguyên tử atm .
b. nguyên tử atm ở tầng trên
c. Nguyên tử atm đầu tiên được đưa vào trong danh sách
11. Nếu như hàm vị từ pred cho phép làm rõ , đối số duy nhất của hàm thỏa mãn điều kiện xác định hay không, thì hàm sau giữ lại trong danh sách :
(defun filter (pred lst); lst - danh sách 1 tầng
(cond ((null lst) '())
((pred (car lst)) (cons (car lst) (filter pred (cdr lst))))
(T (filter pred (cdr lst)))))
*a. Chỉ những phần tử của danh sách mà thỏa mãn điều kiện đã được chỉ ra
b. Chỉ những phần tử của danh sách mà không thỏa mãn điều kiện đã được chỉ ra
12. Hãy chỉ ra đáp án đúng của hàm (funcall append '((a 1)) '((b 2))):
a. ((a 1) (b 2)) b. (((a 1)) ((b 2))) c. (a 1 b 2)
13. Hãy chỉ ra danh sách đúng tương ứng với bản ghi sau :
((A . ((B . NIL) . ((C . NIL) . NIL))) . (D . NIL))
a. (A (B) (C) D) b. ((A B C) D) *c. ((A (B) (C)) d)
14. Hãy chỉ ra đáp án đúng của hàm (mapcar cons '(1 2 3) '(a b c))
a. ((1 a) (2 b) (3 c)) *b. ((1 . a) (2 . b) (3 . c)) c. ((1 2 3) a b c)
15. Ký từ trong ngôn ngữ hàm LISPcó thể :
a. chỉ liên quan với giá trị
b. chỉ liên quan với hàm xác định
*c. lien quan đồng thời với giá trị và với hàm xác định
16. Sự kiện là :
a. func(12, luk(4), Z) *b. Fact(4) c. think(F):- F is 2 + 4
17. Thủ tục là :
a. list([a,b,c])
memb(E) :- list([E | _]); list([_, E | _]); list([_, _, E | _])
b. hello :- call(write('Is this procedure?'))
*c. fact(0,1)
fact(1,1)
fact(N, X) :- N > 0, N1 is N - 1, fact(N1, X1), X is X1 + N
18. Yêu cầu nào sau là đúng và dẫn tới việc thống nhất tất cả các biến ?
a. ?- Z is X - 6, X = b
b. ?- F = 14, Z = F - 6, M is Z + g
c. ?- X = 7, Y = a, Z is 2 + X * 6
*d. ?- Z is X - 6, X = 3 V
e. ?- Z = F - 6
19. Ngắt nào làm hỏng lô gíc của chương trình ?
*a. max(X, Y, X) :- !, X > Y
max(X, Y, Y) :- X =< Y
b. max(X, Y, X) :- X > Y, !
max(X, Y, Y) :- X =< Y
c. max(X, Y, X) :- X > Y
max(X, Y, Y) :- X =< Y, !
20. Yêu cầu nào là yêu cầu đọc dữ liệu từ gói đầu vào ?
a. ?- get(A) b. ?- get0(A) *c. ?- read(A) d. ?- read0(A)
21. Đáp án nào thực hiện đúng lệnh if-then-else (với ite - functor, A, В và С - các số hạng lô gíc )?
a. ite :- A, B
ite :- C
*b. ite :- A, !, B
ite :- C
c. ite :- A, B
ite :- C, !
22. Chương trình nào sau đây không cho phép xác định biến có phải là số hay không ?
a. number(F) :-nonvar(F), float(F)
*b. number(F) :-F is F + 0
c. number(F) :- F1 is F + 0
23. Việc thực hiện hàm được đưa và nào sau đây không đúng ?
a. bagof(X, Goal, _) :- call(Goal), retract(results(L)), assertz(results([X | L])), fail
bagof(X, _, [X | List]) :- retract(results(List))
*b. Repeat
repeat :- repeat
c. not(X) :- call(X), !, fail
not(_)
d. fail :- 0 == 1
24. Ví dụ nào sau đây không phải là biến?(Bien la chu hoa va dau _)
a. Variable
b. Variable
c. _variable
d. _ *
25. Chương trình nào sau đây thực hiện không đúng việc kiểm tra đưa phần tử vào danh sách ?
*a. member(E, [X | tail]) :- X \= E, member(E, tail)
member(X, [Head | Tail])
b. member(Y, [Y| _])
member(Element, [_ | T]) :- member(Element, T)
c. member(E, L) :- concat(_, [E | _], L)
26. Chương trình nào sau đây thực hiện việc kiểm tra việc đưa danh sách con vào trong danh sách ?
a. sublist([], _)
sublist([X| T1], T2) :- concat(T1, [X], T3), sublist(T3, T1)
b. sublist([], _)
sublist([X| T1], T2) :- member(X, T2), sublist(T2, T1)
*c. sublist([], _)
sublist([X], [X | _])
sublist([X, Y | St], [X, Y | Bt]) :- sublist([Y| St], [Y | Bt])
sublist([Y | St], [X | Bt]) :- X \= Y, sublist([Y| St], [Bt])
d. sublist(Small, Big) :- concat(_, L2, Big), concat(Small, _, L2)
Bạn đang đọc truyện trên: Truyen247.Pro