Navigation

Trắc nghiệm Tin học 10 Kết nối tri thức Bài 20

Trắc nghiệm Tin học 10 Bài 20 có đáp án Kết nối tri thức, trắc nghiệm tin học 10 câu lệnh lặp for
Trắc nghiệm Tin học 10 Kết nối tri thức Bài 20

TRẮC NGHIỆM TIN HỌC 10 KẾT NỐI TRI THỨC BÀI 20. CÂU LỆNH LẶP FOR

A. PHẦN ĐÚNG SAI


Câu 1: Dựa trên kiến thức về lệnh lặp for trong Python, hãy xác định các ý sau đây là đúng hay sai:

a). Biến k trong lệnh for k in range(n): sẽ lần lượt nhận các giá trị từ 0 đến n-1.
b). Vùng giá trị của lệnh range(n) gồm n số nguyên liên tiếp từ 1 đến n.

c). Câu lệnh if k%2 == 0 được sử dụng để kiểm tra xem k có phải là số chẵn hay không.

d). Đoạn mã sau sẽ tính tổng các số là bội của 3 nhỏ hơn n.

 n = 20

 C = 0

 for k in range(n):

       if k%3 == 0:          # Điều kiện k là bội của 3 là k%3 = 0

              C = C + 1

 print(C)

Đáp án:

a). Đ. Lệnh range(n) trả về một dãy giá trị từ 0 đến n-1, vì vậy biến k sẽ lần lượt nhận các giá trị này.

b). S. Vùng giá trị của lệnh range(n) bắt đầu từ 0 và kết thúc tại n-1, không bắt đầu từ 1.

c). Đ. Điều kiện k%2 == 0 đúng khi k là số chẵn, tức là chia hết cho 2.

d). S. Đoạn mã chỉ đếm số lượng các số là bội của 3 nhỏ hơn n, không tính tổng.

Câu 2: Hãy xác định các câu sau về cách sử dụng lệnh for trong Python là đúng hay sai:

a). Vùng giá trị của lệnh range(1, n+1) sẽ bao gồm các số từ 1 đến n.

b). Tổng giá trị của S trong đoạn mã S = 0; for k in range(1, n+1): S = S + k sẽ bằng tổng của 1+2+...+n.

c). Đoạn mã for k in range(1, n+1): S = S + k sẽ tính tổng của các số từ 0 đến n-1..

d). Lệnh range(1, n+1) và lệnh range(n) sẽ trả về cùng một vùng giá trị nếu n=1.

Đáp án:

a). Đ. range(1, n+1) bắt đầu từ 1 và kết thúc tại n (vì n+1 không được bao gồm trong dãy).

b). Đ. Đoạn mã này tính tổng các số từ 1 đến n, đúng với công thức tổng 1+2+...+n.

c). S. Đoạn mã này tính tổng từ 1 đến n, không bao gồm 0 và không chỉ tính đến n-1.

d). S. range(1, n+1) sẽ trả về [1] trong khi range(n) với n=1 sẽ trả về [0].



Câu 3: Dựa trên kiến thức về lệnh range trong Python, hãy xác định các ý sau đây là đúng hay sai:

a) Lệnh range(1, 51) sẽ tạo ra vùng giá trị gồm các số từ 1 đến 50.

b) Lệnh range(5, 11) sẽ tạo ra vùng giá trị gồm các số từ 5 đến 10.

c) Lệnh range(0, 2) sẽ tạo ra vùng giá trị gồm các số 0 và 1.

d) Lệnh range(10) sẽ tạo ra vùng giá trị gồm số 10.

Đáp án:

a). Đ. Lệnh range(1, 51) sẽ tạo ra vùng giá trị bắt đầu từ 1 và kết thúc tại 50 (vì stop là 51, nhưng không được bao gồm).

b). Đ. Lệnh range(5, 11) sẽ tạo ra vùng giá trị bắt đầu từ 5 và kết thúc tại 10 (vì stop là 11, nhưng không được bao gồm).

c). Đ. Lệnh range(0, 2) sẽ tạo ra vùng giá trị từ 0 đến 1 (vì stop là 2, nhưng không được bao gồm).

d). S. Lệnh range(10) sẽ tạo ra vùng giá trị từ 0 đến 9 (vì lệnh này chỉ có một tham số, mặc định start là 0, và stop là 10).

Câu 4: Hãy xác định các câu sau về cách sử dụng lệnh range trong Python là đúng hay sai:

a) Lệnh range(1, 101) sẽ tạo ra vùng giá trị gồm các số từ 1 đến 100.

b) Lệnh range(0, 99) sẽ tạo ra vùng giá trị gồm các số từ 0 đến 98.

c) Lệnh range(100, 1) sẽ tạo ra vùng giá trị gồm các số từ 100 đến 1.

d) Lệnh range(1, 2) sẽ tạo ra vùng giá trị gồm số 1.

Đáp án:

a). Đ. Lệnh range(1, 101) sẽ tạo ra vùng giá trị bắt đầu từ 1 và kết thúc tại 100 (vì stop là 101, nhưng không được bao gồm).

b). Đ. Lệnh range(0, 99) sẽ tạo ra vùng giá trị từ 0 đến 98 (vì stop là 99, nhưng không được bao gồm).

c). S. Lệnh range(100, 1) sẽ trả về vùng rỗng vì start lớn hơn stop và không có bước giảm mặc định.

d). Đ. Lệnh range(1, 2) sẽ tạo ra vùng giá trị bắt đầu từ 1 và kết thúc tại 1 (vì stop là 2, nhưng không được bao gồm).



TRẮC NGHIỆM MỘT LỰA CHỌN


1. NHẬN BIẾT

Câu 1: Cho đoạn chương trình:

j = 0

for i in range(5):

j = j + i

print(j)

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

A. 10.

B. 12.

C. 15.

D. 14.

Câu 2: Cho đoạn lệnh sau:

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

print(i)

Trên màn hình i có các giá trị là

A. 1,3,5,7,9.

B. 1,2,3,4,5,6,7,8,9,10.

C. 1,3,5,7,9,10.

D. 1,3,5,7,10.



Câu 3: Số công việc cần phải lặp với số lần xác định?

1) Đếm số học sinh của lớp.

2) Đếm số chia hết cho 5 trong đoạn từ 10 tới 100.

3) Đọc tên lần lượt từng học sinh của một lớp có 30 em.

4) Chạy 5 vòng sân bóng.

5) Tính tổng các số có 2 chữ số.

A. 3.

B. 4.

C. 5.

D. 2.

Câu 4: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100?

A. 1.

B. 100.

C. 99.

D. Tất cả đều sai.

Câu 5: Cho đoạn lệnh sau:

for i in range(5):

print(i)

Trên màn hình i có các giá trị là

A. 0 1 2 3 4 5.

B. 1 2 3 4 5.

C. 0 1 2 3 4.

D. 1 2 3 4.



Câu 7: Cho đoạn chương trình sau:

s=0

for i in range(6):

s=s+i

Sau khi thực hiện đoạn chương trình trên giá trị của s là

A. 1.

B. 15.

C. 6.

D. 21.

Câu 8: Trong Python, đoạn chương trình sau đưa ra kết quả gì?

for i in range(10, 0, -1):

print(i, ‘’)

A. 10, 9, 8, 7, 6, 5, 4, 3, 2, 1.

B. Đưa ra 10 dấu cách.

C. 1 2 3 4 5 6 7 8 9 10.

D. Không đưa ra kết quả gì.

Câu 9: Lệnh range (n) cho vùng gồm các số nào?

A. 0, 1, ...., n -  1.

B. 1, ...., n -  1.

C. 0, 1, ...., n + 1.

D. Chương trình báo lỗi.

Câu 10: Trong câu lệnh lặp:

j = 0

for j in range(10):

print("A")

Khi kết thúc câu lệnh trên lệnh có bao nhiêu chữ “A” xuất hiện?

A. 10 lần.

B. 1 lần.

C. 5 lần.

D. Không thực hiện.



