I-тур. Информатикадан 2011-2012 жылғы аудандық олимпиадасы, 2-этап, 5 сағат (2012 облыстық І-тур)..

Есептерді шығарғандар: Шоңбаев Жеңс  Павлодар, Миржан Темирбеков ШКО Тарбагатай ауданы Акмектеп ауылы, Жақаев М Жамбыл, Нұрсұлтан Алматы, КазЭУ 2-курс.

А есебі. Тақта.

Енгізу файлының аты / имя входного файла: А.in
Шығару файлының аты / имя выходного файла: А.out
Уакыт шектеуі / ограничение по времени: 2 сек.
Жадыға шектеу / ограничение по памяти: 64Мб

N натурал саны берілген. Еегер түстер шахмат тәртібімен жазылғаны және (1, 1) – ұяшығы ақ түске боялғаны белгілі болса, N х N тақтаның әр ұяшығының түсін анықтаңыз.

Мәліметтерді енгізу форматы: Енгізу файлының бірінші жолында бір бүтін сан N (1<= N <= 10) берілген.
Мәліметтерді шығару форматы: Әр N жолда ұяшықтың түсіне сійкес N символ шығарыңыз; егер ақ болса- ‘W’, егер қара болса- ‘B’.
Мысалы / пример:

А.in А.out Комментарий
3 WBW
BWB
WBW

Есептің программасы:

Жеңіс Шоңбаев Миржан Темирхан
program A_esep-Takta;
function f(x,y:integer):char;
begin
F:=’B’;
if (x+y) mod 2 = 0 then F:=’W’;
end;
var i,j,k:integer;
begin
write(‘k=’);readln(k);
For i:=1 to K do begin
For j:=1 to K do
Write(F(i,j));
writeln;
end;
readln;
end. 

Кіріс файлынсыз.

program A;
var
fInput: file of Byte;
fOutput: file of String;
strVar: String;
n, i, j: Byte;
bCol: Boolean;
begin
assign(fInput,’A.in’); {$I+} reset(fInput) {$I-};
assign(fOutput,’A.out’); rewrite(fOutput);
read(fInput, n);
bCol:= true; (* birinshisi – W *)
for i:= 1 to n do
begin
strVar:= ”;
for j:= 1 to n do
begin
case bCol of
true: strVar:= strVar + ‘W’;
false: strVar:= strVar + ‘B’;
end;
bCol:= not(bCol);
end;
writeln(strVar);
write(fOutput, strVar);
end;
readln;
close(fInput);
close(fOutput);
end.А.in файлын осы программамен бір папкаға сақтау керек.

В есебі. Қалалар.

Енгізу файлының аты / имя входного файла: В.in
Шығару файлының аты / имя выходного файла: В.out
Уакыт шектеуі / ограничение по времени: 2 сек.
Жадыға шектеу / ограничение по памяти: 64Мб

Мемлекетте N қала бар Атшабар А қаласынан В қаласына жету керек. Сізге қай қалалардың арасында жол бар екені белгілі. Ең аз қала санынан өтетін А қаласынан В қаласына дейінгі маршрутты табыңыз. Аршрут бар екеніне кепілдік беріледі.

Мәліметтерді енгізу форматы: Енгізу файлының бірінші жолында төрт бүтін сан N, М, А, және В берілген  (1<= N <= 10, 1<= М <= 50, 1<= А <= 10, 1<= В <= 10) берілген. N, М, А, В сәйкесінше қалалар, жолдар саны және маршрут табу керек қалалардың нөмірлері.   Келесі М жолда сәйкес жолдың сипаттамасы екі бүтін сан U (1<=V, U<=N) осы жолдар қосатын қалалрдың нөмірлері берілген.
Мәліметтерді шығару форматы: А қаласынан В қаласына дейінгі ең минималды қала саынан өтетін маршруттың ұзындығы:
Мысалы / пример:

В.in В.out Комментарий
3 2 1 5
1 2
2 3
1

