Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án)

10. Để truy cập một trang Web em sử dụng cách nào trong các cách sau

a) Đánh địa chỉ Url của trang web vào hộp địa chỉ của trình duyệt web

b) Kích vào siêu liên kết đến trang web

c) Sử dụng danh sách lịch sử chứa trang web đã truy cập

d) Cả 3 cách trên

11. Hàm average trong Microsoft Excel dùng để

a) Tính tổng các số b) Tính trung bình các số lẻ

c) Tính trung bình các số chẵn d) Tính trung bình các số

12. Để chèn một ký tự đặc biệt trong Microsoft Word các em dùng?

a) Insert -> Equation b) Insert -> Picture

c) Insert -> Word Art d) Insert -> Symbol

13. Sử dụng công cụ tìm kiếm của trình duyệt Web ghõ vào từ khóa “Công nghệ thông tin” sẽ trả về các trang web có chứa:

a) Công nghệ b) thông tin

c) Công nghệ thông tin d) Cả 3 phương án trên

14. Để chèn chữ nghệ thuật vào tài liệu trong Microsoft Word em sử dụng

a) Insert -> Picture b) Insert -> Shapes

c) Insert -> WordArt d) Insert -> Chart

15. Để lưu tài liệu đang soạn thảo với tên cũ em dụng tổ hợp phím nào?

a) Alt + S b) Ctrl + S c) Shift + S d) Ctrl + O

docx 88 trang tinhoc 18/11/2025 811
Bạn đang xem 30 trang mẫu của tài liệu "Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án)

Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án)
 Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
 ĐỀ SỐ 1
 HỘI THI TIN HỌC TRẺ ĐỀ THI BẢNG B - TRUNG HỌC CƠ SỞ
 TP. HẢI PHÒNG NĂM HỌC 2024-2025
 Thời gian: 120 phút, không kể thời gian phát đề
 Tổng quan bài thi
 TT Tên bài Tên tệp kết quả Điểm
 1 Số đặc biệt Sodacbiet.* 25
 2 Ma trận xoắn ốc Matran.* 25
 3 Hình chữ nhật Hinhchunhat.* 25
 4 Robot chuyển hàng hóa Robot.* 25
(* phần mở rộng của tệp tin theo quy định của ngôn ngữ lập trình)
Câu 1 (25 điểm): Số đặc biệt.
Trong khi học về số học Nam tình cờ phát hiện ra các con số có tính chất đặc biệt. Số đặc 
biệt là số có đúng 3 ước nguyên dương.
Hãy sử dụng ngôn ngữ lập trình viết chương trình đặt tên là Sodacbiet.* (* là phần mở rộng 
của ngôn ngữ lập trình) giúp Nam tìm ra các số đặc biệt theo yêu cầu sau.
 9
Yêu cầu: Cho N số nguyên dương lần lượt là a1, a2,, aN (1 ≤ ai ≤ 10 ). Với mỗi số ai, cần 
xác định số đặc biệt bi nhỏ nhất không nhỏ hơn ai.
Dữ liệu vào: Từ tệp văn bản SDB.INP gồm 2 dòng.
Dòng thứ nhất chứa một số N (1 ≤ N ≤ 106).
 9
Dòng thứ hai gồm N số nguyên a1, a2,, aN (1 ≤ ai ≤ 10 ).
Kết quả: Đưa ra tệp văn bản SDB.OUT gồm N số nguyên b1, b2,, bN thỏa mãn yêu cầu đề 
bài.
Ví dụ:
 SDB.INP SDB.OUT
 3 9 4 25
 6 3 20
 5 4 25 9 121 9
 1 10 5 100 7
Câu 2 (25 điểm): Ma trận xoắn ốc
Cho một ma trận hình vuông kích thước N x N (10 ≤ N ≤ 800) được chia thành các ô nhỏ, 
với mỗi ô (i, j)(1 ≤ i, j ≤ N) có giá trị từ 1 đến N x N được sắp xếp tăng dần theo hình xoắn 
ốc.
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
Yêu cầu: Hãy sử dụng ngôn ngữ lập trình viết chương trình đặt tên là Matran.* (* là phần 
mở rộng của ngôn ngữ lập trình) in ra ma trận N x N các số từ 1 đến N x N xếp theo hình 
xoắn ốc theo chiều kim đồng hồ.
Đầu vào: Dữ liệu vào từ tệp MT.INP gồm một số nguyên dương N.
Đầu ra: Ghi ra tệp MT.OUT ma trận N x N theo thứ tự xoắn ốc.
Ví dụ:
 MT.INP MT.OUT
 3 1 2 3
 8 9 4
 7 6 5
 4 1 2 3 4
 12 13 14 5
 11 16 15 6
 10 9 8 7
