Hỗ trợ: xuất hoá đơn GTGT 8%.
Image 1

Câu 46. Cho biết kết quả của đoạn chương trình sau: s=0 for i in range(3,10,2):…

Câu 46. Cho biết kết quả của đoạn chương trình sau:
s=0
for i in range(3,10,2):…

Câu 46. Cho biết kết quả của đoạn chương trình sau:
s=0
for i in range(3,10,2):
if i%3==0: s=s+i
print(s)
a. 12 b. 42 c. 5 d. 9
Câu 47. Cho biết kết quả của đoạn chương trình sau:
x=2; n=3
t=1
for i in range(3): t=t*x
print(t)
a. 8 b. 6 c. 9 d. 3
Câu 48. Cho biết kết quả của đoạn chương trình sau:
s = 0
for i in range (4,10,2) : s = s*i
print(s)
a. 0 b. 192 c. 18 d. 3
Câu 49. Hãy cho biết kết quả của đoạn chương trình sau:
a=4
if (not a>=5) :
print(“hello”)
else:
print(“bye bye”)
a. hello b. hello bye bye
c. bye bye hello d.bye bye
Câu 50. Hãy cho biết kết quả của đoạn chương trình sau:
a=21 ; b=11
if a%b==0 :
print(“yes”)
esle :
print(“no”)
a. yes b. no c. yes no d. no yes
Câu 51. Cho đoạn chương trình sau:
j=0
for i in range(5):
j=j+i
print(j)
Sau khi thực hiện chương trình giá trị biến j bằng bao nhiêu?
a. 10 b. 15 c. 12 d. 0
Câu 52. Đoạn trương trình sau giải bài toán nào?
t=0
for i in range(1,101):
if(i%3==0) and (i%5==0):
t=t+i
print(t)
a. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100
b. Tính tổng các số phạm vi từ 1 đến 100
c. Tính tổng các số chẵn từ 1 đến 100
d. Đếm các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100
Câu 53: Quan sát chương trình và cho biết chương trình sai ở dòng lệnh nào?
a=int(input(“nhập chiều dài=”))
b=int(input(“nhập chiều rộng=”))
s=a*b
print(“Diện tích hình chữ nhật là=”,S)
a. 1 b.2
c. 3 d. 4
Hỏi bởi: Joen Jungkook
3 câu trả lời

▲ 7
Chào các em học sinh thân mến! Cô rất vui được đồng hành cùng các em trong buổi học hôm nay để cùng nhau giải quyết các bài tập thú vị về lập trình Python. Chúng ta sẽ cùng nhau phân tích từng bước một, giống như cách chúng ta lập trình vậy. Nào, chúng ta cùng bắt đầu nhé!

— Câu 46 —

Đề bài: Cho biết kết quả của đoạn chương trình sau:
s=0
for i in range(3,10,2):
if i%3==0: s=s+i
print(s)

Phân tích và lời giải chi tiết (Step-by-step):

  1. Khởi tạo biến:
    • Biến s được gán giá trị ban đầu là 0.
  2. Vòng lặp for i in range(3,10,2)::
    • Lệnh range(3,10,2) sẽ tạo ra một dãy số bắt đầu từ 3, kết thúc trước 10, và mỗi số cách nhau 2 đơn vị.
    • Các giá trị mà biến i sẽ lần lượt nhận là: 3, 5, 7, 9.
  3. Thực hiện vòng lặp:
    • Lần lặp 1: i = 3
      • Kiểm tra điều kiện if i%3==0 (tức là 3 % 3 == 0). Điều kiện này là True (3 chia hết cho 3).
      • Thực hiện lệnh s = s + i. Giá trị mới của s sẽ là \(0 + 3 = 3\).
    • Lần lặp 2: i = 5
      • Kiểm tra điều kiện if i%3==0 (tức là 5 % 3 == 0). Điều kiện này là False (5 không chia hết cho 3, 5 chia 3 dư 2).
      • Không thực hiện lệnh s = s + i. Giá trị của s vẫn giữ nguyên là 3.
    • Lần lặp 3: i = 7
      • Kiểm tra điều kiện if i%3==0 (tức là 7 % 3 == 0). Điều kiện này là False (7 không chia hết cho 3, 7 chia 3 dư 1).
      • Không thực hiện lệnh s = s + i. Giá trị của s vẫn giữ nguyên là 3.
    • Lần lặp 4: i = 9
      • Kiểm tra điều kiện if i%3==0 (tức là 9 % 3 == 0). Điều kiện này là True (9 chia hết cho 3).
      • Thực hiện lệnh s = s + i. Giá trị mới của s sẽ là \(3 + 9 = 12\).
  4. Kết thúc vòng lặp.
  5. Lệnh print(s):
    • Chương trình in ra giá trị cuối cùng của biến s, là 12.

Kết quả cuối cùng: 12

Đáp án đúng: a. 12

— Câu 47 —

Đề bài: Cho biết kết quả của đoạn chương trình sau:
x=2; n=3
t=1
for i in range(3): t=t*x
print(t)

Phân tích và lời giải chi tiết (Step-by-step):

  1. Khởi tạo biến:
    • Biến x được gán giá trị 2.
    • Biến n được gán giá trị 3 (biến n không được sử dụng trong vòng lặp này, đây có thể là một biến thừa hoặc dùng để gây nhiễu).
    • Biến t được gán giá trị ban đầu là 1.
  2. Vòng lặp for i in range(3)::
    • Lệnh range(3) sẽ tạo ra một dãy số bắt đầu từ 0, kết thúc trước 3.
    • Các giá trị mà biến i sẽ lần lượt nhận là: 0, 1, 2. Vòng lặp sẽ chạy 3 lần.
  3. Thực hiện vòng lặp:
    • Lần lặp 1: i = 0
      • Thực hiện lệnh t = t * x. Giá trị mới của t sẽ là \(1 * 2 = 2\).
    • Lần lặp 2: i = 1
      • Thực hiện lệnh t = t * x. Giá trị mới của t sẽ là \(2 * 2 = 4\).
    • Lần lặp 3: i = 2
      • Thực hiện lệnh t = t * x. Giá trị mới của t sẽ là \(4 * 2 = 8\).
  4. Kết thúc vòng lặp.
  5. Lệnh print(t):
    • Chương trình in ra giá trị cuối cùng của biến t, là 8.

Giải thích thêm: Đoạn mã này thực hiện phép tính lũy thừa \(x^3\), với \(x=2\), vậy kết quả là \(2^3 = 8\).

Kết quả cuối cùng: 8

Đáp án đúng: a. 8

— Câu 48 —

Đề bài: Cho biết kết quả của đoạn chương trình sau:
s = 0
for i in range (4,10,2) : s = s*i
print(s)

Phân tích và lời giải chi tiết (Step-by-step):

  1. Khởi tạo biến:
    • Biến s được gán giá trị ban đầu là 0.
  2. Vòng lặp for i in range (4,10,2)::
    • Lệnh range(4,10,2) sẽ tạo ra một dãy số bắt đầu từ 4, kết thúc trước 10, và mỗi số cách nhau 2 đơn vị.
    • Các giá trị mà biến i sẽ lần lượt nhận là: 4, 6, 8.
  3. Thực hiện vòng lặp:
    • Lần lặp 1: i = 4
      • Thực hiện lệnh s = s * i. Giá trị mới của s sẽ là \(0 * 4 = 0\).
    • Lần lặp 2: i = 6
      • Thực hiện lệnh s = s * i. Giá trị mới của s sẽ là \(0 * 6 = 0\).
    • Lần lặp 3: i = 8
      • Thực hiện lệnh s = s * i. Giá trị mới của s sẽ là \(0 * 8 = 0\).
  4. Kết thúc vòng lặp.
  5. Lệnh print(s):
    • Chương trình in ra giá trị cuối cùng của biến s, là 0.

Giải thích thêm: Bất kỳ số nào nhân với 0 đều bằng 0. Vì biến s được khởi tạo bằng 0, nên dù i có giá trị nào thì s cũng sẽ luôn là 0 sau mỗi phép nhân.

Kết quả cuối cùng: 0

Đáp án đúng: a. 0

— Câu 49 —

Đề bài: Hãy cho biết kết quả của đoạn chương trình sau:
a=4
if (not a>=5) :
print("hello")
else:
print("bye bye")

Phân tích và lời giải chi tiết (Step-by-step):

  1. Khởi tạo biến:
    • Biến a được gán giá trị 4.
  2. Kiểm tra điều kiện if (not a>=5)::
    • Đầu tiên, ta xét biểu thức bên trong dấu ngoặc: a >= 5. Với a = 4, biểu thức này trở thành 4 >= 5. Kết quả là False.
    • Tiếp theo, ta xét toán tử not: not False. Kết quả là True.
    • Vì điều kiện của câu lệnh ifTrue, nên khối lệnh bên dưới if sẽ được thực thi.
  3. Thực hiện khối lệnh if:
    • Lệnh print("hello") sẽ được thực hiện.
    • Khối lệnh else sẽ bị bỏ qua.

Kết quả cuối cùng: hello

Đáp án đúng: a. hello

— Câu 50 —

Đề bài: Hãy cho biết kết quả của đoạn chương trình sau:
a=21 ; b=11
if a%b==0 :
print("yes")
esle :
print("no")

Phân tích và lời giải chi tiết (Step-by-step):

  1. Khởi tạo biến:
    • Biến a được gán giá trị 21.
    • Biến b được gán giá trị 11.
  2. Kiểm tra điều kiện if a%b==0::
    • Tính toán biểu thức a % b: \(21 % 11\). Kết quả là 10 (vì 21 chia 11 được 1 dư 10).
    • Kiểm tra điều kiện 10 == 0. Điều kiện này là False.
    • Vì điều kiện của câu lệnh ifFalse, nên khối lệnh bên dưới if sẽ bị bỏ qua và khối lệnh else sẽ được thực thi.
  3. Xác định lỗi cú pháp:
    • Tuy nhiên, có một lỗi cú pháp ở dòng esle :. Từ khóa đúng phải là else.
    • Nếu đoạn chương trình này được chạy trong Python, nó sẽ báo lỗi SyntaxError do từ khóa esle không hợp lệ.
    • Trong các bài kiểm tra trắc nghiệm, nếu không có phương án “Lỗi cú pháp”, chúng ta thường ngầm hiểu là cần sửa lỗi cú pháp để đoạn code có thể chạy được. Giả sử ta sửa esle thành else.
  4. Thực hiện khối lệnh else (sau khi sửa lỗi cú pháp):
    • Lệnh print("no") sẽ được thực hiện.

Lưu ý quan trọng: Đoạn mã gốc có lỗi cú pháp ở từ khóa “esle”. Nếu chạy trực tiếp sẽ báo lỗi. Tuy nhiên, nếu đề bài mong muốn kết quả khi chương trình hoạt động bình thường (đã sửa lỗi), thì kết quả là “no”. Cô sẽ trả lời theo hướng đã sửa lỗi cú pháp vì các phương án đều là kết quả in ra.

Kết quả cuối cùng (giả sử đã sửa lỗi cú pháp “esle” thành “else”): no

Đáp án đúng: b. no

— Câu 51 —

Đề bài: Cho đoạn chương trình sau:
j=0
for i in range(5):
j=j+i
print(j)
Sau khi thực hiện chương trình giá trị biến j bằng bao nhiêu?