Есептің программасы:

program B__esep-Kalalar;
const MaxM = 50;
Type Citys = set of byte;
Type Way = record
fromC:byte;
toC:byte;
end;
var N:integer;
M:integer;
A:byte;
B:byte;
inpB:text;
outpB:text;
i:integer;
Ways:array[1..MaxM] of Way;
C:Citys;
C2:Citys;
C3:Citys;
l:integer; 

Begin
assign(inpB,’B.in’);
reset(inpB);
read(inpB,N,M,A,B);
for i := 1 to M do
read(inpB,Ways[i].fromC,Ways[i].toC);
close(inpB);
l := -1;
C := [A];
C2 := [A];
while not(B in C2) and (C2 <> []) do Begin
C3 := [];
for i := 1 to M do Begin
if (Ways[i].fromC in C2) then
include(C3,Ways[i].toC);
if (Ways[i].toC in C2) then {второе условие. т.к. по дороге можно перемещяться в обоих направлениях }
include(C3,Ways[i].fromC);
end;
C2 := C3 – C;
C := C + C3;
l := l+1;
if (C2 = []) then l := -2; {ответа нет }
end;
assign(outpB,’output.txt’);
rewrite(outpB);
writeln(outpB,l);
close(outpB);
end.

program B1;
uses Crt;
var
fInput, fOutput: file of Byte;
N, A, B, V, U: 0..10;
M, i, begin_a, min_dlina: 0..50;
aDor: array [1..2, 1..50] of 0..10;
begin
ClrScr;
assign(fInput,’B.in’); {$I+} reset(fInput) {$I-};
assign(fOutput,’B.out’); rewrite(fOutput); 

{  N:= 3; M:= 2; A:= 1; B:= 3;
write(fInput, N, M, A, B);
V:= 1; U:= 2;
write(fInput, V, U);
V:= 2; U:= 3;
write(fInput, V, U); }

read(fInput, Byte(N), Byte(M), Byte(A), Byte(B));
writeln(N, M, A, B);
begin_a:= 0;
min_dlina:= 0;
for i:= 1 to M do
begin
read(fInput, Byte(aDor[1, i]), Byte(aDor[2, i]));
if aDor[1, i] = A then begin_a:= i;
writeln(aDor[1, i], aDor[2, i]);
end;
i:= begin_a – 1;
repeat
i:= i + 1;
V:= aDor[1, i];
U:= aDor[2, i];
min_dlina:= min_dlina + 1;
until aDor[2, i] = B;
writeln(min_dlina);
readln;
close(fInput);
close(fOutput);
end.

В.in файлын осы программамен бір папкаға сақтау керек.
Бұл программалар дұрыс орындалуы үшін Паскалдың моделдер кітапханасы толық болу керек.

С есебі. Ғажайып сан.

Енгізу файлының аты / имя входного файла: С.in
Шығару файлының аты / имя выходного файла: С.out
Уакыт шектеуі / ограничение по времени: 2 сек.
Жадыға шектеу / ограничение по памяти: 64Мб

Егер сан өзінен кіші бөлгіштерінің қосындысына тең болса, онда оны ғажап сан деп атайды. Берілген бүтін N санының ғажап сан немесе ғажап сан емес екенін анықтаңыз.

Мәліметтерді енгізу форматы: Енгізу файлының бірінші жолында бір бүтін сан N  берілген. (1 <= N <= 1000000).
Мәліметтерді шығару форматы: Егер ғажап сан болса “YES”  сөзін шығарыңыз, болмаса “NO”:
Мысалы / пример:

С.in С.out Комментарий
3
6
NO
YES

Есептің программасы:

program C_esep-Gazhapsan;
uses crt;
var i,j,k,m,sum:longint;
b:array[1..50]of  longint;
begin
clrscr;
write(‘Butin san engiziniz: ‘);readln(i);
sum:=0;k:=1;
for j:=1 to i-1 do if i mod j=0 then
begin
b[k]:=j;inc(k);
end;
for j:=1 to k-1 do sum:=sum+b[j];
if i=sum then begin write(‘ ‘,i,’ gajap san ‘);inc(i)end
else write(i,’ gajap san emes’); 