Câu 3 (25 điểm): Hình chữ nhật
Một người muốn xây nhà trên một mảnh đất được ghép bởi 2 hình chữ nhật, anh ta muốn sử 
dụng phần diện tích chung để làm không gian sinh hoạt chung.
Yêu cầu: Hãy sử dụng ngôn ngữ lập trình viết chương trình đặt tên là Hinhchunhat.* (* là 
phần mở rộng của ngôn ngữ lập trình) để giải quyết bài toán này. Cụ thể bài toán như sau: 
Cho 2 hình chữ nhật trên mặt phẳng 2 D với tọa độ đỉnh trái dưới và đỉnh trên phải, tìm diện 
tích phần chung của 2 hình chữ nhật này?
Dữ liệu vào: đọc từ file HCN.INP gồm:
- Dòng 1 ghi 4 số nguyên x1, y1, x2, y2 tương ứng là tọa độ đỉnh trái dưới và đỉnh phải trên 
của hình chữ nhật thứ nhất;
- Dòng 2 ghi 4 số nguyên u1, v1, u2, v2 tương ứng là tọa độ đỉnh trái dưới và đỉnh phải trên 
của hình chữ nhật thứ hai;
 9 9
Trong đó: x1 < x2, y1 < y2, u1 < u2, v1 < v2 và (-10 < x1, x2, y1, y2, u1, u2, v1, v2 < 10 ).
Dữ liệu ra: ghi ra file HCN.OUT số nguyên duy nhất là diện tích phần chung của 2 hình chữ 
nhật.
Ví dụ:
 HCN.INP HCN.OUT
 1 1 3 3 2
 2 0 4 4
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
Câu 4 (25 điểm): Robot chuyển hàng hóa.
Một kho hàng hình chữ nhật có kích thước N x M (N dòng, M cột). Ta đánh số các dòng từ 1 
đến N theo chiều từ trên xuống dưới và các cột từ 1 đến M theo chiều từ trái sang phải để 
chia kho hàng thành các ô. Trong các ô đó, ngoài những ô trống để di chuyển có những ô là 
giá hàng không thể di chuyển. Một chú robot xuất phát tại ô (x, y) (x là giá trị dòng, y là giá 
trị cột). Nếu ô xuất phát là trống, robot có thể di chuyển sang 4 ô kề cạnh với ô đó (bên trái, 
bên phải, bên trên, bên dưới) và đương nhiên không thể di chuyển vào ô đặt giá hàng. 
Trường hợp ô xuất phát là giá hàng thì robot không thể di chuyển đến ô nào khác.
Yêu cầu: Hãy sử dụng ngôn ngữ lập trình viết chương trình đặt tên là Robot.* (* là phần mở 
rộng của ngôn ngữ lập trình) tính xem robot có thể di chuyển đến nhiều nhất là bao nhiêu ô 
để chuyển hàng?
Dữ liệu vào: Từ tệp văn bản ROBOT.INP gồm:
- Dòng thứ nhất gồm 4 số nguyên N, M, X, Y (mỗi số cách nhau một khoảng trắng) (1 ≤ X ≤ 
N ≤ 2000), 1 ≤ Y ≤ M ≤ 2000);
- Trong N dòng tiếp theo, mỗi dòng gồm M số nguyên 0 hoặc 1 (mỗi số cách nhau một 
khoảng trắng). Số 0 nghĩa là ô trống, số 1 nghĩa là ô đặt giá hàng.
Dữ liệu ra: Ghi ra tệp văn bản ROBOT.OUT gồm một số nguyên là số lượng ô lớn nhất mà 
robot có thể di chuyển đến để chuyển hàng. Nếu robot không di chuyển được thì ghi kết quả 
là -1.
Ví dụ:
 ROBOT.INP ROBOT.OUT
 4 5 2 4 10
 0 0 1 0 0
 0 1 0 0 1
 1 0 0 0 0
 0 1 0 0 1
 ---------HẾT---------
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
 ĐÁP ÁN
Câu 1 (25 điểm): Số đặc biệt.
Pascal
program SoDacBiet;
uses crt, math; 
// Kieu du lieu: Su dung Longint vi N <= 10^6, a[i] <= 10^9
// N la Longint, a[i] va b[i] la Longint.
var
 f_in, f_out: Text;
 N: Longint;
 a: array[1..1000000] of Longint; // Mang luu cac so a[i] (N toi da 10^6)
 i: Longint;
// --------------------------------------------------------------------------
// HAM KIEM TRA TINH NGUYEN TO
// Input: So p (<= 32000 vi p^2 <= 10^9)
// --------------------------------------------------------------------------
function IsPrime(p: Longint): Boolean;
var
 j: Longint;
begin
 if p < 2 then 
 begin
 IsPrime := False;
 Exit;
 end;
 if (p = 2) or (p = 3) then 
 begin
 IsPrime := True;
 Exit;
 end;
 // Kiem tra tu 2 den can bac hai cua p
 j := 2;
 while j * j <= p do
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
 begin
 if p mod j = 0 then
 begin
 IsPrime := False;
 Exit;
 end;
 Inc(j);
 end;
 IsPrime := True;
end;
// --------------------------------------------------------------------------
// THU TUC XU LY CHO MOI a[i]
// --------------------------------------------------------------------------
procedure Solve;
var
 p_start: Longint; // Can duoi cua so nguyen to p
 p_found: Longint; // So nguyen to tim duoc
 b_i: Longint; // Ket qua b[i]
