Câu hỏi:
11/05/2023 218Cho trước danh sách gồm có tên, điểm thi và được sắp xếp theo thứ tự tăng dần của điểm thi, ví dụ danh sách: [["Bình", 7.5], ["Hoa", 8], ["An", 9], ["Quang", 10]]. Viết chương trình nhập một điểm số và tìm tên học sinh có điểm thi bằng điểm số đã nhập, nếu không tìm thấy thì thông báo "không có".
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
Quảng cáo
Trả lời:
- Đầu tiên, ta khai báo danh sách danh_sach chứa thông tin về tên học sinh và điểm số của họ. Chú ý rằng danh sách này đã được sắp xếp theo thứ tự tăng dần của điểm thi.
- Tiếp theo, ta sử dụng hàm input() để cho phép người dùng nhập vào một điểm số cần tìm.
- Sau đó, ta sử dụng một vòng lặp for để duyệt qua từng học sinh trong danh sách danh_sach. Với mỗi học sinh, nếu điểm số của họ bằng với điểm số cần tìm thì ta in ra tên của họ và kết thúc vòng lặp bằng lệnh break. Nếu không tìm thấy học sinh nào có điểm số bằng với điểm số cần tìm thì cuối cùng ta in ra thông báo "Không có học sinh có điểm số ..." bằng lệnh print() ở ngoài vòng lặp và sử dụng cú pháp else để xác định rằng chương trình đã duyệt qua toàn bộ danh sách mà không tìm thấy học sinh nào phù hợp.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 1:
Mô tả các bước thực hiện thuật toán tìm kiếm nhị phân khi left = right
Câu 2:
Để tính giá trị (số nguyên) gần đúng căn bậc hai của số tự nhiên n cho trước, người ta đã thiết lập hàm sau với ý tưởng gần tương tự thuật toán tìm kiếm tuần tự như sau
Hãy thiết kế lại thuật toán tìm số nguyên lớn nhất không vượt quá căn bậc hai của n bằng kĩ thuật chia để trị.
Câu 3:
1. Hãy trình bày cách giải bài toán tìm bi giả với 5 viên bi.
2. Trường hợp tổng quát có n viên bi cách làm như thế nào?
3. Ý tưởng chia để trị để giải bài toán tìm bi giả được thể hiện như thế nào?
Câu 4:
Viết chương trình hoàn chỉnh nhập một dãy số đơn điệu tăng từ bàn phím, các số cách nhau bởi dấu cách. Sau đó, nhập số K bất kì từ bàn phím và thực hiện việc tìm kiếm số K trong dãy trên. Nếu tìm thấy thì trả lại chỉ số của phần tử có giá trị K, ngược lại trả về – 1.
Câu 5:
Em hãy viết chương trình cài đặt các thuật toán tìm kiếm tuần tự và nhị phân rồi tiến hành đo thời gian thực trên máy tính với hai thuật toán này. Thực hiện kiểm thử với các bộ dữ liệu n = 10, 20, 50, 100 và ghi vào bảng để so sánh thời gian chạy giữa hai thuật toán tìm kiếm này.
Câu 6:
Phương án không đệ quy của thuật toán tìm kiếm nhị phân có phải là chia để trị không?
về câu hỏi!