Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án)

Bài 1 : (7 điểm)

Một số tự nhiên n được gọi là số Amstrong (số tự mãn) khi có tổng lập phương các chữ số bằng với chính nó.

Ví dụ : 153 = 13 + 53 + 33 è 153 là số Amstrong

Yêu cầu: Cho trước một số nguyên dương n bất kỳ. Hãy viết chương trình cho biết n có phải là số Amstrong hay không?

Dữ liệu vào: Từ tệp văn bản AMSTRONG.INP chứa số nguyên dương n (1≤ n ≤10000) bất kỳ.

Kết quả: Ghi vào tệp văn bản AMSTRONG.OUT dòng thông báo n là số Amstrong hoặc n không phải số Amstrong.

Ví dụ :

AMSTRONG.INP AMSTRONG.INP
Test 1: 153 153 la so Amstrong
Test 2: 370 370 la so Amstrong
Test 3: 506 506 khong phai so Amstrong

Bài 2: (7 điểm)

Đầu năm học để quản lý tình trạng sức khỏe của học sinh, nhà trường tổ chức cho học sinh các lớp cân trọng lượng cơ thể. Mỗi học sinh được ghép vào một nhóm trọng lượng khác nhau.

Yêu cầu: Từ kết quả cân trọng lượng cơ thể học sinh của một lớp, hãy viết chương trình cho biết số học sinh theo từng nhóm trọng lượng.

Dữ liệu vào: Từ tệp văn bản SUCKHOE.INP gồm 2 dòng:

- Dòng đầu chứa một số nguyên dương n (n ≤ 50) là số lượng học sinh của một lớp.

- Dòng 2, chứa lần lượt n số nguyên, mỗi số có giá trị 20≤ xi ≤ 100 là trọng lượng của một học sinh, giữa các giá trị ngăn cách ít nhất là một ký tự trống.

Kết quả: Ghi vào tệp văn bản SUCKHOE.OUT gồm nhiều dòng. Mỗi dòng cho biết nhóm trọng lượng cùng với số học sinh.

Ví dụ

SUCKHOE.INP SUCKHOE.OUT

10

30 45 50 65 70 65 40 50 45 50

30 kg co 1 hoc sinh

45 kg co 2 hoc sinh

50 kg co 3 hoc sinh

65 kg co 2 hoc sinh

70 kg co 1 hoc sinh

40 kg co 1 hoc sinh

Bài 3 (6 điểm)

Cho trước một xâu kí tự, trong đó có ít nhất 4 chữ số.

Yêu cầu: Hãy viết chương trình loại bỏ một số kí tự ra khỏi xâu sao cho 4 kí tự cuối cùng còn lại theo đúng thứ tự đó tạo nên một số lớn nhất.

Dữ liệu vào: Từ tệp văn bản STRING.INP chứa một xâu bất kỳ bao gồm kí tự chữ cái và kí tự số xen kẽ nhau.

Kết quả: Ghi vào tệp văn bản STRING.OUT là số lớn nhất chỉ còn lại 4 kí tự theo đúng thứ tự ban đầu.

Ví dụ:

STRING.INP STRING.OUT
Test 1: 32ab7e6f8hg39 7839
Test 2: 24d5n4r05f704n652z393 7693
docx 91 trang Ngan8864 31/01/2026 220
Bạn đang xem 30 trang mẫu của tài liệu "Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (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ộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án)

Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án)
 Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 ĐỀ SỐ 1
 SỞ GD&ĐT PHÚ YÊN ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG
TRƯỜNG THPT NGUYỄN HUỆ NĂM HỌC: 
 --***-- Môn: Tin học Khối: 11
 Thời gian: 150 phút (không kể thời gian phát đề)
 Đề thi gồm 3 bài, thí sinh ghi vào 3 files với tên Bai1.pas, Bai2.pas, Bai3.pas
 Sử dụng ngôn ngữ lập trình Pascal, lập trình giải các bài tập sau :