Phân tích và lời giải chi tiết (Step-by-step):

  1. Khởi tạo biến:
    • Biến j được gán giá trị ban đầu là 0.
  2. Vòng lặp for i in range(5)::
    • Lệnh range(5) sẽ tạo ra một dãy số nguyên bắt đầu từ 0 và kết thúc trước 5.
    • Các giá trị mà biến i sẽ lần lượt nhận là: 0, 1, 2, 3, 4.
  3. Thực hiện vòng lặp:
    • Lần lặp 1: i = 0
      • Thực hiện lệnh j = j + i. Giá trị mới của j sẽ là \(0 + 0 = 0\).
    • Lần lặp 2: i = 1
      • Thực hiện lệnh j = j + i. Giá trị mới của j sẽ là \(0 + 1 = 1\).
    • Lần lặp 3: i = 2
      • Thực hiện lệnh j = j + i. Giá trị mới của j sẽ là \(1 + 2 = 3\).
    • Lần lặp 4: i = 3
      • Thực hiện lệnh j = j + i. Giá trị mới của j sẽ là \(3 + 3 = 6\).
    • Lần lặp 5: i = 4
      • Thực hiện lệnh j = j + i. Giá trị mới của j sẽ là \(6 + 4 = 10\).
  4. Kết thúc vòng lặp.
  5. Lệnh print(j):
    • Chương trình in ra giá trị cuối cùng của biến j, là 10.

Giải thích thêm: Đoạn mã này tính tổng của các số từ 0 đến 4, tức là \(0 + 1 + 2 + 3 + 4 = 10\).

Kết quả cuối cùng: 10

Đáp án đúng: a. 10

— Câu 52 —

Đề bài: Đoạn trương trình sau giải bài toán nào?
t=0
for i in range(1,101):
if(i%3==0) and (i%5==0):
t=t+i
print(t)

Phân tích và lời giải chi tiết (Step-by-step):

  1. Khởi tạo biến:
    • Biến t được gán giá trị ban đầu là 0. Đây là biến dùng để lưu trữ kết quả cuối cùng.
  2. Vòng lặp for i in range(1,101)::
    • Lệnh range(1,101) sẽ tạo ra một dãy số nguyên bắt đầu từ 1 và kết thúc tại 100 (không bao gồm 101).
    • Tức là, biến i sẽ lần lượt nhận các giá trị từ 1 đến 100.
  3. Điều kiện if(i%3==0) and (i%5==0)::
    • Điều kiện này kiểm tra xem số i có chia hết cho 3 hay không (i%3==0) VÀ có chia hết cho 5 hay không (i%5==0).
    • Việc một số chia hết cho cả 3 và 5 có nghĩa là nó chia hết cho bội chung nhỏ nhất của 3 và 5, tức là 15.
  4. Thao tác t=t+i:
    • Nếu điều kiện trên đúng (tức là i chia hết cho cả 3 và 5), thì giá trị của i sẽ được cộng dồn vào biến t.
  5. Kết thúc chương trình:
    • Sau khi vòng lặp kết thúc, lệnh print(t) sẽ in ra tổng t của tất cả các số i trong khoảng từ 1 đến 100 mà chia hết cho cả 3 và 5.

Tổng hợp ý nghĩa của chương trình:
Đoạn chương trình này tính tổng của các số nguyên trong phạm vi từ 1 đến 100 mà đồng thời chia hết cho 3 và 5.

Phân tích các đáp án:

  • a. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100: Sai, điều kiện là and (và), không phải or (hoặc).
  • b. Tính tổng các số phạm vi từ 1 đến 100: Sai, chương trình chỉ cộng những số thỏa mãn điều kiện, không phải tất cả các số.
  • c. Tính tổng các số chẵn từ 1 đến 100: Sai, điều kiện kiểm tra chia hết cho 3 và 5, không phải số chẵn.
  • d. Đếm các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100: Đáp án này đúng về phần điều kiện “chia hết cho 3 và 5” và phạm vi “từ 1 đến 100”. Tuy nhiên, chương trình đang thực hiện phép “Tính tổng” (t=t+i), chứ không phải “Đếm” (nếu là đếm thì sẽ là t=t+1). Dù vậy, trong các lựa chọn được đưa ra, đây là lựa chọn mô tả đúng nhất tập hợp các số mà chương trình đang xử lý.

