wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

G10 - Cuối kì mùa Xuân ĐS

Total questions: 7

Worksheet time: 1hrs 5mins

Name
Class
Date
1.

Theo em, các khẳng định dưới đây đúng hay sai?

a) Sử dụng chương trình con sẽ làm chương trình dễ hiểu, dễ tìm lỗi hơn.

b) Hàm chỉ được gọi một lần duy nhất ở chương trình chính.

c) Python chỉ cho phép chương trình gọi một hàm xây dựng sẵn trong các thư viện của Python.

d) Trong Python, hàm có thể có hoặc không có danh sách tham số.

(a)  

2.

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

def  t(a1,b1):

          s=a1*b1

a,b=map(int,input().split())

print(t(a,b))

Khẳng định về lỗi sai trong đoạn chương trình trên là đúng hay sai:

a) Thiếu lời gọi hàm.

b) Thiếu dấu ‘:’ cuối dòng đầu tiên của định nghĩa hàm.

c) Thiếu tham số hình thức.

d) Thiếu lệnh return giá trị cần trả về ở cuối thân hàm.

(a)  

3.

Cho chương trình sau:

def tinh_van_toc(s, t):

    return s / t

s = float(input("Nhập quãng đường (m): "))

t = float(input("Nhập thời gian (s): "))

print("Vận tốc trung bình là:", tinh_van_toc(s, t), "m/s")

Khẳng định nào sau đây là đúng/sai?

a) Chương trình có thể tính chính xác vận tốc khi t>0.

b) Khi nhập t=0t = 0t=0, chương trình sẽ gặp lỗi ZeroDivisionError.

c) Cần thêm kiểm tra if t == 0: trước khi thực hiện phép chia để tránh lỗi.

d) Chương trình sẽ báo lỗi ngay cả khi nhập t>0.

(a)  

4.

Một ngân hàng áp dụng công thức lãi kép để tính số tiền sau nnn năm khi gửi tiết kiệm:

A = P(1+r)n

Trong đó:

·        A là số tiền nhận được sau n năm,

·        P là số tiền gửi ban đầu (vốn gốc),

·        r là lãi suất hàng năm (dưới dạng số thập phân, ví dụ 5% = 0.05),

·        n là số năm gửi.

Một học sinh viết chương trình Python để tính số tiền sau n năm như sau:

def tinh_tien_tiet_kiem(P, r, n):

    return P (1 + r) * n

P = float(input("Nhập số tiền gửi ban đầu (VND): "))

r = float(input("Nhập lãi suất hàng năm (%): ")) / 100

n = int(input("Nhập số năm gửi: "))

print("Số tiền nhận được sau", n, "năm là:", tinh_tien_tiet_kiem(P, r, n), "VND")

Các khẳng định sau đây đúng hay sai?

a) Chương trình sử dụng đúng công thức lãi kép để tính số tiền sau nnn năm.
b) Nếu nhập n=0, chương trình sẽ trả về số tiền đúng bằng số tiền gửi ban đầu.
c) Khi nhập lãi suất là 5%, chương trình vẫn tính đúng mà không cần chia cho 100.
d) Nếu nhập P=0, chương trình sẽ gặp lỗi khi thực hiện phép nhân

(a)  

5.

Cho đoạn mã Python sau:

def modify_list(lst, action, value=None):

    if action == 'add':

        lst.append(value)

    elif action == 'remove':

        lst.remove(value)

    elif action == 'sort':

        lst.sort()

    elif action == 'insert':

        lst.insert(0, value)

    return lst


my_list = ['apple', 'banana', 'cherry']

result = modify_list(my_list, 'insert', 'date')

print(result)

Các khả năng dưới đây đâu là phương án đúng hoặc sai?

a) ['date', 'apple', 'banana', 'cherry']
b) ['apple', 'banana', 'cherry', 'date']
c) ['apple', 'banana', 'date', 'cherry']
d) ['banana', 'cherry', 'date', 'apple']

(a)  

6.

Một giáo viên muốn viết chương trình Python để tính tổng các số nguyên tố trong một danh sách số nguyên. Tuy nhiên, chương trình sau có lỗi:

def is_prime(n):

    if n < 2:

        return False

    for i in range(2, n // 2):

        if n % i == 0:

            return False

    return True


def sum_primes(lst):

    return sum([x for x in lst if is_prime(x)])

numbers = [10, 3, 5, 7, 9, 11]

print(sum_primes(numbers))

Các khả năng dưới đây đâu là phương án đúng hoặc sai để sửa lỗi chương trình?

a) Thay n // 2 thành int(n ** 0.5) + 1 trong hàm is_prime.
b) Thêm điều kiện if n % 2 == 0 and n != 2: return False vào is_prime.
c) Thay vòng lặp for i in range(2, n // 2): thành for i in range(2, n // 2 + 1):.
d) Không có lỗi, chương trình đúng.

(a)  

7.

Một học sinh viết chương trình Python để đếm số lần xuất hiện của một từ trong một đoạn văn. Tuy nhiên, chương trình sau có lỗi:

def count_word(text, word):

    words = text.split(" ")

    return words.count(word)

paragraph = "Học tập là con đường dẫn đến thành công. Học tập suốt đời giúp ta phát triển."

word_to_count = "học"

print(count_word(paragraph, word_to_count))

Các khả năng dưới đây đâu là phương án đúng hoặc sai để sửa lỗi chương trình?

a) Chuyển tất cả chữ về chữ thường bằng text.lower() trước khi gọi split(" ").
b) Thay split(" ") bằng split() để tránh lỗi khi có nhiều khoảng trắng liên tiếp.
c) Sử dụng replace(",", "").replace(".", "") để loại bỏ dấu câu trước khi đếm.
d) Chương trình không có lỗi, chạy đúng.

(a)