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

Tải Đề 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) - Đề thi HSG cấp trường môn Tin học lớp 12 có đáp án

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 (116.9 KB, 6 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

SỞ GD&ĐT VĨNH PHÚC


<b>TRƯỜNG THPT NGUYỄN DUY THÌ</b>
<b></b>


<b>---KÌ THI CHỌN HSG LỚP 12, NĂM HỌC 2016 - 2017</b>
<b>MÔN: TIN HỌC – LẦN 1</b>


<i>Thời gian làm bài: 180 phút, không kể thời gian giao đề</i>
<b></b>


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


<b>TT</b> <b>Tên bài</b> <b>File chương</b>


<b>trình</b> <b>File dữ liệu</b> <b>File kết quả</b> <b>Điểm</b>


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>Bài 1. Số hồn hảo</b>


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ố hồn
hảo. Ví dụ: Số 6 là số hồn hảo vì: Các ước của 6 là 1, 2, 3 và 6 = 1 + 2 + 3.


<i>* Dữ liệu: </i>


Vào từ tệp văn bản HOANHAO.INP, gồm 1 dòng ghi số N (2 < N < 1000).


<i>* Kết quả: </i>


Ghi ra tệp văn bản HOANHAO.OUT: là các số hồn hảo có giá trị < N, mỗi số
được viết trên một dịng.


<i>* Ví dụ:</i>


<b>BAI1.INP</b> <b>BAI1.OUT</b> <b>BAI1.INP</b> <b>BAI1.OUT</b>


7 6 30 6


28


<b>Bài 2. Dãy số</b>


<i>* Dữ liệu: Vào từ tệp văn bản SUM.INP, gồm 2 dòng:</i>
- 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<sub> ; i = 1, 2, ..., N)</sub>


<i>* Kết quả: </i>


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).


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<i>* Ví dụ:</i>



<b>BAI2.INP</b> <b>BAI2.OUT</b>


7


3 2 6 7 23 25 40


40 7
16


<b>BÀI 3: Đếm từ trong xâu.</b>


Chuẩn hóa xâu có nghĩa là loại bỏ dấu cách dư thừa trong xâu.
<i>* Dữ liệu: </i>


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
q 255 kí tự.


<i>* Kết quả: </i>


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.
<i>* Ví dụ:</i>


<b>BAI3.INP</b> <b>BAI3.OUT</b>


thpt nguyen duy thi <sub>THPT NGUYEN DUY THI</sub>



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:...ọ


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

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.


Bài 2


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

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;
Writeln(g, tbc);


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

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);


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

{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));



</div>

<!--links-->

×