Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án)

docx 88 trang Đình Phong 26/11/2025 60
Bạn đang xem 25 trang mẫu của tài liệu "Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docxtuyen_tap_9_de_thi_tin_hoc_tre_cap_thcs_kem_dap_an.docx

Nội dung text: Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án)

  1. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn var f_in, f_out: Text; // Toa do HCN 1 x1, y1, x2, y2: Longint; // Toa do HCN 2 u1, v1, u2, v2: Longint; // Bien cho HCN giao nhau X_left, X_right: Longint; Y_bottom, Y_top: Longint; L, W: Longint; // Chieu dai va chieu rong phan giao S: Int64; // Dien tich phan giao (can Int64 vi L*W co the la 10^9 * 10^9 = 10^18) begin // 1. Gan va mo file Assign(f_in, 'HCN.INP'); Reset(f_in); Assign(f_out, 'HCN.OUT'); Rewrite(f_out); // 2. Doc du lieu // Doc toa do HCN 1 Readln(f_in, x1, y1, x2, y2); // Doc toa do HCN 2 Readln(f_in, u1, v1, u2, v2); // 3. Tinh toa do HCN giao nhau // X toa do: Left = max(x1, u1), Right = min(x2, u2) X_left := Max(x1, u1); X_right := Min(x2, u2); // Y toa do: Bottom = max(y1, v1), Top = min(y2, v2) Y_bottom := Max(y1, v1); DeThi.edu.vn
  2. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn Y_top := Min(y2, v2); // 4. Tinh chieu dai va chieu rong phan giao L := X_right - X_left; W := Y_top - Y_bottom; // 5. Kiem tra dieu kien giao nhau va tinh dien tich if (L <= 0) or (W <= 0) then S := 0 // Khong giao nhau else S := L * W; // Dien tich phan giao // 6. Ghi ket qua Writeln(f_out, S); // 7. Dong file Close(f_in); Close(f_out); end. Câu 4 (25 điểm): Robot chuyển hàng hóa. program RobotChuyenHangHoa; uses crt; const MAX = 2000; // Mang luu tru ma tran A va mang danh dau da tham var f_in, f_out: Text; N, M, X, Y: Longint; A: array[1..MAX, 1..MAX] of Integer; // 0 hoac 1 Visited: array[1..MAX, 1..MAX] of Boolean; // Bien cho BFS Queue: array[1..MAX*MAX] of record i, j: Longint; end; Head, Tail: Longint; DeThi.edu.vn
  3. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn // Mang chua 4 huong di dx: array[1..4] of Longint = (1, -1, 0, 0); // Xuong, Len, Giu nguyen x dy: array[1..4] of Longint = (0, 0, 1, -1); // Giu nguyen y, Giu nguyen y, Phai, Trai i, j, k, ni, nj: Longint; Count: Longint; begin // 1. Gan va mo file Assign(f_in, 'ROBOT.INP'); Reset(f_in); Assign(f_out, 'ROBOT.OUT'); Rewrite(f_out); // 2. Doc N, M, X, Y Readln(f_in, N, M, X, Y); // 3. Doc ma tran A for i := 1 to N do begin for j := 1 to M do Read(f_in, A[i, j]); Readln(f_in); // Doc het dong end; // 4. Kiem tra dieu kien xuat phat if A[X, Y] = 1 then begin Writeln(f_out, -1); // Robot xuat phat o o dat hang Close(f_in); Close(f_out); Exit; end; // 5. Khoi tao BFS FillChar(Visited, SizeOf(Visited), 0); // Set tat ca thanh False DeThi.edu.vn
  4. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn Count := 0; // Khoi tao hang doi Head := 1; Tail := 1; Queue[Tail].i := X; Queue[Tail].j := Y; Visited[X, Y] := True; // 6. Thuc hien BFS while Head <= Tail do begin i := Queue[Head].i; j := Queue[Head].j; Inc(Head); Inc(Count); // Dem o hien tai // Xet 4 huong di for k := 1 to 4 do begin ni := i + dx[k]; nj := j + dy[k]; // Kiem tra dieu kien (trong bien, chua tham, la o trong) if (ni >= 1) and (ni = 1) and (nj <= M) and (not Visited[ni, nj]) and (A[ni, nj] = 0) then begin // Them vao hang doi va danh dau da tham Inc(Tail); Queue[Tail].i := ni; Queue[Tail].j := nj; Visited[ni, nj] := True; end; end; end; // 7. Ghi ket qua DeThi.edu.vn
  5. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn Writeln(f_out, Count); // 8. Dong file Close(f_in); Close(f_out); end. DeThi.edu.vn
  6. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn ĐỀ SỐ 2 HỘI THI TIN HỌC TRẺ ĐỀ THI THỰC HÀNH - CẤP THCS HUYỆN CHỢ MỚI Thời gian: 120 phút (không kể thời gian phát đề) Thí sinh làm bài chọn 1 trong các ngôn ngữ lập trình sau để làm: Scratch, Pascal, C++ hoặc Python. Chép các tập tin bài làm (Bai1. *; Bai2. *; Bai3. *; Bai4. *) nộp cho cán bộ coi thi. Dấu * được thay thế bởi sb3, pas, cpp hoặc py của ngôn ngữ lập trình được sử dụng tương ứng là Scratch, Pascal, C++ hoặc Python. Bài 1. (5.0 điểm) Lưu lại bài làm với tên bai1. * Một số tự nhiên bất kỳ bao giờ cũng xảy ra một trong hai trường hợp là số chẵn hoặc số lẻ. Giả sử có hai số tự nhiên N, M bất kỳ. Nếu N, M cùng chẵn hoặc cùng lẻ thì N và M cùng tính chẵn lẻ, ngược lại N và M không cùng tính chẵn lẻ. Em hãy sử dụng thư viện hình nền, nhân vật của Ngôn ngữ lập trình Scratch mô phỏng bài toán nêu trên qua những lời hội thoại giữa các nhân vật kết hợp với sử dụng thuật toán. Yêu cầu cụ thể như sau: - Nhập vào từ bàn phím hai số tự nhiên N và M (với N, M < 1000). - Tìm và xuất ra màn hình (sân khấu) thông báo 'Hai so tren cung tinh chan le' hoặc 'Hai so tren khong cung tinh chan le'. Dữ liệu thử: Nhập từ bàn phím Xuất ra màn hình (sân khấu) 3 7 Hai so tren cung tinh chan le 4 9 Hai so tren khong cung tinh chan le Bài 2. (5.0 điểm) Lưu lại bài làm với tên bai2. * Biết rằng N là một số vừa chia hết cho 5 vừa chia hết cho 9 và căn bậc hai của N là một số tự nhiên. Hãy tìm giá trị lớn nhất của số N có X chữ số (với 3 <= X < = 7) thỏa mãn điều kiện trên. Em hãy sử dụng thư viện hình nền, nhân vật của Ngôn ngữ lập trình Scratch mô phỏng bài toán trên qua những lời hội thoại giữa các nhân vật kết hợp với sử dụng thuật toán. Yêu cầu cụ thể như sau: - Nhập vào từ bàn phím số X. - Tìm và xuất ra màn hình (sân khấu) số N tìm được. Dữ liệu thử: Nhập từ bàn phím Xuất ra màn hình (sân khấu) 3 900 Bài 3. (5.0 điểm) Lưu lại bài làm với tên bai3. * DeThi.edu.vn
  7. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn Một Công ty công nghệ máy tính yêu cầu tất cả nhân viên phải đặt mật khẩu an toàn trên hệ thống thư điện tử của công ty. Mật khẩu được gọi là "mật khẩu an toàn" nếu có ít nhất 6 ký tự và trong đó phải có chứa ít nhất: 2 chữ cái in hoa khác nhau, 2 chữ cái thường khác nhau và 2 chữ số khác nhau. Viết chương trình tìm mật khẩu an toàn với các yêu cầu cụ thể như sau: Dữ liệu vào (Input): cho trong tập tin BAI03.INP gồm một dòng duy nhất ghi xâu S (xâu S là xâu tập hợp các ký tự chữ cái hoa, chữ cái thường, chữ số và dài không quá 255 ký tự). Dữ liệu xuất (Output): ghi vào tập tin BAI03.OUT gồm hai dòng, cụ thể như sau: - Dòng 1 ghi 3 số tự nhiên (cách nhau ít nhất một ký tự khoảng trắng) là tổng số ký tự chữ cái hoa khác nhau, tổng số ký tự chữ cái thường khác nhau và tổng số ký tự chữ số khác nhau (của xâu S). - Dòng 2 ghi xâu con ngắn nhất đầu tiên kể từ trái sang phải của xâu S là "mật khẩu an toàn", nếu không có ghi "khong co". Dữ liệu thử: BAI03.INP BAI03.OUT Hgd4resFwefR82sdghtF 3 9 3 FwefR82 Bài 4. (5.0 điểm) Lưu lại bài làm với tên bai4. * Giả thiết về một văn bản được gọi là văn bản chuẩn nếu đáp ứng các điều kiện sau: - Giữa hai từ liền nhau có duy nhất một ký tự khoảng cách; - Dấu ngắt câu (dấu chấm, dấu phẩy, dấu chấm phẩy, dấu chấm hỏi, dấu chấm than) được đặt sát vào ngay từ đứng trước đó, sau đó mới đến ký tự khoảng cách; - Dấu mở ngoặc đơn và dấu mở ngoặc kép phải đặt ngay trước từ đầu tiên trong ngoặc, không có khoảng trắng giữa từ và dấu ngoặc; - Dấu đóng ngoặc đơn và dấu đóng ngoặc kép phải đặt ngay sau từ cuối cùng trong ngoặc, không có khoảng trắng giữa từ và dấu ngoặc; Cho trước một văn bản, kiểm tra và đưa đoạn văn bản về dạng văn bản chuẩn theo các điều kiện trên, yêu cầu cụ thể như sau: Input (dữ liệu nhập) cho trong tập tin BAI04.INP gồm nhiều dòng, mỗi dòng không quá 255 ký tự. Output (dữ liệu xuất) ghi vào tập tin BAI04.OUT là đoạn văn bản đã được chuẩn hóa từ dữ liệu bên trên Dữ liệu thử: DeThi.edu.vn
  8. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn BAI04.INP BAI04.OUT (Hoc, hoc nua, hoc mai) (Hoc, hoc nua, hoc mai) ---------HẾT--------- DeThi.edu.vn
  9. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn ĐÁP ÁN Bài 1. (5.0 điểm) Lưu lại bài làm với tên bai1. * Pascal program Bai1; uses crt; var N, M: Integer; // Hai so tu nhien can kiem tra (N, M < 1000) begin // Xoa man hinh (tuy chon) // clrscr; Writeln('--- Bai 1: Kiem tra tinh chan le cung tinh ---'); // 1. Nhap du lieu Write('Nhap so N (N < 1000): '); Readln(N); Write('Nhap so M (M < 1000): '); Readln(M); Writeln('--------------------------------------------------'); // 2. Kiem tra va xuat ket qua // Su dung phep toan MOD de kiem tra phan du if (N mod 2) = (M mod 2) then Writeln('Hai so tren cung tinh chan le') else Writeln('Hai so tren khong cung tinh chan le'); // readkey; // Giu man hinh end. Bài 2. (5.0 điểm) Lưu lại bài làm với tên bai2. * Scratch // KHI NHẤN VÀO LÁ CỜ XANH // NHÂN VẬT 1: HỎI VÀ NHẬP DỮ LIỆU Ask "Nhap xau S (VD: HgD4resFwEfrR82sdghtF)" and wait // NHÂN VẬT 2: XỬ LÝ VÀ TRẢ KẾT QUẢ // PHẦN 1: DÒNG 1 DeThi.edu.vn
  10. Tuyển tập 9 Đề thi Tin Học Trẻ cấp THCS (Kèm đáp án) - DeThi.edu.vn Call Kiểm tra và Đếm (Answer) // MÔ PHỎNG DÒNG 1 OUTPUT Say "Dòng 1: Tổng số ký tự khác nhau:" for 2 secs Say "Hoa: [Dem_Hoa], Thuong: [Dem_Thuong], So: [Dem_So]" for 3 secs // PHẦN 2: DÒNG 2 Set MatKhauNganNhat to "khong co" // Vòng lặp L (Độ dài) For L = 6 to (Length of Answer) // Vòng lặp i (Vị trí bắt đầu) For i = 1 to (Length of Answer - L + 1) Set SubString to (Letters i through L of Answer) // Kiểm tra xâu con Call Kiểm tra và Đếm (SubString) If (Dem_Hoa >= 2) AND (Dem_Thuong >= 2) AND (Dem_So >= 2) Then Set MatKhauNganNhat to SubString Stop This Script // Dừng tất cả vòng lặp End If Next i Next L // MÔ PHỎNG DÒNG 2 OUTPUT Say "Dòng 2: Mat khau ngan nhat la:" for 2 secs Say MatKhauNganNhat for 3 secs // -------------------------------------------------------------------------- // KHỐI RIÊNG: Kiểm tra và Đếm (xâu S) // -------------------------------------------------------------------------- Define Kiểm tra và Đếm (Xau_Dau_Vao) Delete all of Hoa_Da_Thay Delete all of Thuong_Da_Thay Delete all of So_Da_Thay DeThi.edu.vn