Phần II: Giải quyết bài toán
(Bài 157-169)
(Ấn vào đáp án bạn cho là đúng để xem kết quả)
Câu 157: Cho biết giá trị của A, B khi kết thúc đoạn mã giả:
A←0, B←1
if (A<B) then
A = B
B = A
end if
|
a. A=0 và B=1 |
b. A=1 và B=0 |
c. A=1 và B=1 |
d. A=0 và B=0 |
c Đúng
Lệnh | A | B | Chú thích |
A←0 | 0 | Chưa xác định | Gán A=0 |
B←1 | 0 | 1 | Gán B=0 |
if (A<B) | 0 | 1 | 0<1 đúng → thực hiện lệnh then |
A=B | 1 | 1 | Gán A=B=1; giữ nguyên B=1 |
B=A | 1 | 1 | Gán B=A=1; giữ nguyên A=1 |
end if | 1 | 1 | Kết thúc |
|
---|
Câu 158: Cho lưu đồ thuật toán
|
a. a=0, b=10 ➜ Phương trình vô nghiệm |
b. a=10, b=0 ➜ Phương trình vô nghiệm |
c. a=0, b=10 ➜ Phương trình vô số nghiệm |
d. a=10, b=0 ➜ Phương trình vô số nghiệm |
---|
a Đúng Quá trình thực hiện lệnh:
(1)➜(2)➜(3)➜(5)Phương trình vô nghiệm
|
---|
b Sai Quá trình thực hiện lệnh:
(1)➜(2)➜(4)Nghiệm là: x=-b/a
|
---|
c Sai Quá trình thực hiện lệnh:
(1)➜(2)➜(3)➜(5)Phương trình vô nghiệm
|
---|
d Sai Quá trình thực hiện lệnh:
(1)➜(2)➜(4)Nghiệm là: x=-b/a
|
---|
Câu 159: Với mối quan hệ nào giữa hai số nguyên dương a và b thì thuật toán được thể hiện bằng lưu đồ bên dưới đi theo trật tự:
(1)➜(2)➜(3)➜(5)➜(2)➜(3)➜(4)➜(2)➜(6)
|
a. a = 2b |
b. 2a = 3b |
c. 2a = b |
d. 3a = 2b |
---|
d Đúng
Lệnh | m | n | Ghi chú |
(1) | a | b | Gán m=a và n=b |
(2) | a | b | Kiểm tra m=n có đúng không |
(3) | a | b | (2)→(3) ⇒ m≠n ⇒ a≠b |
(5) | a | b-a | (3)→(5) ⇒ m<n ⇒ a<b Gán n=n-m=b-a Giữ nguyên m=a |
(2) | a | b-a | Kiểm tra m=n có đúng không |
(3) | a | b-a | (2)→(3) ⇒ m≠n ⇒ a≠b-a⇒ 2a≠b |
(4) | 2a-b | b-a | (3)→(4) ⇒ m>n ⇒ 2a>b Gán m=m-n=2a-b Giữ nguyên n=b-a |
(2) | 2a-b | b-a | Kiểm tra m=n có đúng không |
(6) | 2a-b | b-a | (2)→(6) ⇒ m=n ⇒ 2a-b=b-a⇒ 3a=2b Hiển thị m |
|
---|
Câu 160: Cho biết giá trị của MAX khi kết thúc đoạn mã giả:
A ← 3, B ← 1, C ← 5, MAX ← A
if (MAX < B) then
MAX ← B
end if
if (MAX < C) then
MAX ← C
end if
|
a. 1 |
b. 5 |
c. 3 |
d. Không xác định |
---|
b Đúng _Ta có thể thấy đoạn mã trên nhằm tìm ra giá trị lớn nhất trong 3 số A, B, C
Vậy có thể biết ngay đáp án là MAX=5
_Thực hiện chạy thử mã qua bảng dưới
Ban đầu A=3, B=1, C=5, MAX=A=3 |
Lệnh | MAX | Chú thích |
if (MAX < B) | 3 | 3<1 là sai → bỏ qua lệnh then sau đó |
MAX←B | | Gán MAX=B=1 Lệnh bị bỏ |
end if | 3 | Kết thúc lệnh if thứ nhất |
if (MAX<C) | 3 | 3<5 đúng → thực hiện lệnh then sau đó |
MAX←C | 5 | Gán MAX=C=5 |
end if | 5 | Kết thúc |
|
---|
Câu 161: Cho biết giá trị của A, B khi kết thúc đoạn mã giả:
A ← 0, B ← 1, C
if (A < B) then
C = B
B = A
A = C
end if
|
a. A=0 và B=1 |
b. A=1 và B=0 |
c. A=1 và B=1 |
d. A=0 và B=0 |
---|
b Đúng _Ta thấy đây là đoạn mã đổi giá trị 2 biến A và B cho nhau.
Vậy sau khi thực hiện ta được A=1, B=0
_Thực hiện chạy thử mã qua bảng dưới
Lệnh | A | B | C | Ghi chú |
A←0 | 0 | -- | -- | Gán A=0 |
B←1 | 0 | 1 | -- | Gán B=1 |
C | 0 | 1 | -- | Gọi biến C |
if (A < B) | 1 | 0 | -- | 0 < 1 đúng thực hiện lệnh then |
C=B | 0 | 1 | 1 | Gán C=B=1 |
B=A | 0 | 0 | 1 | Gán B=A=0 |
A=C | 1 | 0 | 1 | Gán A=C=1 |
end if | 1 | 0 | 1 | Kết thúc |
|
---|
Câu 162: Cho biết giá trị của A khi kết thúc đoạn mã giả:
A ← 0
for i = 1 to 5 do
A ← A+2
end do
|
a. A=9 |
b. A=10 |
c. A=18 |
d. A=20 |
---|
b Đúng
Lệnh | A | Ghi chú |
A←0 | 0 | Gán A=0 |
for i=1 to 5 | 0 | thực hiện vòng lặp for i=1 to 5 |
i=1 do A←A+2 | 2 | Gán A=A+2=2 |
i=2 do A←A+2 | 4 | Gán A=A+2=4 |
i=3 do A←A+2 | 6 | Gán A=A+2=6 |
i=4 do A←A+2 | 8 | Gán A=A+2=8 |
i=5 do A←A+2 | 10 | Gán A=A+2=10 |
end do | 10 | Kết thúc |
|
---|
Câu 163: Cho biết giá trị của S khi kết thúc đoạn mã giả:
i,S ← 0
for i = 1 to 9 do
S ← S+i
end do
|
a. 0 |
b. 45 |
c. 55 |
d. 66 |
---|
b Đúng _Ta có thể thấy đoạn mã trên nhằm tính tổng các số tự nhiên từ 1 tới 9
Vậy có thể biết ngay đáp án S=45
_Thực hiện chạy thử mã qua bảng dưới
Lệnh | S | Ghi chú |
i,S ← 0 | 0 | Gọi biến i,S và Gán S=0 |
for i=1 to 9 | 0 | thực hiện vòng lặp for i=1 to 9 |
i=1 do S←S+i | 1 | Gán S=S+i=0+1=1 |
i=2 do S←S+i | 3 | Gán S=S+i=1+2=3 |
i=3 do S←S+i | 6 | Gán S=S+i=3+3=6 |
i=4 do S←S+i | 10 | Gán S=S+i=6+4=10 |
i=5 do S←S+i | 15 | Gán A=A+2=10+5=15 |
i=6 do S←S+i | 21 | Gán A=A+2=15+6=21 |
i=7 do S←S+i | 28 | Gán A=A+2=21+7=28 |
i=8 do S←S+i | 36 | Gán A=A+2=28+8=36 |
i=9 do S←S+i | 45 | Gán A=A+2=36+9=45 |
end do | 45 | Kết thúc |
|
---|
Câu 164: Cho biết giá trị n khi kết thúc đoạn mã giả:
X ← 1, N ← 1
while (X ≤ 1000) do
X ← 2X
n ← n+1
end while
|
a. 4 |
b. 5 |
c. 6 |
d. 7 |
---|
b Đúng
Lệnh | X | n | Ghi chú |
X ← 1 | 1 | chưa xác định | Gán X=1 |
n ← 1 | 1 | 1 | Gán n=1 |
while (X ≤ 1000) | 1 | 1 | 1≤1000 đúng → thực hiện lệnh do |
X ← 2X | 2 | 1 | Gán X=2X=21=2 |
n ← n+1 | 2 | 2 | Gán n=n+1=1+1=2 |
while (X ≤ 1000) | 2 | 2 | 2≤1000 đúng → thực hiện lệnh do |
X ← 2X | 4 | 2 | Gán X=2X=22=4 |
n ← n+1 | 4 | 3 | Gán n=n+1=2+1=3 |
while (X ≤ 1000) | 4 | 3 | 4≤1000 đúng → thực hiện lệnh do |
X ← 2X | 16 | 3 | Gán X=2X=24=16 |
n ← n+1 | 16 | 4 | Gán n=n+1=3+1=4 |
while (X ≤ 1000) | 16 | 4 | 16≤1000 đúng → thực hiện lệnh do |
X ← 2X | 65536 | 4 | Gán X=2X=216=65536 |
n ← n+1 | 65536 | 5 | Gán n=n+1=4+1=5 |
while (X ≤ 1000) | 65536 | 5 | 65536≤1000 sai → bỏ qua lệnh do |
X ← 2X | | | Gán X=2X Bỏ qua lệnh này |
n ← n+1 | | | Gán n=n+1 Bỏ qua lệnh này |
end do | 65536 | 5 | Kết thúc |
|
---|
Câu 165: Cho biết giá trị của n khi kết thúc đoạn mã giả:
x ← 1, n ← 1
while (x ≤ 1000) do
x ← 2*x
n ← n+1
end while
|
a. 9 |
b. 10 |
c. 11 |
d. 12 |
---|
c Đúng
Lệnh | x | n | Ghi chú |
x ← 1 | 1 | chưa xác định | Gán x=1 |
n ← 1 | 1 | 1 | Gán n=1 |
while (x ≤ 1000) | 1 | 1 | 1≤1000 đúng → thực hiện lệnh do |
x ← 2*x | 2 | 1 | Gán x=2*x=2*1=2 |
n ← n+1 | 2 | 2 | Gán n=n+1=1+1=2 |
while (x ≤ 1000) | 2 | 2 | 2≤1000 đúng → thực hiện lệnh do |
x ← 2*x | 22 | 2 | Gán x=2*x=2*2=22 |
n ← n+1 | 22 | 3 | Gán n=n+1=2+1=3 |
while (x ≤ 1000) | 22 | 3 | 22≤1000 đúng → thực hiện lệnh do |
x ← 2*x | 23 | 3 | Gán x=2*x=2*22=23 |
n ← n+1 | 23 | 4 | Gán n=n+1=3+1=4 |
... |
while (x ≤ 1000) | 29 | 10 | 29≤1000 đúng → thực hiện lệnh do |
x ← 2*x | 210 | 10 | Gán x=2*x=2*29=210 |
n ← n+1 | 210 | 11 | Gán n=n+1=8+1=9 |
while (x ≤ 1000) | 210 | 11 | 210≤1000 sai → bỏ qua lệnh do |
x ← 2*x | | | Gán x=2*x Bỏ qua lệnh này |
n ← n+1 | | | Gán n=n+1 Bỏ qua lệnh này |
end do | 210 | 11 | Kết thúc |
|
---|
Câu 166: Cho biết giá trị của F(n) với n=4 biết hàm F được tính đệ quy như sau:
F(0) ← 1
if (n > 0) then
F(n) ← F(n-1) * n
end if
|
a. 0 |
b. 1 |
c. 24 |
d. 6 |
---|
c Đúng
F(n)=F(n-1)*n | F(0)=1 |
F(1)=F(0)*1 | F(1)=1*1=1 |
F(2)=F(1)*2 | F(2)=1*2=2 |
F(3)=F(2)*3 | F(3)=2*3=6 |
F(4)=F(3)*4 | F(4)=6*4=24 |
|
---|
Câu 167: Hàm T(n) được định nghĩa đệ quy như sau:
● T(0)=1 ; T(1)=1
● T(n)= 2T(n-1) + 3T(n-2) với n≥2
Hãy cho biết giá trị hàm T(4)?
|
a. 7 |
b. 20 |
c. 45 |
d. 41 |
---|
d Đúng
T(n) = 2T(n-1) + 3T(n-2) | T(0)=1 ; T(1)=1 |
T(2) = 2T(1) + 3T(0) | T(2)=2*1+3*1=5 |
T(3) = 2T(2) + 3T(1) | T(3)=2*5+3*1=13 |
T(4) = 2T(3) + 3T(2) | T(4)=2*13+3*5=41 |
|
---|
Câu 168: Cho biết giá trị F(n) với n=5, biết hàm F được tính đệ quy như sau:
F(0) ← 0, F(1) ← 1
if (n > 1) then
F(n) ← F(n-1) + F(n-2)
end if
|
a. 3 |
b. 4 |
c. 5 |
d. 6 |
---|
c Đúng
F(n) = F(n-1) + F(n-2) | F(0)=0 ; F(1)=1 |
F(2) = F(1) + F(0) | F(2)=1+0=1 |
F(3) = F(2) + F(1) | F(3)=1+1=2 |
F(4) = F(3) + F(2) | F(4)=2+1=3 |
F(5) = F(4) + F(3) | F(5)=3+2=5 |
|
---|
Câu 169: Phát biểu nào về thuật giải heuristic là đúng?
|
a. Là thuật giải giúp tìm ra lời giải tốt nhất dễ dàng và nhanh chóng hơn các phương pháp khác |
b. Là sự mở rộng tính xác định của thuật toán |
c. Thường đưa ra lời giải gần đúng tốt nhất cho các bài toán phức tạp khó tìm lời giải đúng |
d. Là thuật toán luôn tìm ra được lời giải tốt cho các bài toán phức tạp |
---|
a Sai
Thường tìm được lời giải tốt (nhưng không chắc là lời giải tốt nhất) |
---|
Copyright : Theza
ღ Lưu ý: Mình chỉ sử dụng Fanpage Theza2 để bình luận. Mọi nick khác đều không phải mình.
Mình hiện tại có những việc riêng phải bận cho cuộc sống của mình, sẽ không còn thường xuyên hồi đáp các bình luận, mong được lượng thứ..
Liên kết hay đáng ghe thăm:
HocTapHay.com:
Tổng hợp kiến thức, bải giảng các môn học Trung học cơ sở, Trung học phổ thông,... khá đầy đủ và chi tiết.
...