Tải bản đầy đủ (.doc) (5 trang)

de thi HSG cap truong thuong xuan 2

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 (89.63 KB, 5 trang )

S GD&T THANH HểA
TRNG THPT THNG XUN 2

THI HC SINH GII CP TRNG
NM HC 2019 2020
Mụn: TIN HC - Lp 11 THPT
Thi gian: 180 phỳt (khụng k thi gian giao )
( cú 03 trang, gm 05 cõu)

Tng quan bi thi:
Bi 1
Bi 2
Bi 3
Bi 4
Bi 5

Tờn bi
Ly tha
Anagram
Tỡm s
Siờu i xng
Tỡm ng i

File chng trỡnh
BAI1.PAS
BAI2.PAS
BAI3.PAS
BAI4.PAS
BAI5.PAS

File d liu vo


BAI1.INP
BAI2.INP
BAI3.INP
BAI4.INP
BAI5.INP

File kt qu
BAI1.OUT
BAI2.OUT
BAI3.OUT
BAI4.OUT
BAI5.OUT

Bi 1: Vit chng trỡnh nhp vo n l s hc sinh ca mt lp (n<=50) v im tng
kt mụn Tin ca cỏc hc sinh ú. Hóy a ra s hc sinh cú im >=5.0
Vớ d: Cho n=10 v im tng kt mụn tin ca 10 hc sinh nh sau:
5.2
6.5
7.2
5.5
4.2
9.0
4.5
4.7
6.5
7.5
Kt qu l: S hc sinh cú im >=5.0 l 7
Bi 2: Cỏc s Fibonasi F1, F2, c nh ngha nh sau:
F1= F2 = 1
FN+1 = FN + FN 1, N > 1

Cho s nguyờn dng N (0 < N < 25), hóy tỡm s th N ca dóy Fibonasi.
Vớ d: Vi n=3 thỡ s th 3 ca dóy l 2
Vi n=6 thỡ s th 6 ca dóy l 8
Vi n=20 thỡ s th 20 ca dóy l 6765
Bi 3: Xõu i xng l xõu cú tớnh cht: c nú t phi sang trỏi cng thu c kt qu
ging nh c t trỏi sang phi. Cho mt xõu S gm khụng quỏ 200 kớ t. Cho bit S cú
phi xõu i xng hay khụng? Nu khụng, cho bit s kớ t ớt nht cn thờm vo xõu S
S tr thnh xõu i xng.
Vớ d: Cho xõu S=123321 thỡ xõu s l xõu i xng
Cho xõu S=abchhdcba thỡ xõu s khụng phi xõu i xng v s kớ t cn thờm vo l
k=1
Cho
xõu S=abcdhhcba thỡ xõu s khụng phi xõu i xng v s kớ t cn thờm vo l k=1
Câu 4: Giám đốc ngân hàng AGRIBANK cần viết chơng trình rút
tiền tại cây ATM cho khách hàng với yêu cầu sau: số tiền mà khách
hàng nhận đợc có nhiều mệnh giá nhất (để tiện chi tiêu), sau khi
nhận đợc nhiều mệnh giá nhất thì khách hàng chỉ phải nhận số tờ
(tiền) là ít nhất.


Biết rằng tại thời điểm hiện tại, ngân hàng chỉ có các mệnh giá là:
500.000, 200.000, 100.000, 50.000, 20.000, 10.000 và 5.000.
Bạn hãy viết chơng trình cho Giám đốc ngân hàng AGRIBANK, yêu
cầu nhập vào số tiền n (n nguyên dơng và n<5.000.000), viết ra màn
hình mệnh giá và số tờ tơng ứng, mỗi mệnh giá viết trên một dòng,
dòng cuối cùng ghi số tiền còn d.
Ví dụ:
Nhập vào số tiền cần rút: 732.000
Kết quả viết ra màn hình:
Mệnh giá Số tờ

500.000
1
100.000
1
50.000
1
20.000
3
10.000
1
5.000
2
2.000 Còn d
---------------- Ht ----------------Thớ sinh khụng s dng ti liu.
Cỏn b coi thi khụng gii thớch gỡ thờm.


ĐÁP ÁN
Bài 1:
Program bai1;
Var A: array [1..50] of real;
I, n: integer;
Begin
Write (‘nhap so hoc sinh trong lop’);
Readln (n);
For i:=1 to n do
Begin
Write (‘A[‘,I,’]=’);
Readln (A[i]);
End;

Dem:=0;
For i:=1 to n do
If A[i]>=5.0 then dem:=dem+1;
Writeln (‘so hoc sinh co diem mon tin lon hon 5.0 la:’, dem);
Readln
End.
Bài 2:
Program bai2;
Var A: array [1..30 of word;
I, n: integer;
Begin
Write (‘nhap so nguyen n=’); Readln (n);
If n<3 then write (‘so thu’, n,’ cua day la 1’)
Else begin A[1]:=1; A[2]:=1;
For i:= 3 to n do
A[i]:=A[i-1] + A[i-2];
End;
Write (‘so thu’, n, ‘cua day la’, A[n]);
Readln
End.
Bài 3:
program bai3;
var s:string;
I,n,m:integer;
begin
write (‘nhap xau’);
readln (s);
n:=length (s);
m:=n;
dem:=0;

for i:= 1 to n do
begin
if s[i]<>s[m] then dem:=dem+1;


m:=m-1;
end;
if dem=0 then writeln (‘xau’, s, ‘la xau doi xung’)
else writeln (‘xau’, s,’khong la xau doi xung, so ki tu them vao la’, dem);
readln
end.
Bài 4:
Program bai4;
Var n: longint;
Begin
Write (‘nhap so tien can rut:’);
Readln (n);
k:=n;
dem1:=0;
dem2:=0;
dem3:=0;
dem4:=0;
dem5:=0;
dem6:=0;
dem7:=0;
If k>700000 then
Begin k:=k-500000;
Dem1:=dem1+1;
End;
If k>300000 then

Begin k:=k-200000;
Dem2:=dem2+1;
End;
If k>185000 then
Begin k:=k-100000;
Dem3:=dem3+1;
End;
If k>85000 then
Begin k:=k-50000;
Dem4:=dem4+1;
End;
If k>35000 then
Begin k:=k-20000;
Dem5:=dem5+1;
End;
If k>15000 then
Begin k:=k-10000;
Dem6:=dem6+1;
End;
If k>5000 then
Begin k:=k-5000;


Dem7:=dem7+1;
End;
While k>=500000 do
Begin dem1:=dem1+1;
K:=k-500000;
End;
While k>=200000 do

Begin dem2:=dem2+1;
K:=k-200000;
End;
While k>=100000 do
Begin dem3:=dem3+1;
K:=k-100000;
End;
While k>50000 do
Begin dem4:=dem4+1;
K:=k-50000;
End;
While k>=20000 do
Begin dem5:=dem5+1;
K:=k-20000;
End;
While k>=10000 do
Begin dem6:=dem6+1;
K:=k-10000;
End;
While k>=5000 do
Begin dem7:=dem7+1;
K:=k-5000;
End;
Writeln (‘so to 500.000 la’, dem1);
Writeln (‘so to 200.000 la’, dem2);
Writeln (‘so to 100.000 la’, dem3);
Writeln (‘so to 50.000 la’, dem4);
Writeln (‘so to 20.000 la’, dem5);
Writeln (‘so to 10.000 la’, dem6);
Writeln (‘so to 5.000 la’, dem7);

Readln
End.



×