readln;
end.

program C;
var
fInput: file of Integer;
fOutput: file of String;
N, N2, S, i: Integer;
bool: Boolean;
strAns: String;
begin
assign(fInput,’C.in’); {$I+} reset(fInput) {$I-};
assign(fOutput,’C.out’); rewrite(fOutput);
read(fInput, N);
bool:= false; S:= 0;
if (N > 1) and (N < 1000000) then
if N = 1 then bool:= true else
if N > 5 then
begin
N2:= Trunc(N/2);
for i:= N2 downto 1 do
if (N mod i = 0) then S:= S + i;
if S = N then bool:= true;
end;
if bool then
strAns:= ‘YES’
else
strAns:= ‘NO’;
writeln(strAns);
write(fOutput, strAns);
readln;
close(fInput);
close(fOutput);
end.
В.in файлын осы программамен бір папкаға сақтау керек.

Check Also

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

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

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

  1. Көп Рахмет ағайлар! Алла разы болсын! сіздерден өтінерім программанын әр жолына казакша түсінік бере аласыздар ма, мен енді-енді үйреніп келе жатыр едім. Алдын ала рахмет

  2. С есебі: Түбір
    Енгізу файлының аты: С.in
    Шығару файлының аты: С out
    Уақыт шектеу: 2 секунд
    Жадыға шектеу: 64 мегабайт

    Берілген А санынынң N дәрежелі түбірін табыңыз (яғни Хn=A шарты орындалатындай Х саны). Егер жауап бүтін емес сан болса, онда оны қарапайым жуықтау ережелерімен жауықтаңыз.

    Енгізу файлының форматы
    Енгізу файлының жалғыз жолына бос орынмен бөлінген А және N – екі бүтін сан берілген ( ).
    Шығару файлының форматы
    Есептің шешуі – бір бүтін санды шығарыңыз.

    Мысал
    С. in С. out
    4 2 2
    31 2 6
    30 2 5

    Паскаль операторын және матемтаикалық формуланы ескеріп бул есепті былай шығарыпты КазЭУдің студенті Нурсултан:
    program ss;
    uses crt;
    var
    a,n:integer;
    t:real;
    f1,f2:text;
    begin
    clrscr;
    assign(f1,’c:in.txt’);
    reset(f1);
    read(f1,a,n);
    t:=exp(1/n*ln(a));
    assign(f2,’c:out.txt’);
    rewrite(f2);
    write(f2,round(t));
    close(f1);
    close(f2);
    readkey;
    end.

  3. Биылғы оқу жылында, яғни 2011/2012 оқу жылында оқушым облыстық олимпиадаға қатысып қайтты, бірақ облысқа барғанда ол есептерін паскальда орындаған екен, оқушының айтуы бойынша есептер паскальда емес, басқа программалау тілінде, TurboNet-те орындалады екен деп ренішпен қайтып келді. Неге оқу бөлімі ескерту айтпады, осы программа бойынша түсінік берсеңіздер. Алдын -ала рахмет!!!

  4. Информатикадан олимпиада кезінде оқушы, есептің программасын өзі жақсы білетін кез-келген тілде жаза берсе болады. Сіздің балаңыздың программасы тестілеуден өтпеген немесе оқушыңыз өз құқын қорғай алмаған.

  5. Сәлеметсіздер ме? мен Бейсик тілін оқып едім. Паскаль тілінде есеп шығарарда қиналам. Осы Паскаль тілінен онлайн курс алуға бола ма?

  6. Сәлеметсіздер ме? мен Бейсик тілін оқып едім. Паскаль тілінде есеп шығарарда қиналам. Осы Паскаль тілінен онлайн курс алуға бола ма?

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

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

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