Bài 1 : (7 điểm) 
 Một số tự nhiên n được gọi là số Amstrong (số tự mãn) khi có tổng lập phương các chữ số bằng 
với chính nó. 
 Ví dụ : 153 = 13 + 53 + 33 153 là số Amstrong
Yêu cầu: Cho trước một số nguyên dương n bất kỳ. Hãy viết chương trình cho biết n có phải là số 
Amstrong hay không?
Dữ liệu vào: Từ tệp văn bản AMSTRONG.INP chứa số nguyên dương n (1≤ n ≤10000) bất kỳ.
Kết quả: Ghi vào tệp văn bản AMSTRONG.OUT dòng thông báo n là số Amstrong hoặc n không phải 
số Amstrong.
Ví dụ : 
 AMSTRONG.INP AMSTRONG.INP
 Test 1: 153 153 la so Amstrong
 Test 2: 370 370 la so Amstrong
 Test 3: 506 506 khong phai so Amstrong
Bài 2: (7 điểm) 
 Đầu năm học để quản lý tình trạng sức khỏe của học sinh, nhà trường tổ chức cho học sinh các lớp 
cân trọng lượng cơ thể. Mỗi học sinh được ghép vào một nhóm trọng lượng khác nhau.
Yêu cầu: Từ kết quả cân trọng lượng cơ thể học sinh của một lớp, hãy viết chương trình cho biết số học 
sinh theo từng nhóm trọng lượng. 
Dữ liệu vào: Từ tệp văn bản SUCKHOE.INP gồm 2 dòng:
 - Dòng đầu chứa một số nguyên dương n (n ≤ 50) là số lượng học sinh của một lớp.
 - Dòng 2, chứa lần lượt n số nguyên, mỗi số có giá trị 20≤ x i ≤ 100 là trọng lượng của một học 
sinh, giữa các giá trị ngăn cách ít nhất là một ký tự trống.
Kết quả: Ghi vào tệp văn bản SUCKHOE.OUT gồm nhiều dòng. Mỗi dòng cho biết nhóm trọng 
lượng cùng với số học sinh.
Ví dụ 
 SUCKHOE.INP SUCKHOE.OUT
 10 30 kg co 1 hoc sinh
 30 45 50 65 70 65 40 50 45 50 45 kg co 2 hoc sinh
 50 kg co 3 hoc sinh
 65 kg co 2 hoc sinh
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 70 kg co 1 hoc sinh
 40 kg co 1 hoc sinh
Bài 3 (6 điểm) 
 Cho trước một xâu kí tự, trong đó có ít nhất 4 chữ số.
Yêu cầu: Hãy viết chương trình loại bỏ một số kí tự ra khỏi xâu sao cho 4 kí tự cuối cùng còn lại theo 
đúng thứ tự đó tạo nên một số lớn nhất.
Dữ liệu vào: Từ tệp văn bản STRING.INP chứa một xâu bất kỳ bao gồm kí tự chữ cái và kí tự số xen kẽ 
nhau.
Kết quả: Ghi vào tệp văn bản STRING.OUT là số lớn nhất chỉ còn lại 4 kí tự theo đúng thứ tự ban đầu.
Ví dụ: 
 STRING.INP STRING.OUT
 Test 1: 32ab7e6f8hg39 7839
 Test 2: 24d5n4r05f704n652z393 7693
 --------HẾT--------
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 ĐÁP ÁN
Bài 1: (7 điểm)
program Amstrong;
uses crt;
var g,f: text;
 n, m, s:integer;
 kq:boolean;
 begin
 clrscr;
 assign(f, 'Amstrong.inp');
 reset(f);
 assign(g, 'Amstrong.out');
 rewrite(g);
 readln (f,m);
 n:=m;
 if n=0 then kq:=false
 else
 begin
 s:=0;
 while n0 do
 begin
 s:= s+(n mod 10)*(n mod 10)*(n mod 10);
 n:=n div 10;
 end;
 if s=m then kq:=true else kq:= false;
 end;
 if kq=true then writeln(g,m,' la so Amstrong')
 else writeln (g,m,' khong phai so Amstrong');
 close(f);
 close(g);
 readln;
 end.