Kết luận: Mặc dù có sự không chính xác nhỏ ở từ “Đếm” thay vì “Tính tổng”, nhưng đáp án d là đáp án gần đúng nhất và mô tả chính xác nhất về tập hợp các số được chọn để xử lý.

Đáp án đúng: d.

— Câu 53 —

Đề bài: Quan sát chương trình và cho biết chương trình sai ở dòng lệnh nào?
a=int(input("nhập chiều dài="))
b=int(input("nhập chiều rộng="))
s=a*b
print("Diện tích hình chữ nhật là=",S)

Phân tích và lời giải chi tiết (Step-by-step):

  1. Dòng 1: a=int(input("nhập chiều dài="))
    • Đây là lệnh đúng cú pháp để nhập một chuỗi từ bàn phím và chuyển đổi nó thành số nguyên, sau đó gán cho biến a. Không có lỗi.
  2. Dòng 2: b=int(input("nhập chiều rộng="))
    • Tương tự dòng 1, đây là lệnh đúng cú pháp để nhập và gán giá trị số nguyên cho biến b. Không có lỗi.
  3. Dòng 3: s=a*b
    • Đây là lệnh đúng cú pháp để tính tích của ab, sau đó gán kết quả cho biến s. Không có lỗi.
  4. Dòng 4: print("Diện tích hình chữ nhật là=",S)
    • Tại dòng này, biến được sử dụng là S (chữ cái S in hoa).
    • Tuy nhiên, biến lưu trữ kết quả diện tích được định nghĩa ở dòng 3 là s (chữ cái s in thường).
    • Python là ngôn ngữ phân biệt chữ hoa, chữ thường (case-sensitive). Do đó, sS là hai biến hoàn toàn khác nhau.
    • Khi chương trình cố gắng in giá trị của biến S (chữ hoa), Python sẽ không tìm thấy biến này và sẽ báo lỗi NameError: name 'S' is not defined (Lỗi tên: tên ‘S’ chưa được định nghĩa).

Kết luận: Lỗi xảy ra ở dòng 4 do sử dụng sai tên biến (S thay vì s).

Đáp án đúng: d. 4

Chúc mừng các em đã hoàn thành các bài tập! Qua đây, chúng ta đã ôn lại cách thức hoạt động của vòng lặp for, câu lệnh điều kiện if-else, toán tử số học, toán tử logic, và đặc biệt là tầm quan trọng của việc cẩn thận với cú pháp và phân biệt chữ hoa/thường trong Python. Hãy tiếp tục luyện tập để trở thành những lập trình viên giỏi nhé!

Trả lời bởi: Giáo viên Chuyên Môn
▲ 3

Câu 46.

Cho biết kết quả của đoạn chương trình sau: 

s = 0

for i in range(3, 10, 2):

if i % 3 == 0 : s = s + i

print(s)

=> i = 3 => i % 3 == 0 => đúng => s = 0 + 3 = 3

=> i = 5 => i % 3 == 0 => sai

=> i = 7 => i % 3 == 0 => sai

=> i = 9 => i % 3 == 9 => đúng => s = 3 + 9 = 12

=> Đáp án : A. 12

Câu 47.

Cho biết kết quả của đoạn chương trình sau:

x = 2; n = 3

t = 1

for i in range(3) : t = t * x

print(t)
=> i = 0 => t = 1 * 2 = 2

=> i = 1 => t = 2 * 2 = 4

=> i = 2 => t = 4 * 2 = 8

=> Đáp án : A. 8

Câu 48.

Cho biết kết quả của đoạn chương trình sau:

s = 0

for i in range (4, 10, 2) : s = s * i

print(s)

=> s = 0 => s = s * i = 0

=> số bất kì nhân với 0 đều bằng 0

=> Đáp án : A. 0
Câu 49.

Hãy cho biết kết quả của đoạn chương trình sau:

a = 4

if (not a >= 5) :

print(“hello”)

else:

