Xin giới thiệu tới các bạn học sinh Đề thi năng khiếu môn Tin học 10 năm 2020-2021 có đáp án - Trường THPT chuyên Nguyễn Trãi (Lần 1), luyện tập giải đề giúp các bạn ôn tập dễ dàng hơn và nắm các phương pháp giải bài tập, củng cố kiến thức cơ bản. Mời các bạn cùng tham khảo!
VOI Training Camp ĐỀ KIỂM TRA NĂNG KHIẾU TIN HỌC Lớp 10 Chuyên Tin Ngày 05 tháng 10 năm 2020 Thời gian 180 phút (Đề thi có trang) Viết chương trình giải tốn sau: Bài 1: Đo độ sâu (2 điểm - Tên file chương trình: B1.cpp) Trong đầm sen có sen lên khỏi mặt nước với độ cao tính từ mặt nước đến cuống sen ℎ Để đo chiều sâu đầm, người ta kéo sen đoạn cho cuống sen sau kéo nằm sát mặt nước Khoảng cách mặt nước từ chỗ sen lên mặt nước đến vị trí cuống sen 𝑎 Giả thiết thân sen mọc thẳng đứng sau kéo thân thẳng Yêu cầu: Biết giá trị ℎ 𝑎 hay tính độ sâu đầm sen Ở độ sâu đầm khoảng cách từ vị trí đáy đầm nơi sen mọc lên đến mặt nước theo chiều thẳng đứng Dữ liệu: Nhập từ bàn phím hai giá trị thực ℎ 𝑎 (0 < ℎ < 𝑎) Kết quả: In số thực với chữ số phần thập phân - độ sâu đầm Ví dụ: Input 10 output 49.50 Bài Chạy bền (2 điểm - Tên file chương trình: B2.cpp) Sân trường Nguyễn Trãi có dạng hình vng, chiều 𝑎 mét Để đơn giản, mơ ta sân hình vng mặt phẳng tọa độ với tọa độ bốn góc theo chiều kim đồng hồ (0,0), (0, 𝑎), (𝑎, 𝑎), (𝑎, 0) Giờ thể dục, thầy giáo yêu cầu lớp chạy bền 𝑛 mét quanh sân trường theo chiều kim đồng hồ với điểm xuất phát (0,0), thầy đứng vị trí kết thúc để bấm thời gian Yêu cầu: In tọa độ vị trí thầy giáo đứng Dữ liệu: Nhập từ bàn phím hai số nguyên dương 𝑎 𝑛 (1 ≤ 𝑎, 𝑛 ≤ 109 ) Kết quả: In hai số nguyên 𝑥, 𝑦 cách dấu trống thể vị trí đứng thầy giáo có hồnh độ 𝑥 tung độ 𝑦 Ví dụ: Input 100 475 Output 75 Bài Trao thưởng (2 điểm - Tên file chương trình: B3.cpp) Sau lần thi khiếu, nhà trường trao thưởng cho học sinh đạt điểm cao kỳ thi Nếu có nhiều bạn đạt điểm cao tất bạn nàyđều trao thưởng, giá trị tiền thưởng bạn 𝑥 Yêu cầu: Biết điểm thi khiếu 𝑛 bạn lớp 10 Tin Hỏi tổng tiền thưởng mà nhà trường trao thưởng cho bạn có điểm cao lớp bao nhiêu? Dữ liệu: Nhập từ bàn phím giá trị sau: • Số ngun dương 𝑛 ≤ 106 - số lượng học sinh tham gia thi • Số nguyên dương 𝑥 ≤ 103 - tiền thưởng mà bạn có điểm cao nhận • Tiếp đến 𝑛 số ngun dương có giá trị không vượt 109 điểm 𝑛 bạn tham gia kỳ thi Kết quả: Ghi hình số nguyên - tổng số tiền thưởng bạn lớp 10 tin nhận Trang: Yêu cầu kỹ thuật: Để đạt 100% số điểm chương trình bạn khơng sử dụng 20 biến đơn (biến thuộc kiểu char, int, long long, double, float) Nếu bạn phải sử dụng số biến đơn nhiều hơn, điểm tối đa bạn đạt 50% số điểm Ví dụ: Input 5 Output Bài Lị vi sóng (2 điểm - Tên file chương trình: B4.cpp) Trong bếp nhà hàng lớn có lị vi sóng hâm nóng thức ăn phục vụ khách hàng Lị vi sóng có nút điều khiển Mỗi lần bấm nút lần bấm kéo dài hoạt động lị vi sóng thêm 30 giây, lần bấm nút lần bấm kéo dài hoạt động lị vi sóng thêm 60 giây, lần bấm nút lần kéo dài hoạt động lò thêm 90 giây, tức sau lần bấm liên tiếp thời gian hoạt động lò tăng thêm 30 giây cho lần bấm lần Số lần bấm nút hiển thị hình điều khiển Cho số lần bấm nút 𝑘 Hãy xác định thời gian hoạt động lị (tính giây) Dữ liệu: Nhập từ bàn phím số nguyên dương 𝑘 (1 ≤ 𝑘 ≤ 109 ) Kết quả: Ghi số nguyên thời gian hoạt động lò Ví dụ: Input Output 270 Ghi chú: Có 50% số test ứng với 50% số điểm có 𝑘 ≤ 106 Bài Hai thành phần (2 điểm - Tên file chương trình: B5.cpp) Dư lượng thuốc bảo vệ thực vật rau làm đau đầu nhà sản xuất mối lo người tiêu dùng Mới nhà nghiên cứu chế tạo thành công thuốc bảo vệ hai thành phần, vừa có khả bảo vệ trồng khỏi nhiều loại sâu bệnh vừa có khả tự trung hịa phân hủy pha chế thành phần theo tỷ lệ thích hợp Thuốc điều chế dạng lỏng Thành phần thứ cần dùng từ 𝑎 đến 𝑏 lít, khơng tác dụng, nhiều - phản tác dụng! Thành phần thứ hai cần dùng từ 𝑐 đến 𝑑 lít với lý tương tự Ngồi dùng 𝑥 lít thành phần thứ pha với 𝑦 lít thành phần thứ hai hỗn hợp có khả tự trung hịa phân hủy 𝑥 + 𝑦 chia hết cho 𝑘 Khi ta thu 𝑥 + 𝑦 lít thuốc Yêu cầu: Tính lượng thuốc tối đa thu Dữ liệu: Nhập từ bàn phím năm số nguyên dương 𝑎, 𝑏, 𝑐, 𝑑, 𝑘 (1 ≤ 𝑎, 𝑏, 𝑐, 𝑑, 𝑘 ≤ 109 ; 𝑎 ≤ 𝑏; 𝑐 ≤ 𝑑) Kết quả: In số nguyên lượng thuốc tối đa thu Ví dụ: Input 10 Output 15 (Dùng lít thành phần lít thành phần 2) Ghi chú: Có 50% số test đề ứng với 50% số điểm có 𝑎, 𝑏, 𝑐, 𝑑 ≤ 5000 -HẾT Trang: ĐÁP ÁN ĐỀ THI NĂNG KHIẾU LẦN (Lớp 10 TIN) Bài 1: Minh họa hình vẽ h a x h+x Theo định lý Pitago: (ℎ + 𝑥 )2 = 𝑥 + 𝑎2 ↔ ℎ2 + 𝑥 + 2ℎ𝑥 = 𝑥 + 𝑎2 𝑎2 − ℎ2 ↔𝑥= 2ℎ Code: #include using namespace std; int main() { double a, h, x; scanf ("%lf %lf", &h, &a); x = (a * a - h * h) / / h; printf ("%0.2f", x); } Bài 2: Phân tích 𝑛 = 𝑘 ∙ 𝑎 + 𝑟 với 𝑘 = 𝑛/𝑎, 𝑟 = 𝑛 % 𝑎 Có trường hợp xảy ra: • 𝑘%4 = : Điểm dừng cạnh (0,0) → (0, 𝑎) Đáp số (0, 𝑟) • 𝑘%4 = : Điểm dừng cạnh (0, 𝑎) → (𝑎, 𝑎) Đáp số (𝑟, 𝑎) • 𝑘%4 = : Điểm dừng cạnh (𝑎, 𝑎) → (𝑎, 0) Đáp số (𝑎, 𝑎 − 𝑟) • 𝑘%4 = : Điểm dừng cạnh (𝑎, 0) → (0,0) Đáp số (𝑎 − 𝑟, 0) Code: #include using namespace std; int main() { int a, n; cin >> a >> int k = n / int r = n % int x, y; switch (k % n; a; a; 4) { Trang: case 0: x = 0, y = break; case 1: x = r, y = break; case 2: x = a, y = break; case 3: x = a - r, break; } cout n >> x; int gmax = 0, res for (int i = 1; i int u; cin >> u; if (u > gmax) gmax = u, else if (u == ++res; } cout k; int m = k / 5, r = k % 5; Trang: cout > a >> b >> c >> d >> k; int res = b + d; if (res % k) { int r = res % k; int rmax = (b - a) + (d - c); if (r > rmax) res = 0; else res -= r; } cout