525 câu trắc nghiệm môn Toán rời rạc
tracnghiem.net chia sẻ 525 câu trắc nghiệm môn Toán rời rạc (có đáp án) dành cho các bạn sinh viên chuyên ngành có thêm tư liệu học tập, ôn tập chuẩn bị cho kì thi kết thúc học phần sắp diễn ra. Nội dung gồm những vấn đề cơ bản nhất của toán học rời rạc lý thuyết tổ hợp, lý thuyết đồ thị, lý thuyết độ phức tạp, đại số Boole.,…Để việc ôn tập trở nên hiệu quả hơn, các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời lần lượt các câu hỏi cũng như so sánh đáp và lời giải chi tiết được đưa ra. Sau đó các bạn hãy chọn tạo ra đề ngẫu nhiên để kiểm tra lại kiến thức mình đã ôn tập được nhé!
Chọn hình thức trắc nghiệm (30 câu/60 phút)
Chọn phần
-
Câu 1:
Số các các chỉnh hợp không lặp chập k của n là:
A. Nk
B. n! / k!(n-k)!
C. n!/(n-k)!
D. n!
-
Câu 2:
Số các các hoán vị của tập n phần tử là:
A. n!/(n-k)!
B. n! / k!(n-k)!
C. Nk
D. n!
-
Câu 3:
Số các tổ hợp chập k của tập n phần tử là:
A. n!
B. Nk
C. n!/(n-k)!
D. n! / k!(n-k)!
-
Câu 4:
Số tổ hợp lặp chập r từ tập n phần tử bằng:
A. C(n+r,r)
B. C(n+r+1,r)
C. C(n+r-1,r-1)
D. C(n+r-1,r)
-
Câu 5:
Số các hoán vị lặp cấp m kiểu (k1, k2, ..,kn) của n phần tử khác nhau được tính theo công thức:
A. \({C_m}({k_1},{k_2},...,{k_n}) = \frac{{{k_1}!{k_2}!...{k_n}!}}{{m!}}\)
B. \({C_m}({k_1},{k_2},...,{k_n}) = \frac{{m!}}{{{k_1}!{k_2}!...{k_n}!}}\)
C. \({C_m}({k_1},{k_2},...,{k_n}) = \frac{{n!}}{{{k_1}!{k_2}!...{k_m}!}}\)
D. \({C_m}({k_1},{k_2},...,{k_n}) = \frac{{n!m!}}{{{k_1}!{k_2}!..{k_n}!{k_1}!{k_2}!{k_m}!}}\)
-
Câu 6:
Cho C = { 2, 4, 5, 6, 7, 8}, k = 6, n=9. Kết quả nào đúng trong số những kết quả dưới đây sau khi thực hiện thuật toán Test(C, k, n):
Function Test(C:array[1..10] of integer; k,n:integer);
Var i,j: integer;
Begin
i:=k; While (i>0) and (c[i]=n-k+i) do i:=i-1;
If i> 0 then
Begin c[i]:= c[i] +1;
For j:= i+1 to k do c[j]:=c[i] + j-1;
End;
End;
A. C= {2, 4, 5, 6, 7, 9}
B. C= {4, 5, 6, 7, 8, 9}
C. C= {3, 4, 5, 6, 7, 8}
D. C= {3, 5, 6, 7, 8, 9}
-
Câu 7:
Thuật toán dưới đây tính:
Function Test (n: Integer): Integer;
Var f1, f2, fn: Integer;
Begin
i:=2;
While i<=n do
Begin
fn := f1 + f2; f1:=f2; f2:=fn;
i:=i+1;
End;
Test:= fn;
End;
A. Tổng hai số nguyên liên tiếp n và n-1.
B. Số Fibonacci thứ n.
C. Tổng n số tự nhiên đầu tiên
D. Số nguyên tố thứ n
-
Câu 8:
Kết quả nào đúng trong số những kết quả dưới đây sau khi thực hiện thuật toán:
Function Test (n: Integer): Integer;
Var f1, f2, fn: Integer;
Begin
f1=1;
f2=1;
i:=3;
While i<=n do
Begin
fn := f1 + f2; f1:=f2; f2:=fn;
i:=i+1;
End;
Test:= fn;
End;
A. Test(6) = 5
B. Test(5) = 3
C. Test(7) = 13
D. Test(4) = 1
-
Câu 9:
Cho B = { 1, 0, 1, 0, 1, 0, 1, 1, 1, 0}, n=10. Kết quả nào đúng trong số những kết quả dưới đây sau khi thực hiện thuật toán:
Type Mang= array[1..10] of Integer;
Function Test(B:mang; n:integer): mang;
Var i:integer;
Begin
i:=n-1;
While (i>=0) and (B[i]=1) do
Begin B[i]:=0; i:=i-1; End;
B[i]:= 1;
End;
A. Test(B,n) = { 1, 0, 1, 0, 1, 1, 0, 0, 0, 1(0)}
B. Test(B,n) = { 1, 0, 1, 0, 1, 0, 1, 1, 1, 1}
C. Test(B,n) = { 0, 1, 1, 0, 1, 0, 1, 1, 1, 0}
D. Test(B,n) = { 1, 1, 1, 0, 1, 0, 1, 1, 1, 0}
-
Câu 10:
Xác định giá trị của k sau khi đoạn chương trình sau được thưc hiện xong:
k := 1;
For i1 :=1 to n1 do
k:= k+1;
For i2 :=1 to n2 do
k:= k+1;
…
For im :=1 to nm do
k:= k+1
A. n1 + n2 + … + nm
B. 1 + n1 + n2 + … + nm
C. n1 n2 … nm
D. 1+ n1 n2 … nm
-
Câu 11:
Xác định giá trị của k sau khi đoạn chương trình sau được thưc hiện xong:
k := 1;
For i1 :=1 to n1 do
For i2 :=1 to n2 do
…
For im :=1 to nm do
k:= k+1;
A. n1 n2 … nm
B. 1 + n1 + n2 + … + nm
C. 1+ n1 n2 … nm
D. n1 + n2 + … + nm
-
Câu 12:
Khi chạy chương trình:
Var S, i, j : Integer;
Begin
S := 0;
for i:= 1 to 3 do
for j:= 1 to 4 do S := S + 1 ;
End.
Giá trị sau cùng của S là:
A. 4
B. 3
C. 12
D. 0
-
Câu 13:
Cho S và i biến kiểu nguyên. Khi chạy đoạn chương trình:
S:= 0;
i:= 1;
while i<= 6 do
begin
S:= S + i;
i:= i + 2;
end;
Giá trị sau cùng của S là:
A. 6
B. 9
C. 11
D. 0
-
Câu 14:
Cho m, n, i là các biến nguyên. Khi chạy đoạn chương trình:
m:=4; n:=5; i:=5;
Repeat
i:=i+1;
Until (i Mod m = 0) and (i Mod n = 0);
Giá trị sau cùng của i là:
A. 20
B. 5
C. 4
D. 0
-
Câu 15:
Giả sử các khai báo biến đều hợp lệ. Ðể tính S = 10!, chọn câu nào?
A. S := 1; i := 1; while i<= 10 do S := S * i; i := i + 1;
B. S := 1; i := 1; while i<= 10 do i := i + 1; S := S * i;
C. S := 0; i := 1; while i<= 10 do begin S := S * i; i := i + 1; end;
D. S := 1; i := 1; while i<= 10 do begin S := S * i; i := i + 1; end;
-
Câu 16:
Thuật toán đệ quy dưới đây:
Function dequy(a: real; n:integer);
Begin
If n = 0 then dequy:=1
Else dequy:= a* dequy (a,n-1);
End;
A. Tính an
B. Tính (n-1)a
C. Tính an-1
D. Tính na
-
Câu 17:
Cho thuật toán đệ quy:
Function dequy(a: real; n:integer);
Begin
If n = 0 then dequy:=1
Else dequy:= a* dequy (a,n-1);
End;
Kết quả nào trong các kết quả sau là đúng?
A. Dequy(2,5) = 10
B. Dequy(2,5) = 25
C. Dequy(5,2) = 25
D. Dequy(5,2) = 10
-
Câu 18:
Kết quả nào đúng trong số những kết quả dưới đây sau khi thực hiện thuật toán:
Function Test (n:integer):longint;
Begin
If n = 0 then Test:=1
Else Test:= n * Test(n-1);
End;
A. Test(4) = 24
B. Test(2) = 1
C. Test(3) = 9
D. Test(5) = 20
-
Câu 19:
Thuật toán đệ qui dưới đây tính:
Function Test (a,b: integer): integer;
Begin
If a = 0 then Test:=b
Else Test:= Test(b mod a, a);
End;
A. Ước số chung lớn nhất của hai số a và b.
B. Số nhỏ nhất trong hai số a và b.
C. Bội số chung nhỏ nhất của a và b.
D. Số lớn nhất trong hai số a và b.
-
Câu 20:
Thuật toán đệ qui dưới đây tính:
Function Test (n:integer):longint;
Begin
If n = 0 then Test:=1
Else Test:= n * Test(n-1);
End
A. Tích số của n số n.
B. Tích số của n số tự nhiên đầu tiên.
C. Tích số của n-1 số n.
D. Tích số của n-1 số tự nhiên đầu tiên
-
Câu 21:
Thuật toán đệ qui dưới đây tính:
Function Tesr(n:integer): integer;
Begin
If n<=2 then Test:=1
Else Test: = Test (n-1) + Test (n-2);
End;
A. Tổng n số tự nhiên đầu tiên.
B. Số Fibonacci thứ n.
C. Số nguyên tố thứ n.
D. Tổng hai số nguyên liên tiếp n và n-1.
-
Câu 22:
Cho thuật toán:
Procedure Test (n:integer);
Begin
If (n>0) and (n<10) then Write(n)
If n>=10 then begin
Write(n mod 10);
Test (n div 10);
End;
End;
Với n=151. Kết quả nào đúng trong số những kết quả dưới đây?
A. 1
B. 15
C. 151
D. 150
-
Câu 23:
Kết quả của thuật toán dưới đây:
Procedure Test (n:integer);
Begin
If (n>0) and (n<10) then Write(n)
If n>=10 then begin
Write(n mod 10);
Test (n div 10);
End;
End;
A. Đưa ra màn hình thương của n cho 10
B. Đưa ra màn hình đảo ngược số n
C. Đưa ra màn hình số dư trong phép chia của n cho 10
D. Đưa ra màn hình là n nếu n nhỏ hơn 10 và thương của n cho 10 nếu \(n \ge 10\)
-
Câu 24:
Cho thuật toán:
Procedure Test(x,i,j: Integer);
Var m:integer;
Begin
m:=trunc(i+j)/2;
If x= a[i] then vt:=m
Else If (x<a[m]) and ( i<m) then Test(x,i,m-1)
Else If ( x> a[m] ) and (j>m) then Test(x,m+1,j)
Else vt:=0;
End;
Với A = {5, 2, 9 ,8, 6, 4, 7,1}. Kết quả nào đúng trong số những kết quả dưới đây:
A. Test(3,1,8), vt = 0;
B. Test(4,1,8), vt = 5;
C. Test(6,1,8), vt = 0;
D. Test(7,1,8), vt = 8;
-
Câu 25:
Kết quả thuật toán đệ quy:
Function Test(st:string):string;
Begin
If length(st) <=1 then Test:=st
Else Test:= st[length(st)] + Test(Copy(st,1,length(st)-1));
End;
A. Xuất mỗi kí tự của st trên một dòng
B. Đảo ngược chuỗi st
C. Đưa ra tất cả các xâu con của xâu kí tự st
D. Đưa ra độ dài của xâu st
-
Câu 26:
Thuật toán đệ quy dưới đây tính:
Function Test(a,b:Integer): Integer;
Begin
If (a=0) or (b=0) then Test:=a+b
Else
If a > b then Test:=Test(a-b,b)
Else Test:= Test(a,b-a);
End;
A. Tính hiệu 2 số a và b
B. Tìm số dư trong phép chia a cho b
C. Tìm ước chung lớn nhất của a và b
D. Tìm bội chung nhỏ nhất của a và b
-
Câu 27:
Cho thuật toán:
Function Test(a,b:Integer): Integer;
Begin
If (a=0) or (b=0) then Test:=a+b
Else
If a > b then Test:=Test(a-b,b)
Else Test:= Test(a,b-a);
End;
Với a = 81, b = 54. Kết quả nào đúng trong số những kết quả dưới đây:
A. 81
B. 27
C. 1
D. 9
-
Câu 28:
Thuật toán đệ quy dưới đây tính:
Function Test(a,b): Integer;
Begin
If (b = a) or (b = 0) then Test:=1
Else Test := Test (a-1,b-1) + Test (a-1,b);
End;
A. Bội chung nhỏ nhất của a và b
B. Ước chung lớn nhất của a và b
C. Số Fibonaci thứ a
D. Tổ hợp chập b của a
-
Câu 29:
Cho thuật toán:
Function Test(a,b): Integer;
Begin
If (b = a) or (b = 0) then Test:=1
Else Test := Test (a-1,b-1) + Test (a-1,b);
End;
Với a = 21, b = 3. Kết quả nào đúng trong số những kết quả dưới đây:
A. 10946
B. 1330
C. 3
D. 21
-
Câu 30:
Từ bảng chữ cái tiếng Anh có thể tạo ra được bao nhiêu xâu kí tự có độ dài N.
A. 26.(N-1)
B. 26N
C. N26
D. 26N