Đề thi
NHP MÔN PHÂN TÍCH THUT TOÁN
(120 phút, được phép dùng tài liu)
Câu 1
Vi n nguyên dương, ta đặt:
n
11 1
H 1 ...
23 n
=+ + + +
n12
SHH...H
n
=
+++
.
a) Chng minh:
()
nn+1
H1HHnn=+
n
1
b) Tìm công thc tính S
n
theo H
n
.
c) Ước lượng độ ln ca S
n
(so vi n) theo kí hiu Θ.
Câu 2
Gi s n là mt s nguyên dương. Xem thut toán mã gi trong bng sau đây.
I=1, result=0, h=1
While I<=n do
J=1, t =1
While J<=h do
t = x * I * J
J = J + 1
Endw
I = I + 1
h = h + 1/I {phép chia s thc}
re
Endw
sult = result + x
a) Phân đon thut toán thành các thành
phn để có th ước lượng s lượng các
phép toán được thc hin.
b) Hãy tính theo n s phép gán và s
phép so sánh được thc hin trong
thut toán.
c) Xác định độ phc tp ca thut toán.
Câu 3
Gi s n là mt s nguyên dương. Xem hàm được viết trong bng sau đây.
float Si(float x, long n) {
long i=1; float z=0;
while(i<=n){
long j=1; float t=1;
while(j-i<=i*i*i){
if(j>=i*i)
t = t/2;
t = t*x;
j = j + 1;
}
z = z + i*t;
i = 2*i;
}
return z;
}
a) Phân đon hàm này thành các thành phn để
th ước lượng s lượng các phép toán được thc
hin.
b) Ước lượng theo n s phép gán được thc hin.
(Đề thi gm 1 trang)

Preview text:

Đề thi
NHẬP MÔN PHÂN TÍCH THUẬT TOÁN
(120 phút, được phép dùng tài liệu) Câu 1
Với n nguyên dương, ta đặt: 1 1 1 H = 1+ + + ...+ S = H + H + ... + H n và . 2 3 n n 1 2 n
a) Chứng minh: H = n +1 H − nH −1 n ( ) n+1 n
b) Tìm công thức tính Sn theo Hn.
c) Ước lượng độ lớn của Sn (so với n) theo kí hiệu Θ. Câu 2
Giả sử n là một số nguyên dương. Xem thuật toán mã giả trong bảng sau đây. I=1, result=0, h=1
While I<=n do J=1, t =1
a) Phân đoạn thuật toán thành các thành
While J<=h do
phần để có thể ước lượng số lượng các t = x * I * J
phép toán được thực hiện. J = J + 1
b) Hãy tính theo n số phép gán và số Endw
phép so sánh được thực hiện trong I = I + 1 thuật toán.
h = h + 1/I {phép chia số thực} result = result + x
c) Xác định độ phức tạp của thuật toán. Endw Câu 3
Giả sử n là một số nguyên dương. Xem hàm được viết trong bảng sau đây.
float Si(float x, long n) {
long i=1; float z=0; while(i<=n){
a) Phân đoạn hàm này thành các thành phần để có
long j=1; float t=1;
thể ước lượng số lượng các phép toán được thực
while(j-i<=i*i*i){ hiện. if(j>=i*i)
b) Ước lượng theo n số phép gán được thực hiện. t = t/2; t = t*x; j = j + 1; } z = z + i*t; i = 2*i; } return z; } (Đề thi gồm 1 trang)
Document Outline

  • Câu 1
  • Câu 2
  • a) Phân đoạn thuật toán thành các thành phần để có thể ước lượng số lượng các phép toán được thực hiện.
  • b) Hãy tính theo n số phép gán và số phép so sánh được thực hiện trong thuật toán.
  • c) Xác định độ phức tạp của thuật toán.
    • Câu 3