Bài 2: (7 điểm)
program bai_2;
uses crt;
var g,f: text;
 A: array[1..50] of integer;
 n, i, j, dem, k :integer;
 kt:boolean;
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 begin
 clrscr;
 assign(f, 'Suckhoe.inp');
 reset(f);
 assign(g, 'Suckhoe.out');
 rewrite(g);
 readln (f,n);
 for i:=1 to n do read(f,A[i]);
 dem:=0;
 for i:=2 to n do
 begin
 kt:= true;
 for j:=1 to i-1 do if a[i]=a[j] then kt:=false;
 if kt=true then
 begin
 dem:=0;
 for k:=1 to n do
 if a[i]=a[k] then inc(dem);
 writeln(g, a[i],' kg co ', dem, ' hoc sinh');
 end;
 end;
 close(f);
 close(g);
 readln;
 end.
Bài 3: (6 điểm)
program xau;
uses crt;
var s:string; g,f: text;
 c: char;
 n,i,j,k:integer;
 begin
 clrscr;
 assign(f, ‘string.inp');
 reset(f);
 assign(g, ‘string.out');
 rewrite(g);
 readln (f,s);
 i:=1;
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
repeat
 if (s[i] in ['0'..'9']) then inc(i) else delete(s,i,1);
until i>length(s);
for i:=1 to 4 do
 begin
 k:=i;
 for j:=i to length(s)+i-4 do if (s[k]<s[j]) then k:=j;
 if k>i then delete(s,i,k-i);
 end;
 if length(s)>4 then delete(s, 5, length(s)-4);
 write(g,s);
 close(f);
 close(g);
 readln;
 end.
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 ĐỀ SỐ 2
SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐẮK LẮK ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG
TRƯỜNG THPT PHAN ĐÌNH PHÙNG NĂM HỌC: 
 Môn: TIN HỌC 11
 ĐỀ CHÍNH THỨC Thời gian làm bài: 180 phút 
 (Đề thi gồm 2 trang)
 TỔNG QUAN ĐỀ THI
STT Tên bài File chương trình File dữ liệu File kết quả
 1 Tính Diện tích DT.PAS DT.INT DT.OUT
 2 Tổng dãy số TONG.PAS TONG.INP TONG.OUT
 3 Chuẩn hóa xâu CHUANHOA.PAS CHUAN.INP CHUAN.OUT
 4 Đếm số từ DEMTU.PAS DEMTU.INP DEMTU.OUT
 5 Tham quan THAMQUAN.PAS THAMQUAN.INP THAMQUAN.OUT
Bài 1: Tính diện tích (4 điểm)
Lập chương trình nhập vào đáy lớn, đáy bé, chiều cao của một hình thang. Tính và in ra màn hình diện 
tích của hình thang đó.
Bài 2. Tổng dãy số (4 điểm)
Lập trình nhập từ bàn phím số nguyên dương N (N = 100) và dãy A gồm N số nguyên A1, A2, ..., AN có 
trị tuyệt đối không lớn hơn 100. Tính và in lên màn hình tổng của các số lẻ trong dãy số vừa nhập. 
Bài 3. Chuẩn hóa xâu (4 điểm)
Xâu được chuẩn hóa nếu đầu xâu và cuối xâu không có kí tự trắng, các từ cách nhau 1 kí tự trắng.
Lập trình nhập vào từ bàn phím xâu S có chiều dài không quá 255 kí tự. Hãy chuẩn hóa xâu theo quy tắc 
trên.
Ví dụ: 
 Chuan.in Chuan.out
 ‘ bai tap ve nha ’ ‘bai tap ve nha’
Bài 4: Đếm số từ (4 điểm)
Từ là một dãy kí tự liên tiếp không chứa kí tự trắng.
Lập trình nhập vào một xâu có chiều dài không quá 255 kí tự. Yêu cầu đếm số từ trong xâu.
Bài 5. Tham quan (4 điểm)
Trong đợt tổ chức đi tham quan các địa danh lịch sử tại tỉnh Đắk Lắk, Đoàn trường THPT Phan Đình Phùng 
tổ chức cho n Chi đoàn (đánh số từ 1 đến n) tham quan, mỗi Chi đoàn đi tham quan một địa điểm khác nhau. 
Đoàn thứ i đi tham quan địa điểm cách trường di km (i=1,2,3n). Đoàn trường có m xe đánh số từ 1 đến m 
(m>=n) để phục vụ việc đưa các Chi đoàn đi tham quan. Xe thứ j có mức tiêu thụ xăng là v j đơn vị thể 
tích/km.
Yêu cầu: Hãy chọn n xe phục vụ các đoàn đi tham quan, mỗi xe chỉ phục vụ một đoàn sao cho tổng chi 
phí xăng dầu là ít nhất.
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
Dữ liệu vào: file văn bản thamquan.inp.
 - Dòng đầu tiên chứa 2 số nguyên dương n,m (n<=m<=200);
 - Dòng thứ hai chứa các số nguyên dương d1,d2,dn;
 - Dòng thứ 3 chứa các số nguyên dương v1,v2,..vn.
 - Các số trên cùng một dòng được ghi cách nhau một khoảng trống.
Kết quả: Ghi ra file văn bản thamquan.out
- Dòng đầu tiên chứa tổng lượng xăng dầu cần dùng đưa các đoàn đi tham quan (không tín lượt về);
- Dòng thứ i trong số n dòng tiếp theo ghi chỉ số xe phục vụ các đoàn (i=1,2,3,..n)
 Ví dụ:
 thamquan.in thamquan.out
 3 4 256
 7 5 9 2
 17 13 15 10 3
 4
 ----------------------HẾT---------------------
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 ĐÁP ÁN
Bài 1:
Công thức:
S = (đáy lớn + đáy bé) * chiều cao / 2
Code Pascal:
program DT;
var a,b,h: real;
begin
 readln(a,b,h);
 writeln((a+b)*h/2:0:2);
end.
Bài 2:
Code Pascal:
program TONG;
var n,i,sum,x: integer;
begin
 readln(n);
 sum := 0;
 for i := 1 to n do
 begin
 read(x);
 if x mod 2 0 then sum := sum + x;
 end;
 writeln(sum);
end.
Bài 3:
program CHUANHOA;
var s,res: string;
 i: integer;
 space: boolean;
begin
 readln(s);
 res := '';
 space := true;
 for i := 1 to length(s) do
 begin
 if s[i] ' ' then
 DeThiTinHoc.net Bộ 15 Đề thi Học sinh giỏi cấp Trường Tin học Lớp 11 (Có đáp án) - DeThiTinHoc.net
 begin
 res := res + s[i];
 space := false;
 end
 else if not space then
 begin
 res := res + ' ';
 space := true;
 end;
 end;
 if (length(res) > 0) and (res[length(res)] = ' ') then
 delete(res, length(res), 1);
 writeln(res);
end.
Bài 4:
program DEMTU;
var s: string;
 i,count: integer;
begin
 readln(s);
 count := 0;
 for i := 1 to length(s) do
 if (s[i] ' ') and ((i = 1) or (s[i-1] = ' ')) then
 inc(count);
 writeln(count);
end.
Bài 5:
program THAMQUAN;
const MAX = 200;
var n,m,i,j: integer;
 d,v,idx: array[1..MAX] of longint;
 used: array[1..MAX] of boolean;
 total: int64;
procedure sortD;
var i,j,t: integer;
begin
 for i := 1 to n-1 do
 DeThiTinHoc.net

File đính kèm:

  • docxbo_15_de_thi_hoc_sinh_gioi_cap_truong_tin_hoc_lop_11_co_dap.docx