Bạn hỏi - Chuyên gia trả lời
Bạn cần hỏi gì?
Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai.
Một nhóm học sinh sử dụng phần mềm hệ quản trị CSDL để tạo lập một CSDL quản lí các thuê bao điện thoại của một công ty viễn thông. Trong CSDL có bảng LOẠI_THUE_BAO lưu thông tin về các loại thuê bao điện thoại. Bảng THUE_BAO lưu thông tin về các thuê bao (số điện thoại) của khách hàng. Dữ liệu ví dụ của các bảng được minh hoạ như hình sau đây. Trong đó, mỗi loại thuê bao có một mã khác nhau, số điện thoại là duy nhất.
Sau đây là các ý kiến của nhóm học sinh đó về việc tạo hai bảng nói trên:
c. Thiết đặt trường LoaiTB trong hai bảng LOAI_THUE_BAO và THUE_BAO làm khoá chính của hai bảng.
b. Trường LoaiTB là khoá chính trong bảng LOAI_THUE_BAO và là khoá ngoài trong bảng THUE_BAO.
a. Trường Sdt trong bảng THUE_BAO tuy chứa toàn số nhưng định nghĩa kiểu dữ liệu là chuỗi kí tự.
Một nhóm học sinh sử dụng phần mềm hệ quản trị CSDL để tạo lập một CSDL quản lí nhân viên trong một công ty bao gồm bảng NHAN_VIEN lưu thông tin về các nhân viên. Dữ liệu ví dụ của bảng được minh hoạ như hình sau đây. Trong đó, mỗi nhân viên có một mã nhân viên khác nhau theo quy định riêng của công ty. Mỗi nhân viên có một số thẻ căn cước công dân duy nhất.
Sau đây là các ý kiến của nhóm học sinh đó về việc tạo bảng NHAN_VIEN nói trên.
d. Định nghĩa trường Ma_nhan_vien với tên là Ma_nhan_vien, có kiểu dữ liệu là kiểu kí tự có độ dài cố định và thiết đặt làm khoá chính cho bảng.
c. Định nghĩa trường Can_cuoc_cong_dan và So_dien_thoai với tên là Can_cuoc_cong_dan, So_dien_thoai và kiểu dữ liệu là số nguyên.
C. Bột lạp
b. Trường Can_cuoc_cong_dan có thể chọn làm khoá chính của bảng NHAN_VIEN vì mỗi nhân viên có số thẻ căn cước công dân khác nhau.
a. Mỗi nhân viên có một mã nhân viên duy nhất và có số căn cước công dân riêng nên hai trường Ma_nhan_vien và Can_cuoc_cong_dan phải là khoá chính của bảng NHAN_VIEN.
Một nhóm học sinh sử dụng phần mềm hệ quản trị CSDL để tạo lập một CSDL bán hàng bao gồm bảng CHI TIẾT HOÁ ĐƠN lưu thông tin chi tiết về các mặt hàng và số lượng được mua trong các đơn hàng. Dữ liệu ví dụ của bảng được minh hoạ như hình sau đây. Trong đó, trường Ma_hoa_don là khoá chính của bảng HOÁ_ĐƠN (lưu thông tin chung của hoá đơn). Trường Ma_mat_hang là khoá chính của bảng MẶT_HÀNG (lưu thông tin về các mặt hàng). Trong một hoá đơn có thể có nhiều mặt hàng được mua, một mặt hàng có thể được mua trong nhiều đơn hàng. Thông tin một mặt hàng được mua trong một hoá đơn được lưu trữ duy nhất ở một hàng trong bảng CHI_TIẾT_HOÁ_ĐƠN.
Sau đây là các ý kiến của nhóm học sinh đó về việc tạo bảng CHI_TIẾT_HOÁ_ĐƠN nói trên:
c. Bảng này lưu trữ thông tin về đơn hàng nên chọn trường Ma_hoa_don và thiết đặt làm khoá chính cho bảng.
b. Do hai trường Ma_hoa_don và Ma_mat_hang là khoá chính của các bảng khác nên chọn hai trường này và thiết đặt làm khoá chính cho bảng.
a. Định nghĩa trường Ma_hoa_don và trường Ma_mat_hang với tên là Ma_hoa_don, Ma_mat_hang và kiểu dữ liệu là chuỗi kí tự.
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: