Bạn hỏi - Chuyên gia trả lời
Bạn cần hỏi gì?
Thầy giáo cho một hàm viết bằng Python như sau:
Thầy yêu cầu học sinh cho ý kiến về ý nghĩa và độ phức tạp của hàm. Sau đây là các ý kiến:
d. Khi thay biểu thức i//2+1 trên dòng 4 bởi int(i**0.5) + 1, thì độ phức tạp thuật toán sẽ giảm đi.
c. Khi thực hiện gọi hàm something(10) thì kết quả hiển thị dãy số gồm các số 2, 3, 5, 7.
b. Đoạn lệnh trên dòng 5 để kiểm tra xem j có phải là ước số của i hay không.
a. Thuật toán này có độ phức tạp là O(n).
Để thuận tiện cho người dùng lựa chọn các sản phẩm ưng ý, trên website, các sản phẩm thường sẽ được sắp xếp theo chiều tăng dần hoặc giảm dần giá của các sản phẩm. Để mô phỏng lại việc sắp xếp này, một học sinh đã viết một hàm Python cho phép sắp xếp một danh sách giá tiền theo chiều tăng dần như sau:
Sau khi hoàn thành, học sinh này đã trao đổi với một số bạn học cùng lớp và nhận được một số ý kiến như sau:
d. Nếu sp là một danh sách đã sắp xếp theo chiều tăng dần thì vòng lặp while từ dòng 6 đến dòng 8 sẽ không lặp lần nào.
c. Chương trình trên sử dụng thuật toán sắp xếp chọn.
b. Vòng lặp for bắt đầu trên dòng 3 sẽ lặp n − 1 lần.
a. Biến n sẽ chứa số lượng phần tử có trong danh sách sp.
Trong toán học, dãy Fibonacci là dãy các số tự nhiên bắt đầu bằng hai phần tử 1 và 1, các phần tử sau đó được thiết lập theo quy tắc mỗi phần tử luôn bằng tổng hai phần tử trước nó. Công thức toán học của dãy Fibonacci như sau:
F0 = F1 = 1;
Fn = Fn-1 + Fn-2.
Cho trước một dãy số Fibonacci fi, một học sinh đã viết hàm kiểm tra một số có phải là số Fibonacci hay không như sau đây:
Sau khi tham khảo chương trình trên, có một số học sinh nhận xét như sau:
d. Độ phức tạp thuật toán của hàm này là tuyến tính.
c. Số cần kiểm tra phải nhỏ hơn số Fibonacci cuối cùng của dãy.
b. Hàm trả về -1 nếu số đó không phải là số Fibonacci, ngược lại, sẽ trả về một số nguyên lớn hơn 0.
a. Biến fi có kiểu dữ liệu là danh sách.
Một từ điển là một danh sách các từ được sắp xếp theo thứ tự ABC. Hãy viết chương trình cho phép tìm kiếm một từ cho trước trong danh sách từ điển.
Với yêu cầu này, thầy giáo đã viết một đoạn mã lệnh Python như sau để thực hiện việc tìm kiếm từ trong danh sách đã được sắp xếp.
Thầy giáo yêu cầu học sinh trong lớp nhận xét về đoạn mã lệnh này. Sau đây là nhận xét của các bạn học sinh:
d. Trong mọi trường hợp, chương trình luôn hiển thị dòng chữ:
Khong tim thay
c. Dấu ??? của vòng lặp while trên dòng 4 cần được điền biểu thức logic sau:
trai<phai
b. Các biến trai, giua, phai là các biến kiểu nguyên.
a. Đoạn mã này yêu cầu danh sách từ điển phải được sắp xếp thì mới chạy đúng.
Để theo dõi việc học tập của các môn trong lớp, thầy giáo muốn tính điểm trung bình của từng môn trong lớp và tìm môn có điểm trung bình cao nhất. Thầy giáo yêu cầu học sinh viết một chương trình Python để thực hiện yêu cầu này. Sau khi đọc yêu cầu, các bạn học sinh trong lớp đã có những phát biểu như sau đây:
d. Để tính điểm trung bình cho từng môn, sử dụng đoạn mã lệnh sau:
c. Đoạn mã lệnh sau cho phép nhập điểm của từng môn, từng học sinh:
b. Có thể sử dụng một danh sách lồng nhau có cấu trúc như sau để lưu trữ điểm cho cả lớp:
a. Để nhập thông tin về điểm của m học sinh cho n môn học, cần sử dụng một cấu trúc dữ liệu mảng 2 chiều có cấu trúc như sau:
Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai.
Nhà trường muốn đánh giá tình trạng sức khoẻ của học sinh bằng cách tính chỉ số BMI trung bình của tất cả học sinh trong lớp (BMI = cân nặng / (chiều cao)2). Các chỉ số này sẽ được tính riêng cho học sinh nam và học sinh nữ. Dựa trên yêu cầu này, thành viên câu lạc bộ LovePython đã viết đoạn mã lệnh sau đây.
Thầy giáo yêu cầu học sinh đưa ra các phát biểu về chương trình Python này. Sau đây là phát biểu của các bạn:
d. Đoạn lệnh từ dòng 13 đến dòng 18 có thể viết ngắn gọn như sau:
b. Hai biến bmi và cnt trên dòng 9 và 10 được khởi tạo là hai danh sách.
a. Biến (info) là một danh sách có cấu trúc như mảng hai chiều như hình minh hoạ sau đây:
Điểm giỏi là điểm nằm trong đoạn [8; 10]. Để đếm số điểm giỏi của lớp, một học sinh đã viết một chương trình Python như sau:
Sau khi đọc chương trình, một số học sinh khác đã có những nhận xét như sau:
d. Lệnh if tại dòng 4 cần sửa lại như sau:
if (i>=8.0 and i<=10.0):
c. Khi chạy chương trình, kết quả hiển thị ra màn hình là 3.
b. Việc khai báo và khởi tạo biến diem là sai vì tất cả các phần tử trong diem phải cùng kiểu dữ liệu.
a. diem là một danh sách và có cấu trúc như mảng một chiều.
Để đánh giá tình hình học tập của lớp, thầy giáo muốn lấy ra 3 điểm cao nhất, một học sinh đã giúp thầy lập trình bằng Python như sau đây:
d. Để lấy ra ba điểm cao nhất, lệnh ở dòng số 3 cần được sửa lại như sau.
c. Kết quả hiển thị ra màn hình sẽ là: [9, 8.3, 8]
b. Hàm sorted() là để sắp xếp các điểm theo chiều từ cao đến thấp.
a. Cần phải khởi tạo tất cả các giá trị của biến dtb là số thực.