Tải bản đầy đủ (.pdf) (6 trang)

Đề thi học sinh giỏi môn Tin học lớp 12 trường THPT Nguyễn Duy Thì, Vĩnh Phúc năm học 2016 2017 (Lần 1)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (128.69 KB, 6 trang )

SỞ GD&ĐT VĨNH PHÚC
TRƯỜNG THPT NGUYỄN DUY THÌ
--------------------------

KÌ THI CHỌN HSG LỚP 12, NĂM HỌC 2016 - 2017
MÔN: TIN HỌC – LẦN 1
Thời gian làm bài: 180 phút, không kể thời gian giao đề
--------------------------

Tổng quan: Đề thi gồm 02 trang.
TT

File chương
trình

Tên bài

File dữ liệu

File kết quả

Điểm

Bài 1 Số hoàn hảo

HOANHAO.PAS BAI1.INP

BAI1.OUT

3


Bài 2 Dãy số

DAYSO.PAS

BAI2.INP

BAI2.OUT

3

Bài 3 Đếm từ trong xâu

XAU.PAS

BAI3.INP

BAI3.OUT

4

Bài 1. Số hoàn hảo
Một số tự nhiên N có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn
hảo. Ví dụ: Số 6 là số hoàn hảo vì: Các ước của 6 là 1, 2, 3 và 6 = 1 + 2 + 3.
* Dữ liệu:
Vào từ tệp văn bản HOANHAO.INP, gồm 1 dòng ghi số N (2 < N < 1000).
* Kết quả:
Ghi ra tệp văn bản HOANHAO.OUT: là các số hoàn hảo có giá trị < N, mỗi số
được viết trên một dòng.
* Ví dụ:
BAI1.INP

7

BAI1.OUT
6

BAI1.INP
30

BAI1.OUT
6
28

Bài 2. Dãy số
* Dữ liệu: Vào từ tệp văn bản SUM.INP, gồm 2 dòng:
- Dòng 1: Số N.
- Dòng 2: Dãy số a1, a2.......,an mỗi số cách nhau một dấu cách.
(0 ≤ ai ≤ 104 ; i = 1, 2, ..., N)
* Kết quả:
Ghi ra tệp văn bản SUM.OUT, gồm 2 dòng:
- Dòng 1: Giá trị và vị trí của phần tử lớn nhất trong dãy số (mỗi số cách nhau một
dấu cách).
Trang 1


- Dòng 2: ghi giá trị trung bình cộng của các số có giá trị lẻ ở vị trí chẵn trong dãy.
* Ví dụ:
BAI2.INP
7
3 2 6 7 23 25 40


BAI2.OUT
40 7
16

BÀI 3: Đếm từ trong xâu.
Chuẩn hóa xâu có nghĩa là loại bỏ dấu cách dư thừa trong xâu.
* Dữ liệu:
Vào từ tệp văn bản XAU.INP, gồm 1 dòng: là một xâu S bất kỳ có độ dài không
quá 255 kí tự.
* Kết quả:
Ghi ra tệp văn bản XAU.OUT, gồm 3 dòng:
- Dòng 1: ghi xâu sau khi đã chuyển hết về ký tự in hoa.
- Dòng 2: ghi độ dài của xâu sau khi chuẩn hóa.
- Dòng 3: ghi ra số từ có trong xâu.
* Ví dụ:
BAI3.INP
thpt nguyen duy thi

BAI3.OUT
THPT NGUYEN DUY THI
19
4

----- HẾT ----Cán bộ coi thi không giải thích gì thêm.

Họ và tên thí sinh:.................................................SBD:.................................

Trang 2



ĐÁP ÁN
Bài 1
Program hoanhao;
Uses crt;
Var i, n: interger;
f, g: text;
{Xay dung ham tinh tong cac uoc cua so nguyen duong}
function tongus(n : integer): integer;
var i,s : integer;
begin
s := 0;
for i := 1 to n div 2 do
if n mod i = 0 then s := s + i;
tongus := s;
end;
Begin
Assign(f, ‘bai1.inp’);
Reset (f);
Assign( g, ‘bai1.out’);
Rewrite(g);
Read(f, n);
{kiem tra va in ra so hoan hao}
For i:=1 to n do
If i = tongus(i) then write(g, i);
Close(f);
Close(g);
Readln
End.

Trang 3



Bài 2
Program dayso;
Uses crt;
Var i, n, , tong, dem, tb, max: interger;
A: array[1..10000] of longint;
F, g: text;
Begin
Assign(f, ‘bai2.inp’);
Reset (f);
Assign( g, ‘bai2.out’);
Rewrite(g);
Read(f, n);
For i:=1 to n do
Begin
Readln(f, a[i]);
End;
{Tim gia tri va vi tri cua phan tu lon nhat}
Max:=a[1];
For i:=1 to n do
If max < a[i] then
begin
max:=a[i];
Write(g, a[i]);
Write(g, i);
end;
{Ghi ra gia tri trung binh cong cua cac so le o vi tri chan trong day}
Dem: =0;
Tong:=0;

For i: 1 to n do
If (a[i] mod 2<> 0) and (i mod 2 = 0) then
Tong: = tong +a[i];
Inc(dem);
Tbc:= tong/dem;
Trang 4


Writeln(g, tbc);
Close(f);
Close(g);
Readln
End.

Bài 3
Program xau;
Uses crt;
Var s: string;
F, g: text;
X, i, dem: integer;
{Ham dem so tu trong xau s}
Function sotu(s : string) : integer;
Var i, dem : integer;
Begin
{ cong them dau cach dau xau de dem tu dau tien}
S: = ‘’ + s;
Dem: = 0 ;
For i:= 2 to x do
If (s[i-1]=’’) and (s[i]<>’’) then inc(dem);
Sotu:= dem;

End;
Begin
Assign(f, ‘bai3.inp’);
Reset (f);
Assign( g, ‘bai3.out’);
Rewrite(g);
Read(f, s);
x:= length(s);
Trang 5


{chuyen het xau ve ki tu in hoa}
For i:=1 to x do upcase(s[i]);
Write(g, i);
{chuan hoa xau}
while s[1]=' ' do delete(s,1,1);
while s[x]=' ' do delete(s,x,1);
for i:= x downto 2 do
if (s[i]=’’) and (s[i-1]=’’) then delete (s, i, 1);
writeln(g, s);
{ghi ra so tu co trong xau}
Writeln(g, Sotu(s));
Close(f);
Close(g);
Readln
End.

Trang 6




×