print(“bye bye”)

=> 4 >= 5 => False

=> not False => True

=> print(“hello”)

=> Đáp án : A. hello

Câu 50.

Hãy cho biết kết quả của đoạn chương trình sau:

a = 21; b = 11

if a % b == 0 : print(“yes”)

esle : print(“no”)
=> 21 % 11 = 0 => sai

=> thực hiện lệnh sau else

=> Đáp án : B. no

Câu 51.

Cho đoạn chương trình sau:

j = 0

for i in range(5):

j = j + i

print(j)

Sau khi thực hiện chương trình giá trị biến j bằng bao nhiêu?

=> biến i lặp từ 0 đến 4

=> j = j + i : tổng từ 0 đến 4 : 0 + 1 + 2 + … + 4

=> Đáp án : A. 10

Câu 52.

Đoạn trương trình sau giải bài toán nào?

t = 0

for i in range(1, 101):

if(i % 3 == 0) and (i %5 == 0):

t = t + i

print(t)

=> i từ 1 đến 100

=> i chia hết cho 3 và cho 5

=> t = t + i : tổng các số chia hết cho 3 và 5

=> Đáp án : Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100

Câu 53 :

Quan sát chương trình và cho biết chương trình sai ở dòng lệnh nào?

a=int(input(“nhập chiều dài=”))

b=int(input(“nhập chiều rộng=”))

s = a * b

print(“Diện tích hình chữ nhật là =”, S)

=> Sai ở dòng 4

=> Python phân biệt chữ ho thường 

=> Nên s và S là hai biến hoàn toàn khác nhau

=> Đáp án : D. 4

Trả lời bởi: Yanquinn Khôngcótên
▲ 2

Câu 46. Cho biết kết quả của đoạn chương trình sau: 
s=0
for i in range(3,10,2): 
 if i%3==0: s=s+i
print(s)
a. 12 b. 42 c. 5 d. 9
Câu 47. Cho biết kết quả của đoạn chương trình sau: 
x=2; n=3
t=1
for i in range(3): t=t*x
print(t)
a. 8      b. 6      c. 9       d. 3
Câu 48. Cho biết kết quả của đoạn chương trình sau: 
s = 0
for i in range (4,10,2) : s = s*i
print(s)
a. 0        b. 192      c. 18     d. 3
Câu 49. Hãy cho biết kết quả của đoạn chương trình sau:
a=4
if (not a>=5) :
print(“hello”)
else:
print(“bye bye”)
a. hello      b. hello bye bye
c. bye bye hello     d.bye bye

vì a = 4 ở ngay phần gán giá trị
Câu 50. Hãy cho biết kết quả của đoạn chương trình sau:
a=21 ; b=11
if a%b==0 :
print(“yes”)
esle :
print(“no”)
a. yes     b. no    c. yes no    d. no yes

vì a  không chia hết cho b
Câu 51. Cho đoạn chương trình sau:
j=0
for i in range(5):
j=j+i
print(j)
Sau khi thực hiện chương trình giá trị biến j bằng bao nhiêu?
a. 10     b. 15     c. 12    d. 0
Câu 52. Đoạn trương trình sau giải bài toán nào?
t=0
for i in range(1,101):
if(i%3==0) and (i%5==0):
t=t+i
print(t)
a. Tính tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 100
b. Tính tổng các số phạm vi từ 1 đến 100
c. Tính tổng các số chẵn từ 1 đến 100
d. Đếm các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100
Câu 53: Quan sát chương trình và cho biết chương trình sai ở dòng lệnh nào?
a=int(input(“nhập chiều dài=”))
b=int(input(“nhập chiều rộng=”))
s=a*b
print(“Diện tích hình chữ nhật là=”,S)
a. 1   b.2
c. 3   d. 4

Vì s = a*b 

và S này là viết in hoa

Trả lời bởi:

Viết một bình luận

WhatsApp
Facebook
Chat Zalo
Zalo
097.538.4646
Zalo
Giới thiệu Như Hảo