begin
 // 1. Tinh can duoi cua p: p >= sqrt(a[i])
 // Su dung ham Sqrt cua Pascal tra ve Real.
 p_start := Trunc(Sqrt(a[i]));
 // Dam bao p_start^2 >= a[i]. Neu Trunc(Sqrt(a[i]))^2 < a[i] thi tang p_start len 1
 if Sqr(p_start) < a[i] then
 Inc(p_start);
 // 2. Tim so nguyen to p nho nhat >= p_start
 p_found := p_start;
 while not IsPrime(p_found) do
 Inc(p_found);
 // 3. Tinh b[i] = p_found^2
 b_i := Sqr(p_found);
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
 // 4. Ghi ket qua
 Write(f_out, b_i);
 if i < N then
 Write(f_out, ' '); // Ghi cach nhau 1 khoang trang
end;
// --------------------------------------------------------------------------
// CHUONG TRINH CHINH
// --------------------------------------------------------------------------
begin
 // 1. Gan va mo file
 Assign(f_in, 'SDB.INP');
 Reset(f_in);
 Assign(f_out, 'SDB.OUT');
 Rewrite(f_out);
 // 2. Doc N
 if Eof(f_in) then Exit; // Xu ly truong hop file rong
 Readln(f_in, N);
 // 3. Doc mang a[i]
 for i := 1 to N do
 begin
 Read(f_in, a[i]);
 end;
 // 4. Xu ly tung phan tu va ghi ra file
 for i := 1 to N do
 begin
 Solve;
 end;
 // 5. Dong file
 Close(f_in);
 Close(f_out);
end.
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
Câu 2 (25 điểm): Ma trận xoắn ốc
Pascal
program MaTranXoanOc;
uses crt;
// N toi da 800, can dung Longint cho N*N. Ma tran can phai khai bao lon.
const
 MAXN = 800;
var
 f_in, f_out: Text;
 N: Integer;
 A: array[1..MAXN, 1..MAXN] of Longint; // Ma tran N x N
 // Bien cho thuat toan xoan oc
 Top, Bottom, Left, Right: Integer; // Cac bien gioi han
 Count: Longint; // Bien dem gia tri hien tai (tu 1 den N*N)
 i, j: Integer; // Bien lap
begin
 // 1. Gan va mo file
 Assign(f_in, 'MT.INP');
 Reset(f_in);
 Assign(f_out, 'MT.OUT');
 Rewrite(f_out);
 // 2. Doc N
 if not Eof(f_in) then
 Readln(f_in, N);
 // 3. Khoi tao bien gioi han va bien dem
 Top := 1;
 Bottom := N;
 Left := 1;
 Right := N;
 Count := 1;
 // Tong so phan tu
 i := N * N; 
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
// 4. Thuc hien thuat toan xoan oc
while Count <= i do
begin
 // a) DI PHAI: Tu (Top, Left) den (Top, Right)
 for j := Left to Right do
 begin
 A[Top, j] := Count;
 Inc(Count);
 end;
 Inc(Top);
 // b) DI XUONG: Tu (Top, Right) den (Bottom, Right)
 // Kiem tra Top <= Bottom truoc khi di xuong
 if Top <= Bottom then 
 begin
 for i := Top to Bottom do
 begin
 A[i, Right] := Count;
 Inc(Count);
 end;
 Dec(Right);
 end;
 // c) DI TRAI: Tu (Bottom, Right) ve (Bottom, Left)
 // Kiem tra Left <= Right truoc khi di trai
 if Left <= Right then
 begin
 for j := Right downto Left do
 begin
 A[Bottom, j] := Count;
 Inc(Count);
 end;
 Dec(Bottom);
 end;
 // d) DI LEN: Tu (Bottom, Left) ve (Top, Left)
 DeThiTinHoc.net Bộ 10 Đề thi Tin Học Trẻ THCS (Có đáp án) - DeThiTinHoc.net
 // Kiem tra Top <= Bottom truoc khi di len
 if Top <= Bottom then
 begin
 for i := Bottom downto Top do
 begin
 A[i, Left] := Count;
 Inc(Count);
 end;
 Inc(Left);
 end;
 // Kiem tra dieu kien dung (neu Count da vuot qua N*N)
 if Count > i then Break;
 end;
 // 5. Ghi ma tran ket qua ra file MT.OUT
 for i := 1 to N do
 begin
 for j := 1 to N do
 begin
 Write(f_out, A[i, j]);
 // Xuat khoang trang sau moi phan tu tru phan tu cuoi dong
 if j < N then
 Write(f_out, ' ');
 end;
 Writeln(f_out); // Xuong dong sau moi hang
 end;
 // 6. Dong file
 Close(f_in);
 Close(f_out);
end.
Câu 3 (25 điểm): Hình chữ nhật
Pascal
program HinhChuNhat;
uses crt, math; // Su dung thu vien math cho ham min/max
// Vi toa do co the len den 10^9, ta can su dung kieu Longint.
 DeThiTinHoc.net

File đính kèm:

  • docxbo_10_de_thi_tin_hoc_tre_thcs_co_dap_an.docx