Câu hỏi tự luận Tin học khoa học máy tính 11 kết nối Bài 17: Dữ liệu mảng một chiều và hai chiề9

Bộ câu hỏi tự luận Tin học khoa học máy tính 11 kết nối. Câu hỏi và bài tập tự luận Bài 17: Dữ liệu mảng một chiều và hai chiều. Bộ tài liệu tự luận này có 4 mức độ: Thông hiểu, nhận biết, vận dụng và vận dụng cao. Phần tự luận này sẽ giúp học sinh hiểu sâu, sát hơn về môn học Tin học ứng dụng 11 kết nối.

CHƯƠNG 6: KĨ THUẬT LẬP TRÌNH

BÀI 17: DỮ LIỆU MẢNG MỘT CHIỀU VÀ HAI CHIỀU

( 10 câu)

1. NHẬN BIẾT (4 câu)

Câu 1: Sử dụng hàm sum() tính tổng cấc số của một dãy, hãy viết câu lệnh tính giá trị trung bình của dãy số A cho trước. Ví dụ cho mảng A = [1,2,3,4,5]

Trả lời:

A = [1, 2, 3, 4, 5]  # Dãy số A

total = sum(A)  # Tính tổng các số trong dãy A

average = total / len(A)  # Tính giá trị trung bình

print("Tổng của dãy A =", total)

print("Giá trị trung bình của dãy A =", average)

Câu 2: Có thể duyệt các phần tử của mảng theo chiều chiều lại từ cuối về đầu được không?

Trả lời:

A = [1, 2, 3, 4, 5]

# Duyệt qua các phần tử từ cuối về đầu

for i in range(len(A) - 1, -1, -1):

    print(A[i])

Câu 3: Thiết lập mảng bao gồm dữ liệu là toạ độ các điểm trên mặt phẳng, mỗi điểm p được cho bởi hai toạ độ (px,py)

Trả lời:

points = [[1, 2], [3, 4], [5, 6]]

# Truy cập và in các toạ độ của các điểm

for point in points:

    px = point[0]

    py = point[1]

    print("Toạ độ của điểm là:", px, ",", py)

Câu 4: Câu lệnh sau sẽ tạo dữ liệu thuộc loại gì?

temp = [1,2,3,4]

A = [temp, temp]

Trả lời:

Câu lệnh trên sẽ tạo dữ liệu thuộc loại danh sách (list)

A = [[1,2,3,4],[1,2,3,4]]

 

2. THÔNG HIỂU ( 1 câu)

Câu 1: Nếu A là bảng (ma trận) có kích thước m x n thì đoạn chương trình sau sẽ in thông tin gì trên màn hình?

for i in range(m):

          for j in range(n):

                     print(A[i][j], end = “ ”)

          print()

Trả lời:

- Đoạn chương trình trên sẽ in ra các phần tử của ma trận A trên màn hình, được phân tách bằng dấu cách và mỗi hàng trên một dòng. Mỗi phần tử của ma trận A sẽ được in bằng cách sử dụng cú pháp A[i][j], trong đó i là chỉ số hàng và j là chỉ số cột của phần tử đó.

- Dòng lệnh print(A[i][j], end=" ") sẽ in ra giá trị của phần tử tại hàng i và cột j của ma trận A, sau đó sử dụng tham số end=" " để thay đổi kí tự kết thúc dòng mặc định từ xuống dòng (\n) thành một dấu cách. Điều này giúp các phần tử trong cùng một hàng được in liền kề trên cùng một dòng.

- Sau khi in xong tất cả các phần tử trong hàng thứ i, dòng lệnh print() được sử dụng để xuống dòng, chuyển sang hàng tiếp theo của ma trận A.

3. VẬN DỤNG (3 câu)

Câu 1: Giả sử số đo chiều cao các bạn trong lớp được cho trong dãy số A. Hãy viết đoạn chương trình tính:

- Số đo chiều cao trung bình cả lớp

- Số bạn có chiều cao lớn hơn chiều cao trung bình cả lớp

Trả lời:

# Nhập số đo chiều cao của các bạn trong lớp

A = input("Nhập số đo chiều cao của các bạn trong lớp, cách nhau bởi dấu cách: ").split()

# Tính số đo chiều cao trung bình của cả lớp

average_height = sum(A) / len(A)

# Đếm số bạn có chiều cao lớn hơn chiều cao trung bình

count = 0

for height in A:

    if height > average_height:

        count += 1

# In kết quả

print("Số đo chiều cao trung bình của cả lớp là:", average_height)

print("Số bạn có chiều cao lớn hơn chiều cao trung bình là:", count)

Câu 2: Viết chương trình nhập từ bàn phím với số tự nhiên m, sau đó lần lượt nhập m dòng bao gồm n số cách nhau bởi dấu cách, đưa dữ liệu đa nhập vào ma trận A, sau đó in ma trận ra màn hình.

Trả lời:

# Nhập số tự nhiên m từ bàn phím

m = int(input("Nhập số tự nhiên m: "))

# Tạo một ma trận rỗng A với m hàng

A = []

# Nhập m dòng chứa n số và đưa dữ liệu vào ma trận A

for i in range(m):

    row = input("Nhập dòng thứ " + str(i+1) + ": ").split()

    row = [int(num) for num in row]

    A.append(row)

# In ma trận A ra màn hình

print("Ma trận A:")

for row in A:

    for num in row:

        print(num, end=" ")

    print()

Câu 3: Thiết lập mảng bao gồm dãy các thông tin là danh sách học sinh và thông tin ba điểm thi của học sinh tương ứng với các bài thi số 1,2,3. Viết đoạn lệnh nhập bộ dữ liệu trên và chương trình in ra danh sách học sinh cùng với điểm trung bình của các bài thi.

Trả lời:

# Nhập số lượng học sinh

num_students = int(input("Nhập số lượng học sinh: "))

# Khởi tạo mảng danh sách học sinh

students = []

# Nhập thông tin học sinh và điểm thi của họ

for i in range(num_students):

    student = {}

    student["name"] = input("Nhập tên học sinh: ")

    student["score1"] = float(input("Nhập điểm bài thi số 1: "))

    student["score2"] = float(input("Nhập điểm bài thi số 2: "))

    student["score3"] = float(input("Nhập điểm bài thi số 3: "))

    students.append(student)

# Tính điểm trung bình và in danh sách học sinh cùng với điểm trung bình

print("Danh sách học sinh và điểm trung bình:")

for student in students:

    name = student["name"]

    score1 = student["score1"]

    score2 = student["score2"]

    score3 = student["score3"]

    average_score = (score1 + score2 + score3) / 3

    print("Học sinh:", name)

    print("Điểm trung bình:", average_score)

    print()

 

4. VẬN DỤNG CAO ( 2 câu)

Câu 1: Viết hàm số UnitMatrix(n) với n là số tự nhiên cho trước, hàm trả lại giá trị là ma trận bậc n như hình 17.1

Trả lời:

# Nhập kích thước ma trận

n = int(input("Nhập kích thước của ma trận đơn vị: "))

# Tạo ma trận đơn vị

identity_matrix = [[0] * n for _ in range(n)]

for i in range(n):

    identity_matrix[i][i] = 1

# In ma trận đơn vị ra màn hình

print("Ma trận đơn vị:")

for row in identity_matrix:

    for num in row:

        print(num, end=" ")

    print()

Câu 2: Viết chương trình đếm số lần xuất hiện của phần tử trong mảng

Trả lời:

def count_occurrences(arr):

    occurrences = {}

    for element in arr:

        if element in occurrences:

            occurrences[element] += 1

        else:

            occurrences[element] = 1

    return occurrences

# Mảng cần đếm số lần xuất hiện

arr = [1, 2, 3, 4, 2, 2, 5]

# Gọi hàm đếm số lần xuất hiện và in kết quả

occurrences = count_occurrences(arr)

for element, count in occurrences.items():

    print("Số lần xuất hiện của phần tử", element, "là", count)

=> Giáo án Khoa học máy tính 11 kết nối Bài 17: Dữ liệu mảng một chiều và hai chiều

Thông tin tải tài liệu:

Phía trên chỉ là 1 phần, tài liệu khi tải về là file word, có nhiều hơn + đầy đủ đáp án. Xem và tải: Câu hỏi tự luận Tin học khoa học máy tính 11 kết nối tri thức - Tại đây

Tài liệu khác

Tài liệu của bạn

Tài liệu môn khác

Tài liệu mới cập nhật

Chat hỗ trợ
Chat ngay