2012-2013 орта мектептерге келген олимпиада есептері, шешулерімен (Ақтөбе облысы бойынша).

Ақтөбе облысы Темір ауданы Шұбарқұдық №2 қазақ-орыс орта мектебінің информатика пәнінің мұғалімі Бабаниязов Ж.С.

І-тур есептері.
9 класс

А есебі Буындар
Ағылшын әліпбиінің әріптерінен тұратын сөз беріледі, осы сөзде қанша буын бар екенін анықтаңыз. Оңай болу үшін әр буында бір дауысты әріп бар болсын. Ағылшын әліпбиінің әріптері: a, e, o, u, y.
Мәлметтерді енгізу форматы
Енгізу файлдың жалғыз жолында ағылшын әліпбиінің әріптерінен тұратын сөз беріледі. Жол бос емес екеніне және оның ұзындығы 1000-нан аспайтынына кепіл беріледі.
Мәлметтерді шығару форматы
Есептің жауабын шығарыңыз.
Мысал

A. in A. out Комментарий
Yondaime 5 Y, o, a, i, e әріптері дауысты және әрқайсысы бөлек буында тұрады

В есебі Жайға жуық
Егер сан дәл екі әр түрлі жай санның көбейтіндісі болса, ол сан жайға жуық сан деп аталады. Өсу ретімен есептегенде k-ші жайға жуық санды анықтаңыз
Мәлметтерді енгізу форматы
Енгізу файлдың жалғыз жолында жалғыз бүтін сан k (1 <= k <= 100) берілген
Мәлметтерді шығару форматы
Есептің жауабын шығарыңыз.
Мысал

В.in В.out
1 6
2 10

C есебі Бөлгіштер
Бүтін N саны берілген. Сіге оның бөлгіштер санын анықтау керек
Мәлметтерді енгізу форматы

Енгізу файлдың жалғыз жолында бір бүтін сан N (1 <= N <= 10^12) берілген
Мәлметтерді шығару форматы
Есептің жауабын шығарыңыз.
Мысал

C. in C. out
1 1
4 3

program B;
Var x:array[1..10000] of longint;
a:array[1..10000] of word;
n:1..100000;
m,i,j,r,k:integer;
Begin
assign(input,’B.in’);reset(input);
assign(output,’B.out’);rewrite(output);
Readln(n);
for i:=1 to n do
read(x[i]);
for i:=1 to n do
begin
begin for m:=1 to x[i] do
if x[i] mod m=0 then inc(k);end;
inc(r);a[r]:=k;k:=0;
end;
for r:=1 to n do
if a[r] mod 2=0 then write(’0′,’ ‘) else write(’1′,’ ‘);
end.

Program esep_B;
var n,i:longint;s:extended;
begin
assign(input,’b.in’);
reset(input);
readln(n);
assign(output,’b.out’);
rewrite(output);
for i:=1 to n do
begin
read(s);
if frac(sqrt(s))=0 then write(1,’ ‘) else write(0,’ ‘);
end;
close(input);  close(output);
end.

9 класс

Задача А Слоги
Дается слово состоящая из букв английского алфавита. Нужно определить, сколько слогов в нем. Для простоты считайте, что в каждом слоге ровно одна гласная буква. Гласные буквы аглийского алфавита: a, e, o, u, y.
Формат входных данных
Единственная строка входного файла содержит заданное слово состоящая из букв английского алфавита. Гарантируется, что строка не пустая и ее длина не превосходит 1000.
Формат выходных данных
Выведите ответ к задаче
Пример

A. in A. out Комментарий
Yondaime 5 Буквы Y, o, a, i, e гласные и каждая находится в отдельном слоге

Первая задача с подсчетом числа слогов:

Program slog;
uses wincrt; {удалить эту строку, если ипользуется паскаль не под vista/7}
var s: string;
i,k: byte;
begin
write (‘введите слово: ‘);
readln(s);
k:=0;
for i:= 1 to length(s) do
if (s[i] = ‘а’) or (s[i] = ‘e’) or (s[i]=’у’) or (s[i]=’ы’) or (s[i]=’о’) or
(s[i]=’э’) or (s[i]=’я’) or (s[i]=’и’) or (s[i]=’ю’) or (s[i] = ‘ё’)
then k:=k+1;
write (k);
readln;
end.

Вторая задача, с поиском букв к:

program position;
uses wincrt; {удалить эту строку, если ипользуется паскаль не под vista/7}
var s:string;
i, t:byte;
begin
write (‘введите слово ‘);
readln(s);
t:=0;
for i:= 1 to length(s) do
if s[i]= ‘к’ then
begin
writeln (‘обнаружена буква к на позиции ‘,i);
t:=1;
end;
if t=0 then write (‘букв к не обнаружено’);
readln;
end.

в избранное ссылка отблагодарить

mysql [46]

******************************

Насколько я понял, первая задача звучит так “Найти количество заданного слога в введенной строке”
*****************************

var slovo,slog,stroka:string;
n,p,t:integer;
begin
write(‘Введите строку’);
readln(slovo);
write(‘Введите слог’);
readln(slog);
stroka:=”;
p:=0;
for n:=1 to length(slovo) do
begin
if slovo[n]=slog[1] then
for t:=1 to length(slog) do
begin
stroka:=stroka+slovo[n+t-1];
if stroka=slog then inc(p);
end;
stroka:=”;
end;
writeln(‘Количество слогов в заданной строке’,p);
readln;
end.

Вторая задача с буквой к

Var
s,c: String;
i,k,p: Integer;
Begin
c:=’k’;
writeln(‘Введите строку’);
ReadLn(s);
p:= Pos(c,s);
If (p=0) Then
WriteLn(‘Такого символа в слове нет.’)
Else
Begin
WriteLn(‘Символ расположен в позиции: ‘,p);
k:= 0;
p:= Length(s);
For i:=1 To p Do
If (s[i]=c) Then inc(k);
WriteLn(‘Количество вхождений данного символа: ‘,k);
readln;
End;
End.

Ответ на задачу Алексея про замену слогов

var
n:string;
t:integer;
begin
writeln (‘Введите строку’);
readln(n);
if pos(‘ма’,n)<>0 then
begin
t:=pos(‘ма’,n);
delete(n,t,2);
insert(‘ва’,n,t);
writeln(n)
end
else
writeln(‘Такой слог в строке не найден’)
end.

Первая задача:

Programm Syllaba(input, output);
type vocalis = ‘а’, ‘е’, ‘ё’, ‘и’, ‘о’, ‘у’, ‘ы’, ‘ю’, ‘я’;
var v: vocalis;
inpword: string;
i, j, l: integer;
begin
write(‘Введите слово: ‘);
readln(inpword);
writeln;
l:=length(inpword);
j:=0;
for i:=1 to l do if inpword[j] in v then inc(j);
write(‘В слове’);
write(j:3);
write(‘слог’);
if j>4 then writeln(‘ов’) else if j=1 then writeln else writeln(‘а’);
end.

Вторая задача:

Program PosK(input, output);
var inputline: string;
k,p1,p2: integer;
begin
write(‘Введите строку :’);
readln(inputline);
k:=1;
while not inputline[k]=’к’
repeat inc(k);
until p1:=k;
k:=length(inputline);
while not inputline[k]=’к’
repeat dec(k);
until p2:=k;
write(‘Первое вхождение -‘);
write(p1:4);
write(‘, последнее вхождение -‘);
writeln(p2:4);
end.

Задача В  Почти простое
Число называется почти простым, если оно является произведением ровно двух различных простых чисел. Нужно определить k-ое в порядке возрастания почти простое число
Формат входных данных
Единственная строка входного файла содержит единственное число k (1 <= k <= 100)
Формат выходных данных
Выведите ответ к задаче
Пример

В.in В.out
1 6
2 10

Задача C. Делители
Дано целое число N. Вам нужно определить количество его делителей
Формат входных данных
Единственная строка входного файла содержит целое число N (1 <= N <= 10^12)
Формат выходных данных
Выведите ответ к задаче

Пример

C. in C. out
1 1
4 3

10-11 класс

А есебі. Сандар
N, M және K бүтін сандары беріледі. Сіз 1-ден N-ге дейінгі  M немесе K немесе екі санға да бөлінетін сандардың санын анықтаңыз.
Мәлметтерді енгізу форматы
Енгізу файлының жалғыз жолында үш бүтін сан N, M және K ( 1<= N, M, K <= 10^18) беріледі.
Мәлметтерді шығару форматы
Есептің жауабын шығарыңыз.
Мысал / Пример

Е. in Е. out Комментарий
15 3 4 7

Program esep_A;
Var s,s1,s2:string; k,n,l:byte;x,y:boolean; t:char;
procedure engiz;
begin
assign(input, ‘compare.in’);
reset(input);
read(s);
close(input);
end;

procedure shygar;
begin
assign(output,’compare.out’);
rewrite(output);
write(s);
close(output);
end;

procedure init;
begin
fillchar(k,ofs(l)-ofs(k)+sizeof(k),0);
end;

procedure salystyr;
begin
if n<l then t:='<‘;
if n>l then t:=’>’;
if n=l then if s1=s2 then t:=’=’ else if s1<s2 then t:='<‘ else t:=’>’;
end;

procedure esepte;
begin
k:=pos(‘ ‘,s);y:=true;x:=false;
s1:=copy(s,1,k-1); n:=length(s1); delete(s,1,k);
s2:=s;l:=length(s2);s:=”;
if (s1[1]=’-‘) and (s2[1]<>’-‘) then begin s:=s1+’ < ‘+s2;y:=false;end;
if (s1[1]<>’-‘) and (s2[1]=’-‘) then begin s:=s1+’ > ‘+s2; y:=false;end;
if (s1[1]=’-‘) and (s2[1]=’-‘) then x:=true;
if y then begin
salystyr;
if x then
case t of
‘<‘: t:=’>’;
‘>’: t:='<‘;
end;
s:=s1+’ ‘+t+’ ‘+s2;
end;
end;

begin
engiz;
init;
esepte;
shygar;
end.


В есебі Үшбұрыш
Сізге жазықтықта N нүктелер беріледі . Олардың арасынан пайда болған үшбұрыштың ауданы ең үлкен үш нүктені таңдаңыз.
Мәлметтерді енгізу форматы
Енгізу файлының жалғыз жолында үш бүтін сан N ( 1<= N <= 100) – нүктелер саны беріледі. Келесі жолында екі бүтін х және у – сәйкес нүктенің координаттары беріледі, саннан беріледі. (-1000000 <= х, у <= 1000000). Ауданы нөлден көп үшбұрыш құрастыруға болатынына кепіл беріледі.
Мәлметтерді шығару форматы
Ауданы ең үлкен үшбұрышты құрайтын нүктелердің  нөмірлерін шығарыңыз. Нктелер енгізу файлында пайда болу ретімен бірден нөмірленеді. Егер ондай жауап бірнеше болса, кез келгенін шығарыңыз.
Мысал / Пример

Ғ. in Ғ. out Комментарий
4
0 0
1 1
0 1
1 0
1 2 3

С есебі 13, 29 және 47
Али-Амир санауды ұнатады. Ол 13, 29 және 47 сандарын ұнатпайды, сондықтан бұл сандар кездеспейтін санды, ол қызықты сан деп атайды. Оны  N цифрдан тұратын қанша қызықты сан бар екені қызықтырады. Оған осы сұраққа жауап беруге көмектесіңіз, яғни сол сандардың санын анықтаңыз.
Мәлметтерді енгізу форматы
Енгізу файлының жалғыз жолында бүтін сан N ( 2<= N <= 100000) беріледі.
Мәлметтерді шығару форматы
Есептің жауабын шығарыңыз.
Мысал / Пример

G. in G. out Комментарий
2 87 13, 29 және 47 сандардан басқа 10-нан 99-ға дейінгі барлық сандар.

10-11класс

Задача А Числа
Здаются целые числа N, M и K. Вам нужно определить колисечтво чисел  от 1 до N, которые делятся на М или К или на оба числа
Формат входных данных
Единственная строка входного файла содержит три целых числа N, M и K ( 1<= N, M, K <= 10^18).
Формат выходных данных
Выведите ответ к задаче.

Мысал / Пример

Е. in Е. out Комментарий
15 3 4 7

Задача В . Треугольник
Вам задаются N точек на плоскости. Нужно выбрать среди них три так, чтобы у полученного треугольника площадь была максимальной.
Формат входных данных
В первой строке входного файла задается целое число N ( 1<= N <= 100) – количество точек. В следующих N строках задаются по два целых числа х и у – координаты соответствующей точки (-1000000 <= х, у <= 1000000). Гарантируется, что можно составить треугольник ненулевой площадди.
Формат выходных данных
Выведите номера трех точек, которые образуют треугольник наибольшей площади. Намера нумеруются с единицы в порядке появление во входном файле. Если таких треугольников несколько, выведите любой.

