400 000+ дайын материалды
1 жыл бойы шексіз жүктеңіз
ҚМЖ, БЖБ, ТЖБ, презентациялар және авторлық материалдар
4 990₸/ 1 жыл
🔥Арнайы баға ·10.12.2026 дейін
Одан кейін - 29 990 ₸
Бір рет төлейсіз · Автотөлем жоқ
Тақырып бойынша 25 материал табылды

Информатика пәнінен олимпиада есептерін шығару жолдары

Материал туралы қысқаша түсінік
Информатика пәнінен олимпиада есептерін шығару жолдары
Материалдың қысқаша нұсқасы

Информатика пәнінен олимпиада есептерін шығару жолдары

Анетбаева У.М.

Б.Момышұлы атындағы №45 қазақ классикалық гимназиясының мұғалімі


А есебі.

N саннан тұратын А сандар тізбегі берілген. Осы сандар тізбегін кері ретімен шығару керек.

Мəліметтерді енгізу форматы

Енгізу файлының бірінші жолында N (1 <= N <= 1 000 000) саны берілген - тізбектегі

сандардың саны. Екінші жолда кемістікпен (пробел) бөлінген N сан берілген - A тізбегінің

сандары. Əрбір санның абсолют мəні 100 000-нан аспайды.

Мəліметтерді шығару форматы

Бір жолда N санды кемістік (пробел) арқылы бөліп шығарыңыз - A тізбегін кері ретімен шығарыңыз.

Есептің шешімі:

program a;

var n,i:longint;

x:array[1..1000000] of longint;

begin

readln(n);

for i:=1 to n do readln(x[i]);

for i:=n downto 1 do write(x[i],' ');

end.

А есебінің тесті


1 тест

2 тест

3 тест

4 тест

5 тест

Мәліметті енгізу

3

1 1 2

3

0 0 0

4

1 2 3 4

6

1 1 2 2 3 3

7

1 0 2 0 3 0 4

Мәліметті шығару

2 1 1

0 0 0

4 3 2 1

3 3 2 2 1 1

4 0 3 0 2 0 1

түсініктеме








В есебі.

Екі мысық тышқанды құбырға қуып кіргізді. Бірінші мысық координатасы x нүктесінде орналасқан, екінші мысық координатасы y нүктесінде, ал тышқан координатасы z нүктесінде орналасқан. Егер мысықтар бірдей жылдамдықпен қозғалса қайсысы тышқанға бірінші болып жететінін анықтау керек. Егер екеуі бірдей уақытта жетсе екі мысық кім бірінші жеткенін анықтап жатқанда, тышқан қашып кетеді.

Мəліметтерді енгізу форматы

Бір ғана жол берілген жəне бұл жолда x, y, z (1 <= x, y, z <= 1 000) сандары берілген.

Сандар бір біріне тең емес.

Мəліметтерді шығару форматы

Егер бірінші мысық бірінші жетсе 1 санын, екінші мысық бірінші жетсе 2 санын, екеуі

бірдей уақытта жетсе 3 санын шығарыңыз.

Есептің шешімі:

program b;

var x,y,z:0..1000;

begin

readln(x,y,z);

x:=abs(z-x);

y:=abs(z-y);

if x<y then writeln(1) else if x>y then writeln(2) else writeln(3)

end.


1 тест

2 тест

3 тест

4 тест

5 тест

Мәліметті енгізу

1 3 2

1 1000 400

1 1 1

6 10 9

50 53 51

Мәліметті шығару

3

1

3

2

1

түсініктеме







С есебі.

Сізге a, b жəне n сандары берілген. ax саны n санына бөлгендегі қалдығы b болатын жəне

0 <= x <= n-1 болатын барлық x сандарының санын табу керек.

Мəліметтерді енгізу форматы

Бір ғана жолда үш сан берілген - a, b жəне n сандары берілген (0 <= n <= 100000, 0 <= a, b

< n).

Мəліметтерді шығару форматы

Бір ғана сан - барлық x сандарының санын табу керек.

Есептің шешімі:

program c;

label 1;

var a,b,n,x,k:0..1000000;

begin

readln(a,b,n);

if n=0 then begin writeln('на 0 делить нельзя'); goto 1 end;

for x:=0 to n-1 do

if a*x mod n = b then k:=k+1;

writeln(k);

1:end.


1 тест

2 тест

3 тест

4 тест

5 тест

Мәліметті енгізу

2 6 5

10 0 10

36 40 44

54 18 45

2 101 103

Мәліметті шығару

0

10

4

9

1

түсініктеме







D есебі.

5 бүтін сандар берілген. Осы сандардың арасынан төртеуін таңдағандағы қосындының ең үлкен және ең кіші мәндерін табыңыз.

Мәліметтерді енгізу форматы

Бірінші жолда 5 бүтін сан берілген. Әр санның абсолют мәні 100-ден сапайды.

Мәліметтерді шығару форматы

Ең кіші және ең үлкен қосындының кемістік (пробел) арқылы бөліп шығарыңыз.

Есептің шешімі:

program d;

var i,min,t,max,k,s1,s2:integer;

a:array[1..5] of integer;

begin

for i:=1 to 5 do

read(a[i]);

max:=a[1]; k:=1;

min:=a[1]; t:=1;

for i:=2 to 5 do

begin

if a[i]<min then begin min:=a[i]; t:=i; end;

if a[i]>max then begin max:=a[i]; k:=i; end;

end;

for i:=1 to 5 do

begin

if i<>t then s1:=s1+a[i];

if i<>k then s2:=s2+a[i];

end;

writeln(s2,' ',s1)

end.


1 тест

2 тест

3 тест

4 тест

5 тест

Мәліметті енгізу

-5 -1 -4 -2 -3

78 45 89 56 12

-1 2 -3 4 -5

4 4 4 4 4

79 -46 13 -93 -41

Мәліметті шығару

-14 -10

191 268

-7 2

16 16

-167 5

түсініктеме







E есебі.

Батырхан 3-ке қалдықсыз бөлінетін сандарды жақсы көрді. Өкінішке орай, өте үлкен сандар үшін жақсы көру керек пе, әлді жоқ па тексере алмайды. Батырхан сіздің көмегіңізді сұрап жатыр, жақсы көру керектігін анықтайтын программа жазып беріңіз!

Мәліметтерді енгізу форматы

Бір ғана сан Х – тексеру керек сан (0<=X<= 10 1000).

Мәліметтерді шығару форматы

Егер х саны 3-ке қалдықсыз бөлінсе «», егер бөлінбесе «» сөзін шығарыңыз (тырнақшасыз).

Есептің шешімі:

program e;

var st:string; s,i,a,code:integer;

begin

readln(st); s:=0;

for i:=1 to length(st) do

begin

val(st[i],a,code);

s:=s+a; end;

if s mod 3=0 then writeln('YES') else writeln('NO')

end.


1 тест

2 тест

3 тест

4 тест

5 тест

Мәліметті енгізу

28

12345

21212121212

77777777777777777777777777777777777777777777777777777777777777777777777777777777

111111111111111111111111111111111111111111111111111111111111111111111111111111111

Мәліметті шығару

NO

YES

NO

NO

YES

түсініктеме



11 таңба

80 таңба

81 таңба


F есебі.

Cізге ұзындығы n болатын А массиві берілген. Сіз осы массивтің элементтерін алып тастай аласыз. Сізге элементтерді алып тастау арқылы массивті өспелі ету қажет. Соңында пайда болған өспелі массивтің ең үлкен бола алатын ұзындығын табу керек.

Мәліметтерді енгізу форматы

Енгізу файлының бірінші жолында N (1<=N<= 100000) саны берілген – тізбектегі сандардың саны. Екінші жолда кемістікпен (пробел) бөлінген N сан берілген – А тізбегінің сандары. Әрбір санның абсолют мәні 1000000000-нан аспайды.

Мәліметтерді шығару форматы

Бір ғана сан – есептің жауабын шығару керек.

Есептің шешімі:

program f;

var i,j,k,n,l,max:longint; a,c:array[1..100000] of longint;

begin

readln(n);

for i:=1 to n do

read(a[i]);

for j:=1 to n do

begin

k:=0;

max:=a[j];

for i:=j to n do

if a[i]>max then begin max:=a[i]; k:=k+1; end;

l:=l+1;

c[l]:=k;

end;

max:=c[1];

for i:=1 to l do

if c[i]>max then max:=c[i];

writeln(max+1);

readln

end.


1 тест

2 тест

3 тест

4 тест

5 тест

Мәліметті енгізу

9

1 2 3 4 5 6 7 8 10

9

9 8 7 6 5 4 3 2 1

8

1 2 1 3 2 1 2 4

5

3 4 3 9 7

10

2 3 9 6 3 1 2 3 2 4 5

Мәліметті шығару

9

1

4

3

5

түсініктеме

Сызудың қажеті жоқ

1 саны қалады

1 2 1 3 2 1 2 4

3 4 3 9 7

2 3 9 6 3 1 2 3 2 4 5


Материалды Word форматында жүктеп аласыз
Тарифке кіреді
8 ұстаз жүктеп алған
16 қаңтар
3007
Бұл материалды қолданушы жариялаған. UstazTilegi материалдың мазмұны мен авторлық құқықтарына жауап бермейді. Авторлық құқық бұзылған жағдайда шағым қалдыра аласыз
"Ұстаз" платформасында тіркелген пәндік олимпиадалар
Аттестацияға жарамды екенін көру үшін "Ұстаз" платформасында "Жарыстар, олимпиадалар тізімінен "Ustaz tilegi" деп іздесеңіз шығады
Қазақстандағы ең үлкен материалдар базасынан іздеу
Сіз үшін 400 000 ұстаздардың еңбегі мен тәжірибесін біріктіріп, ең үлкен материалдар базасын жасадық. Төменде керек материалды іздеп, жүктеп алып сабағыңызға қолдана аласыз
Осы тақырыпта
көрнекілік керек па?
10 000 астам көрнекіліктерді жинап қойдық.
Көрнекілік бөліміне өтіп тақырыбын жазып жүктеп алыңыз!
Министірлікпен келісілген Аттестацияға жарамды курстар тізімі