Nhiệm vụ 1. Viết chương trình quản lí điểm kiểm tra một môn học của một học sinh trong một học kì.
Chương trình được thực hiện như sau:
– Nhập điểm: yêu cầu người dùng nhập các đầu điểm kiểm tra (từ hai đầu điểm trở lên).
– Thống kê điểm: chương trình duyệt qua các đầu điểm rồi tính và in ra điểm trung bình kiểm tra, điểm thấp nhất, cao nhất.
Hướng dẫn:
1 marks = [] 2 line = input("Hãy nhập các điểm kiểm tra cách nhau bởi dấu cách: ") 3 marks = [float(x) for x in line.split()] 4 total = 0 5 Min = marks[0] 6 Max = marks[0] 7 for m in marks: 8 total = total + m 9 if Min > m: 10 Min = m 11 if Max < m: 12 Max = m 13 print("Điểm trung bình: ", total/len(marks)) 14 print("Điểm cao nhất: ", Max) 15 print("Điểm thấp nhất: ", Min)
Câu 1:
Câu lệnh Min = marks[0] trong chương trình của nhiệm vụ 1 có ý nghĩa nào sau đây?
Cộng vào phần tử đầu tiên trong marks giá trị của biến Min.
Gán giá trị lớn nhất trong mảng marks cho biến Min.
Gán phần tử thứ nhất trong mảng marks cho biến Min.
Cộng vào biến Min phần tử đầu tiên trong mảng marks.
Câu 2:
Phương án nào sau đây nêu đúng số biến có kiểu mảng trong chương trình ở nhiệm vụ 1?
1.
3.
2.
4.
Câu 3:
Trong chương trình ở nhiệm vụ 1 sẽ lỗi, nếu ta đảo vị trí của hai dòng lệnh nào sau đây?
1 và 3.
4 và 6.
1 và 2.
4 và 1.
Câu 4:
Chương trình ở nhiệm vụ 1 khai báo số lượng mảng một chiều rỗng là
4.
2.
3.
1.
Câu 5:
Dòng nào sau đây trong chương trình ở nhiệm vụ 1 thực hiện thêm phần tử vào một mảng một chiều?
index_max_avg = 1
names.append(name)
Min = marks_all[0][0]
marks_all.append(marks)
Câu 6:
Câu lệnh nào sau đây trong chương trình ở nhiệm vụ 1 khai báo một mảng rỗng?
total = 0
marks = []
Min = marks[0]
Min = m
Câu 7:
Dòng nào sau đây trong chương trình ở nhiệm vụ 1 duyệt qua các phần tử trong mảng marks?
8.
6.
7.
5.
Câu 8:
Dòng nào sau đây trong chương trình ở nhiệm vụ 1 chuyển dữ liệu nhập vào thành dạng mảng một chiều?
2.
3.
4.
1.
Câu 9:
Trong chương trình ở nhiệm vụ 1, những dòng lệnh nào sau đây gán một phần tử trong mảng cho một biến?
2 và 3.
6 và 7.
5 và 6.
4 và 5.
Câu 10:
Biến ở dòng lệnh nào sau đây trong chương trình ở nhiệm vụ 1 là một mảng?
total
Min
line
marks
Câu 11:
Phương án nào sau đây nêu đúng ý nghĩa của đoạn chương trình từ dòng 7 đến 12 trong chương trình ở nhiệm vụ 1?
Tính điểm trung bình.
Tìm điểm cao nhất, thấp nhất.
Đưa ra các phần tử đã nhập.
Tách một xâu thành một mảng.
Câu
2
1đ
Nhiệm vụ 2. Viết chương trình quản lí điểm kiểm tra một môn học trong một học kì của tất cả học sinh trong lớp.
Chương trình được thực hiện như sau:
– Nhập dữ liệu: yêu cầu người dùng nhập số học sinh trong lớp, sau đó với mỗi học sinh hỏi người dùng nhập tên học sinh rồi nhập các đầu điểm của học sinh đó.
– Thống kê dữ liệu: chương trình in ra danh sách các học sinh với điểm trung bình kiểm tra của họ, tên học sinh có điểm trung bình cao nhất và điểm kiểm tra thấp nhất trong tất cả các đầu điểm.
Hướng dẫn:
1 names = [] 2 marks_all = [] 3 n = int(input("Hãy nhập số lượng học sinh: ")) 4 5 for i in range(n): 6 name = input("Tên học sinh thứ " + str(i+1) + ": ") 7 names.append(name) 8 line = input("Điểm kiểm tra của học sinh thứ "+str(i+1)+": ") 9 marks = [float(x) for x in line.split()] 10 marks_all.append(marks) 11 12#Định nghĩa các biến để thống kê 13 max_avg = 0 14 index_max_avg = 0 15 Min = marks_all[0][0] 16 17#Duyệt qua mảng 2 chiều 18 for i in range(n): 19 total = 0 20 for j in range(len(marks_all[i])): 21 total = total + marks_all[i][j] 22 if Min > marks_all[i][j]: 23 Min = marks_all[i][j] 24 avg = total/len(marks_all[i]) 25 print("Điểm trung bình của",names[i],":",avg) 26 if max_avg < avg: 27 max_avg = avg 28 index_max_avg = i 29 30 #In ra kết quả 31 print(names[index_max_avg], "đạt điểm trung bình", max_avg,"cao nhất lớp.") 32 print("Điểm thấp nhất:",Min)
Câu 1:
Dòng lệnh nào sau đây trong chương trình ở nhiệm vụ 2 dùng để chuyển các giá trị nhập vào thành một mảng một chiều?
Dòng 8.
Dòng 7.
Dòng 9.
Dòng 6.
Câu 2:
Trong chương trình ở nhiệm vụ 2, biến nào sau đây có là kiểu mảng một chiều?
names
total
max_avg
marks_all
Câu 3:
Trong chương trình ở nhiệm vụ 2, câu lệnh len(marks_all[i]) trả về giá trị nào đây?
Giá trị điểm lớn nhất của học sinh đó.
Số lượng đầu điểm của học sinh thứ i.
Tổng số học sinh trong lớp.
Vị trí của học sinh trong mảng names.
Câu 4:
Số phần tử có trong mảng names khi thực hiện chương trình ở nhiệm vụ 2 là
1
i
10
n
Câu 5:
Trong chương trình ở nhiệm vụ 2, biến nào sau đây lưu điểm thấp nhất từ bảng điểm của tất cả học sinh?
avg
max_avg
Min
total
Câu 6:
Trong chương trình ở nhiệm vụ 2, mục đích chính của đoạn mã từ dòng 5 đến dòng 10 là
tìm học sinh có điểm cao và thấp nhất lớp.
xuất điểm của mỗi học sinh ra màn hình.
nhập tên và tất cả điểm của từng học sinh.
tính điểm trung bình của tất cả học sinh.
Câu 7:
Để truy cập vào con điểm thứ 3 của học sinh thứ 2 trong mảng marks_all, ta sử dụng cú pháp nào nào đây?
marks_all[2][3]
marks_all[3][2]
marks_all[1][2]
marks_all[2, 3]
Câu 8:
Biến marks_all trong chương trình thuộc kiểu dữ liệu nào sau đây?
Số nguyên.
Mảng một chiều.
Xâu kí tự.
Mảng hai chiều.
Câu 9:
Trong nhiệm vụ 2, mảng lưu tất cả các điểm của các học sinh trong lớp có số chiều là
bốn.
một.
hai.
ba.
Câu 10:
Để tìm ra điểm thấp nhất trong danh sách điểm của toàn bộ học sinh trong nhiệm vụ 2, chương trình đã khởi tạo biến Min bằng câu lệnh nào sau đây
Min = n
Min = 0
Min = marks_all[0][0]
Min = 10
Câu 11:
Trong chương trình ở nhiệm vụ 2, giá trị khởi tạo của biến Min là phần tử nào sau đây trong mảng marks_all?
Phần tử thứ hai.
Phần tử đầu tiên.
Phần tử cuối cùng.
Phần tử nằm giữa.
Câu 12:
Nếu người dùng nhập n = 5, vòng lặp ở dòng 18 sẽ chạy với các giá trị của i lần lượt là
1, 2, 3, 4, 5
1, 5
0, 1, 2, 3, 4
0, 1, 2, 3, 4, 5
Câu 13:
Nếu người dùng nhập n = 5, vòng lặp ở dòng 18 sẽ chạy với các giá trị của i lần lượt là
0, 1, 2, 3, 4, 5
1, 5
1, 2, 3, 4, 5
0, 1, 2, 3, 4
Câu 14:
Trong chương trình ở nhiệm vụ 2, biến nào sau đây nhận giá trị của một phần tử trong mảng hai chiều?