Мысал / Пример

Ғ. in Ғ. out Комментарий
4
0 0
1 1
0 1
1 0
1 2 3
uses crt;
var
b,a:real;
begin
write('vvedite ygol A= ');
readln(a);
write('vvedite ygol B= ');
readln(b);
if (a+b)>=180 then
writeln('Net takogo treygolnika')
else writeln('takoi treygolnik sychestvuet');
if (a+b)<180 then begin
if (180-(a+b))=90 then
writeln('treygolnik pramoygolni')
else
writeln('treygolnik ne pramoygolni');
end;
end.

 

 

      var a,b,c: real;
          s:real;
begin
       writeln('vvedite chisla');
 readln(a,b,c);
   if (a>=0) and (b>=0) and (c>=0) then //возможность быть стороной треугольника
     if (sqrt(c)=sqr(a)+sqr(b)) then //пифагором проверяем прямоугольник ли
      if (a <= b) and (a <= c) then
       if (b <= c) then
           writeln (a,' ',b,' ',c)
   else
           writeln (a,' ',c,' ',b)
     else
        if (b <= a) and (b <= c) then
         if (a <= c) then
           writeln (b,' ',a,' ',c)
      else
           writeln (b,' ',c,' ',a)
       else
         if (a <= b) then
           writeln (c,' ',a,' ',b)
         else writeln (c,' ',b,' ',a)
        else
        writeln(' Neverno ykazali storony ');
        s:=(1/2)*a*b;
  writeln('S treygolnika =',s);
end.

 

 

uses crt;
var a,b,c,mn,md,mx,p,s:real;
    f:boolean;
begin
clrscr;
f:=true;
writeln('Введите 3 числа:');
readln(a,b,c);
if(a<=0)or(b<=0)or(c<=0){не положительные}
or(a+b<=c)or(a+c<=b)or(b+c<=a){или одна сторона больше или равна сумме двух других}
then f:=false {нет}
else
 begin
  {отсортируем стороны}
  mx:=a;
  if b>mx then mx:=b;
  if c>mx then mx:=c;
  mn:=a;
  if b<mn then mn:=b;
  if c<mn then mn:=c;
  md:=a+b+c-mn-mx;
  if mn*mn+md*md<>mx*mx{если больший угол не прямой}
  then f:=false;
 end;
if not f then writeln('Числа не могут быть сторонами прямоугольного треугольника')
else
 begin
  writeln('Числа могут быть сторонами прямоугольного треугольника');
  writeln('Длины сторон в порядке возрастания:');
  writeln(mn:0:2,' ',md:0:2,' ',mx:0:2);
  s:=mn*md/2;
  write('Площадь треугольника=',s:0:2);
 end;
readln
end.

Задача С  13, 29 и 47

Али-Амир любит считать. Он любит числа 13, 29 и 47, поэтому если в числе они не встречаются, то он называет это число интересным. Его интересует сколько существует N – значных интересных чисел. Помогите ему посчитать количество таких чисел.
Формат входных данных
Единственная строка входного файла содержит целое число N (2<= N <= 100000).
Формат выходных данных
Выведите ответ к задаче.

Мысал / Пример

G. in G. out Комментарий
2 87 13, 29 және 47 сандардан басқа 10-нан 99-ға дейінгі барлық сандар.

Check Also

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

Жуалы ауданы, №2 Мыңбұлақ орта мектебі информатика пәні мұғалімі Сабиев Бахытжан Төребайұлы.  Олимпиада – бұл …

6 комментариев

  1. Халел Акерке

    коооп рахмет!!!

  2. Халел Акерке

    коооп рахмет!!!

  3. Салеметсиз бе! Сизде 2012 2013 жылгы облыстык информатикадан олимпиада есептери бар ма екен? (жауабы болса артык етпейди)
    Алдын ала рахмет:)

  4. Салеметсиз бе! Сизде 2012 2013 жылгы облыстык информатикадан олимпиада есептери бар ма екен? (жауабы болса артык етпейди)
    Алдын ала рахмет:)

  5. Salamatsiz ba? Kerek materialimdi aldim. Raxmet. shigarmashylyk tabys tileimin!

  6. Salamatsiz ba? Kerek materialimdi aldim. Raxmet. shigarmashylyk tabys tileimin!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.