10 Август 2011 – 18:58 | 44 пікір

Құрметті ИНФОРМАТИКТЕР!
Cайтымыз сіздердің арқаларыңызда, аз уақытта Қазақстандағы ең танымал сайттардың біріне айналып келеді. Кейбір қазақ тілді сайттар өз контенттерін біздің сайтқа қарап өзгертіп қолданушыларын да көбейтті. Біздің үлгімізбен біршама жаңа сайттар ашылды. Соған қарағанда Информатик …

Толығырақ »
Информатика

Бәрі информатикаға байланысты

Педагогика

Тәлім-тәрбиеге байланысты материалдар

Басқа пәндер

Ұстаздар шығармашылығы

Оқушылар шығармашылығы

Басты бет » Web _bet-Жанна, Олимпиадалар, Паскаль туралы

Қалалық олимпиада тапсырмалары 2012.

Опубликовал inust в 8 Май 2012 – 09:131 пікір
Бұл мақала 2491 рет оқылды, 3 рет бүгін

Өскемен қаласы әкімдігінің «Қашықтықтан және бейінді оқыту мектебі – ресурстық орталығы» КММ, «Қашықтықтан білім беру және кәсіптік оқыту» тобының әдіскері Баймуханбетова Ж.С.


Есеп В. КӨМБЕ

Кірістік файлдың аты: b.in
Шығыстық файлдың аты: b.out

Қарақшылар көмген көмбені табу оңай: ол үшін тек картаны табу қажет. Қарақшылар әдетте картаны қолдан салады және көмбені табу алгоритмін келесідей сипаттайды: “Жалғыз тұрған пальманың қасына тұрыңыз. Орманға қарай отыз қадам, өзенге қарай он жеті … , соңында үлкен тасқа қарай он қадам жасаңыз. Көмбе соның астында орналасқан”. Бұндай нұсқаулардың көбі сегіз бағыттың бірі бойынша қандай да бір қадамдар санын жүріп өтуге келіп тіреледі. (1 – солтүстік, 2 - солтүстік-шығыс, 3 - шығыс, 4 - оңтүстік- шығыс, 5 -оңтүстік, 6 - оңтүстік -батыс, 7 - батыс, 8 - солтүстік- батыс) (суретті қара). Кез келген бағыттағы қадам ұзындығы 1-ге тең.

Бұндай жолмен саяхаттау маңайды тамашалаудың ең жақсы әдісі болып табылады, алайда бүгінгі күні үнемі асығыста болатын адамдардың оған мүмкіндігі жоқ. Сондықтан көмбе іздеушілер көмбе көмілген нүктеге тікелей барғысы келеді. Мысалы, солтүстікке қарай үш қадам, шығысқа қарай бір қадам, солтүстікке қарай бір қадам, шығысқа қарай үш қадам, оңтүстікке қарай екі қадам және батысқа қарай бір қадам жасаудың орнына шамамен 3.6 қадам жасай отырып тікелей жетуге болады (суретті қара).

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

Кірістік деректер форматы

Кірістік файлдың бірінші жолында N саны орналасқан  - нұсқаулар саны (1 <= N <= 40). Одан кейінгі N жолда нұсқаулардың өздері орналасады – бағыт нөмірі (1-ден 8-ге дейінгі бүтін сан) және қадамдар саны (1-ден 1000-ға дейінгі бүтін сан). Бұл сандар пробел арқылы ажыратылған.

Шығыстық деректер форматы

Ох осі шығысқа, ал Оу осі солтүстікке бағытталған деп алып, шығыстық файлға көмбе орналасқан нүкте координаталары X және Y (пробел арқылы ажыратылған екі нақты сан) шығару керек. Ең басында көмбе іздеуші координаталар басында тұруы қажет. Координаталарды шығарғанда нүктеден кейін 3 цифр ғана шығатындай пішімді қолдану керек.

Мысалдар

b.in b.out
6
1 3
3 1
1 1
3 3
5 2
7 1
3.000 2.000
1
8 10
-7.071 7.071

Шешімінің бағдарлама мәтіні:

Program Esep_B;
var x,y,d1:real;
n,i,k,s:integer;
begin
assign(input,’b.in’);
reset(input);
assign(output,’b.out’);
rewrite(output);
readln(n);
for i:=1 to n do
begin
read(k);readln(s);
d1:=sqrt(2)*s/2;
case k of
1:y:=y+s;
2:begin y:=y+d1; x:=x+d1;end;
3:x:=x+s;
4:begin y:=y-d1;x:=x+d1;end;
5:y:=y-s;
6:begin y:=y-d1; x:=x-d1;end;
7:x:=x-s;
8:begin y:=y+d1;x:=x-d1;end;
end;
end;
write(x:8:3,’ ‘,y:8:3);
close(input); close(output);
end.

 


 

Есеп С   КВН

Кірістік файлдың аты: c.in
Шығыстық файлдың аты: c.out

КВН тобында мүмкін минималды ойыншылар санын анықтайтын бағдарлама жазу қажет және топтағы қыздар саны X% артық, бірақ Y% кем екені белгілі.

Кірістік деректер форматы

Кірістік файлдың бірінші жолында пробел арқылы ажыратылған X және Y сандары жазылған. X және Y - бүтін, 1 < = X,Y < = 100

Шығыстық деректер форматы

Шығыстық файлға есеп шартында берілген шектеулерді қанағаттандыратын бір санды, яғни топ мүшелерінің минималды санын шығару керек.

Мысалдар

c.in c.out Түсініктеме
40 50 7 4-ұл
3-қыз, 40%< 42,86%<50%

Program Esep_C;
var x,y,i,j:integer; f:boolean;
n:real;
begin
assign(input,’c.in’);
reset(input);
assign(output,’c.out’);
rewrite(output);
readln(x,y);
f:=false;
i:=0;
repeat
inc(i); j:=i;
repeat
j:=j+1;
n:=(i*100)/(i+j);
if (n>x) and (n<y) then begin writeln(i+j); f:=true;end;
until f or (j=100);
until f or (i=100);
close(input); close(output);
end.


 

Ұқсас тақырыптар:

1 пікір »

  • Кушай Гулжанат пишет:

    Олимпиадалық есептердің программасын информатика мұғалімдерінің көбі жаза алмайды. Көмегіңізге рахмет тағы да олимпиадалық программалардың жазылуын сайтқа қойып тұруыңызды сұраймын.

Оставьте комментарий

Добавьте комментарий ниже или обратную ссылку со своего сайта. Вы можете также подписаться на эти комментарии по RSS.

Всего хорошего. Не мусорите. Будьте в топе. Не спамьте.

Вы можете использовать коды HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

На сайте используются Gravatar. Чтобы его получить зарегистрируйтесь Gravatar.