2. THÔNG HIỂU

Câu 1: Điền phần còn thiếu … trong đoạn code sau để được kết quả dưới đây?

55555

44444

33333

22222

11111

for i in range(5, 0, …):

print(str(i)*5)

A. -1.

B. 0.

C. None.

D. 1.

Câu 2: Cho biết kết quả khi chạy đoạn chương trình sau:

s = 0

for i in range(3):

s = s+2*i

print(s)

A. 12.

B. 10.

C. 8.

D. 6.

Câu 3: Biến chạy trong vòng lặp for i in range(<giá trị cuối>) tăng lên mấy đơn vị sau mỗi lần lặp?

A. 1.

B. 2.

C. 0.

D. Tất cả đều sai.



Câu 4: Lệnh nào in ra màn hình các giá trị sau?

11111

22222

33333

44444

55555

A. for i in range(1, 6): print(i, i, i, i, i).

B. for i in range(1, 6): print(str(i)*5).

C. for i in range(1, 5): print(str(i)*5).

D. for i in range(0, 5): print(str(i)*5).

Câu 5: Trong câu lệnh lặp:

j=0

for j in range(10):

j = j + 2

print(j)

Khi kết thúc câu lệnh trên, câu lệnh print(j) được thực hiện bao nhiêu lần?

A. 10 lần.

B. 1 lần.

C. 5 lần.

D. Không thực hiện.

Câu 6: Cho đoạn chương trình sau:

S=0

for i in range(1,6):

S= S * i

Sau khi thực hiện xong, kết quả S bằng

A. 15.

B. 0.

C. Kết quả khác.

D. 120.



Câu 7: Cấu trúc lặp với số lần biết trước có dạng như thế nào?

A. for < biến đếm > in range([giá trị đầu], < giá trị cuối >, [bước nhảy]):

B. for < biến đếm > in range([giá trị đầu], < giá trị cuối >, [bước nhảy]): < lệnh >

C. for < biến đếm > in range([giá trị đầu], < giá trị cuối >, [bước nhảy]) < lệnh >

D. for < biến đếm > in range([giá trị đầu] to < giá trị cuối >, [bước nhảy]): < lệnh >

Câu 8: Cho các câu lệnh sau, hãy chỉ ra câu lệnh đúng?

A. x = 0

for i in range(10): x = x + 1

B. x = 0

for i in range(10): x:= x + 1

C. x = 0

for i in range(10) x = x + 1

D. x:= 0

for i in range(10): x = x + 1


[next]

3. VẬN DỤNG

Câu 1: Đoạn chương trình sau có lỗi tại một dòng lệnh. Theo em, đó là lỗi ở câu lệnh nào:

# program to display student's marks from record

student_name = 'Soyuj'

marks = {'James': 90, 'Jules': 55, 'Arthur': 77}

for student in marks:

if student == student_name:

print(marks(student))

break

else:

print('No entry with that name found.')

A. Sai kí hiệu chú thích.

B. Sai khi khai báo danh sách.

C. Sai khi gọi tới phần tử của danh sách.

D. Không có lỗi sai ở câu lệnh nào.

Câu 2: Bạn An thực hiện đoạn chương trình sau nhưng chương trình báo lỗi. Theo em, bạn An sai ở dòng thứ mấy:

numbers = [6, 5, 3, 8, 4, 2, 5, 4, 11]

sum == 0

## iterate over the list

for val in numbers:

sum = sum+val

print("The sum is", sum)

A. 4.

B. 3.

C. 2.

D. 5.

Câu 3: Cho các câu lệnh sau, hãy chỉ ra câu lệnh đúng:

A. x = 0

for i in range(10): x = x + 1

B. x = 0

for i in range(10): x:= x + 1

C. x = 0

for i in range(10) x = x + 1

D. x:= 0

for i in range(10): x = x + 1



4. VẬN DỤNG CAO

Câu 1: Đoạn chươ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ố chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến 101.

C. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 101.

D. Tính tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến 100.


Share

GDPT2018

Post A Comment:

0 comments: