Bài 1. Kiểu mảng và cấu trúc mảng trang 42 SBT Tin học 11 Cánh diều>
Theo em, đâu là sự khác nhau cơ bản giữa việc khai báo một biến danh sách và một biến mảng (array) trong ngôn ngữ Python?
Tổng hợp đề thi giữa kì 2 lớp 11 tất cả các môn - Cánh diều
Toán - Văn - Anh - Lí - Hóa - Sinh
Fcs1
Theo em, đâu là sự khác nhau cơ bản giữa việc khai báo một biến danh sách và một biến mảng (array) trong ngôn ngữ Python?
Lời giải chi tiết:
Khi khởi tạo một biến mảng, em phải cung cấp thông tin về kích thước của mảng và kiểu dữ liệu chung cho tất cả các phần tử trong mảng. Ngược lại, một biến danh sách có thể linh hoạt về kích thước (đẩy thêm hoặc xoá đi nhiều phần tử) và kiểu dữ liệu của từng phần tử (chẳng hạn, một danh sách có thể vừa chứa một phần tử kiểu nguyên (int), vừa chứa phần tử kiểu thực (float) và vừa chứa một phần tử kiểu xâu).
Fcs2
Em hãy cho biết một mảng số nguyên (nh) có kích thước 2 ĐN phần từ số 2048 chiếm bao nhiêu bộ nhớ khi chương trình được thực thi trong ngôn ngữ Python.
A. IKB
B. 2 KB
C. 4K
D. 8 KB
Lời giải chi tiết:
D. Mỗi biến số nguyên (int) có kích thước 4 byte, vậy một mảng 2 048 số nguyên sẽ chiếm 4 (byte) × 2 048 = 8 192 byte = 8 KB.
Fcs3
Trung bình cộng, trung vị của dãy số.
Cho mảng số nguyên con. Trung vị của dãy số là giá trị nằm ở giữa dãy số sau khi được sắp xếp, được tính bằng công thức sau:
- Nếu n=2k+1(k thuộc N) thì trung vị của dãy số là ak+1
- Nếu n=2k+1(k thuộc N) thì trung vị của dãy số là ak+1
- Nếu n=2k (k thuộc N) thì trung vị của dãy số là: (ak + ak+1)/2
Hãy lập trình đưa ra trung bình cộng và trung vị của dãy số.
Dữ liệu: Nhập từ thiết bị vào chuẩn một dòng chứa các phần tử của mảng, các số cách nhau một dấu cách.
Kết quả: Hiển thị ở thiết bị ra chuẩn giá trị trung bình cộng và trung vị của dãy số, mỗi kết quả chỉ lấy một chữ số ở phần thập phân.
Ví dụ:
Gợi ý: Để in ra giá trị của giá trị của biến x với n chữ số thập phân, ta dùng câu lệnh print(format(x,".nf")).
Lời giải chi tiết:
- Nếu không có hàm, để tính trung bình cộng, trước tiên ta tính tổng, sau đó đem chia cho số lượng (các bài sau sẽ cung cấp kiến thức đủ để em làm). Tận dụng các hàm được giới thiệu trong bài học, em có được đoạn chương trình vô cùng ngắn gọn và dễ hiểu.
Tham khảo chương trình sử dụng mảng:
from array import *
from statistics import *
A = array ("i", [])
#Khai báo mô đun array
#Khai báo mô đun phân tích #thống kê
#Khai báo mảng rỗng
A = [int (i) for i in input ().split()]
print (format (mean (A), ".1f"), format (median (A), ".1f"))
Tham khảo chương trình sử dụng danh sách thay cho mảng:
#Khai báo mô đun phân tích thống kê
from statistics import *
A list (map (int, input ().split()))
print (format (mean (A), ".1f"), format (median (A), ".1f"))
Fcs4
Thống kê điểm tổng kết.
Cho A là dãy điểm tổng kết trung bình các môn học của lớp 11A. Lập trình đưa ra màn hình các phân tích thống kê: điểm cao nhất, điểm trung bình, điểm thấp nhất, trung vị và dãy điểm sắp xếp theo thứ tự từ cao xuống thấp.
Dữ liệu: Nhập từ thiết bị vào chuẩn một dòng chứa các phần tử của mảng, các số cách nhau một dấu cách.
Kết quả: Hiển thị ở thiết bị ra chuẩn:
• Dòng thứ nhất chứa các giá trị điểm cao nhất, điểm trung bình, điểm thấp nhất và trung vị của dãy số.
• Dòng thứ hai chứa dãy điểm đã được sắp xếp theo thứ tự từ cao xuống thấp. Vi dụ:
Lời giải chi tiết:
Áp dụng các hàm như bài F3. Tham khảo chương trình:
#Khai báo mô đun phân tích thống kê
from statistics import *
A = list (map (float, input ().split()))
A.sort (reverse
True)
print (min (A), mean (A), max (A), median (A)) print (*A) #In giá trị của các phần tử của mảng A
Fcs5
Dãy số Catalan.
Trong toán học, đặc biệt là tổ hợp, người ta nghiên cứu các dãy số đặc biệt cùng các tính chất của chúng. Catalan là một dãy số C,, C,, C,..., C, trong đó:
Nhằm chuẩn bị cho bài học tổ hợp đếm sắp tới, Nam cần tính trước một số giá trị đầu của dãy Catalan. Em hãy giúp Nam in ra những số hạng đầu tiên của dãy. Dữ liệu: Nhập từ thiết bị vào chuẩn một dòng duy nhất chứa số nguyên n.
Kết quả: Hiển thị ở thiết bị ra chuẩn một dòng chứa n + 1 số nguyên C0, C1 C2,…, Cn
Lời giải chi tiết:
Dấu sigma có bản chất là một vòng lặp.
– Chú ý rằng hàm range sẽ bỏ qua số cuối cùng nên cần ghi range(n+1) để chạy tới số C[n].
– Số ở sau được tính từ tất cả số đứng trước nó. Trong đoạn chương trình sau, trước tiên chạy for i để xác định số cần tính là số C. Sau đó lại cần một vòng lặp để tính nó (theo mô tả của dấu sigma).
Chương trình mẫu:
n = int(input())
C = [1]
for i in range (1, n+1):
C_i = 0
for j in range(i):
C_i + C[j]* C[i-1-j]
C.append(C_i)
print (*C)


- Bài 2, 3. Mảng hai chiều, Thực hành về tệp, mảng và danh sách trang 44 SBT Tin học 11 Cánh diều
- Bài 4. Làm mịn dần từng bước từ thuật toán đến chương trình máy tính trang 49 SBT Tin học 11 Cánh diều
- Bài 5. Đánh giá thuật toán trang 51 SBT Tin học 11 Cánh diều
- Bài 6. Kiểm thử và sửa lỗi chương trình trang 53 SBT Tin học 11 Cánh diều
- Bài 7. Lập trình giải bài toán tìm kiếm trang 55 SBT Tin học 11 Cánh diều
>> Xem thêm
Các bài khác cùng chuyên mục
- Nghề quản trị cơ sở dữ liệu trang 40 SBT Tin học 11 Cánh diều
- Bài 7. Chỉnh sửa các thành phần giao diện trang 68 SBT Tin học 11 Cánh diều
- Bài 6. Tạo báo cáo đơn giản trang 67 SBT Tin học 11 Cánh diều
- Bài 5. Thiết kế truy vấn trang 65 SBT Tin học 11 Cánh diều
- Bài 4. Tạo và sử dụng biểu mẫu trang 63 SBT Tin học 11 Cánh diều
- Nghề quản trị cơ sở dữ liệu trang 40 SBT Tin học 11 Cánh diều
- Bài 7. Chỉnh sửa các thành phần giao diện trang 68 SBT Tin học 11 Cánh diều
- Bài 6. Tạo báo cáo đơn giản trang 67 SBT Tin học 11 Cánh diều
- Bài 5. Thiết kế truy vấn trang 65 SBT Tin học 11 Cánh diều
- Bài 4. Tạo và sử dụng biểu mẫu trang 63 SBT Tin học 11 Cánh diều