Задания
Версия для печати и копирования в MS Word
Тип Д27 C4 № 5258
i

Дан спи­сок точек плос­ко­сти с це­ло­чис­лен­ны­ми ко­ор­ди­на­та­ми. Не­об­хо­ди­мо опре­де­лить:

 

1)  номер ко­ор­ди­нат­ной чет­вер­ти K, в ко­то­рой на­хо­дит­ся боль­ше всего точек;

2)  ко­ли­че­ство точек в этой чет­вер­ти M;

3)  точку A в этой чет­вер­ти, на­и­ме­нее удалённую от осей ко­ор­ди­нат;

4)  рас­сто­я­ние R от этой точки до бли­жай­шей оси.

 

Если в не­сколь­ких чет­вер­тях рас­по­ло­же­но оди­на­ко­вое ко­ли­че­ство точек, сле­ду­ет вы­брать ту чет­верть, в ко­то­рой ве­ли­чи­на R мень­ше. При ра­вен­стве и ко­ли­че­ства точек, и ве­ли­чи­ны R не­об­хо­ди­мо вы­брать чет­верть с мень­шим но­ме­ром K. Если в вы­бран­ной чет­вер­ти не­сколь­ко точек на­хо­дят­ся на оди­на­ко­вом ми­ни­маль­ном рас­сто­я­нии от осей ко­ор­ди­нат, нужно вы­брать первую по спис­ку. Точки, хотя бы одна из ко­ор­ди­нат ко­то­рых равна нулю, счи­та­ют­ся не при­над­ле­жа­щи­ми ни одной чет­вер­ти и не рас­смат­ри­ва­ют­ся.

 

На­пи­ши­те эф­фек­тив­ную, в том числе по па­мя­ти, про­грам­му, ко­то­рая будет ре­шать эту за­да­чу. Перед тек­стом про­грам­мы крат­ко опи­ши­те ал­го­ритм ре­ше­ния за­да­чи и ука­жи­те ис­поль­зу­е­мый язык про­грам­ми­ро­ва­ния и его вер­сию.

 

Опи­са­ние вход­ных дан­ных

В пер­вой стро­ке вво­дит­ся одно целое по­ло­жи­тель­ное число - ко­ли­че­ство точек N.

Каж­дая из сле­ду­ю­щих N строк со­дер­жит ко­ор­ди­на­ты оче­ред­ной точки - два целых числа (пер­вое  — ко­ор­ди­на­та x, вто­рое  — ко­ор­ди­на­та у).

 

 

Опи­са­ние вы­ход­ных дан­ных

Про­грам­ма долж­на вы­ве­сти номер вы­бран­ной чет­вер­ти K, ко­ли­че­ство точек в ней M, ко­ор­ди­на­ты вы­бран­ной точки A и ми­ни­маль­ное рас­сто­я­ние R по об­раз­цу, при­ведённому ниже в при­ме­ре.

 

При­мер вход­ных дан­ных:

7

−3 4

1 2

1 1

0 4

−2 −3

−6 8

−12 1

 

 

 

При­мер вы­ход­ных дан­ных для при­ведённого выше при­ме­ра вход­ных дан­ных:

K = 2

M = 3

A = (−12, 1)

R = 1

 

При­ме­ча­ние.

Счи­тай­те, что во вход­ных дан­ных име­ет­ся хотя бы одна точка, не ле­жа­щая на осях ко­ор­ди­нат.

Спрятать решение

Ре­ше­ние.

Про­грам­ма чи­та­ет ис­ход­ные дан­ные, не за­по­ми­ная все точки в мас­си­ве. Для каж­дой чет­вер­ти хра­нят­ся ко­ли­че­ство точек в этой чет­вер­ти, ко­ор­ди­на­ты бли­жай­шей к осям точки, ми­ни­маль­ное рас­сто­я­ние до оси. Для каж­дой точки опре­де­ля­ет­ся, в какой чет­вер­ти она лежит, после чего дан­ные со­от­вет­ству­ю­щей чет­вер­ти кор­рек­ти­ру­ют­ся. При этом точки, ле­жа­щие на осях (одна из ко­ор­ди­нат равна нулю), не рас­смат­ри­ва­ют­ся.

При­мер пра­виль­ной и эф­фек­тив­ной про­грам­мы на ал­го­рит­ми­че­ском языке

алг

нач

цел N

цел х, у

цел­таб М[1:4], Rm[1:4], хА[1:4], уА[1:4]

цел i

цел к

нц для i от 1 до 4 М [i] :=0 Rm[i]:=0

кц

ввод N

нц N раз

ввод х, у

выбор

при х>0 и у>0 : к := 1

при х<0 и у>0 : к :=2

при х<0 и у<0 : к :=3

при х>0 и у<0 : к :=4

иначе к :=0

все

если к>0 то

М[к]:=М[к]+1

если (imin(iabs(х),iabs(у))0) или Rm[k]=0

то

Rm[к]:=imin(iabs(х),iabs(у))

хА[к]:=х; уА[к]:=у

все

все

кц к: =1

нц для i от 2 до 4

если М[i]>М[к] или M[i]=M[k] и Rm[i] < Rm[k]

то к:=i все

кц

вывод "К = ", к, нc

вывод "М = " М [ к] , нc

вывод "А = (", хА[к], ", ", уА[к], ")", нc

вывод "R =" ,Rm[к]

кон

Спрятать критерии
Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Про­грам­ма пра­виль­но ра­бо­та­ет для любых вход­ных дан­ных про­из­воль­но­го раз­ме­ра и на­хо­дит ответ, не со­хра­няя вход­ные дан­ные в мас­си­ве. До­пус­ка­ет­ся на­ли­чие в тек­сте про­грам­мы одной син­так­си­че­ской ошиб­ки: про­пу­щен или не­вер­но ука­зан знак пунк­ту­а­ции, не­вер­но на­пи­са­но или про­пу­ще­но за­ре­зер­ви­ро­ван­ное слово языка про­грам­ми­ро­ва­ния, не опи­са­на или не­вер­но опи­са­на пе­ре­мен­ная, при­ме­ня­ет­ся опе­ра­ция, не­до­пу­сти­мая для со­от­вет­ству­ю­ще­го типа дан­ных (если одна и та же ошиб­ка встре­ча­ет­ся не­сколь­ко раз, то это счи­та­ет­ся за одну ошиб­ку). До­пус­ка­ют­ся также не­зна­чи­тель­ные от­кло­не­ния в форме вы­во­да от­ве­та при усло­вии, что все ука­зан­ные в усло­вии дан­ные вы­во­дят­ся4
Про­грам­ма ра­бо­та­ет в ос­нов­ном верно, вход­ные дан­ные не хра­нят­ся в мас­си­ве, но име­ет­ся одна из сле­ду­ю­щих оши­бок:

1. Не­вер­но опре­де­ля­ет­ся номер чет­вер­ти (на­при­мер, пе­ре­пу­та­ны 2 и 4 чет­вер­ти).

2. Не­вер­но об­ра­ба­ты­ва­ют­ся точки, ле­жа­щие на осях (на­при­мер, для такой точки номер чет­вер­ти не из­ме­ня­ет­ся, и точка ока­зы­ва­ет­ся при­над­ле­жа­щей к той же чет­вер­ти, что и преды­ду­щая).

3. Не­вер­но ор­га­ни­зо­ва­но по­лу­че­ние пер­во­го зна­че­ния ми­ни­маль­но­го рас­сто­я­ния для каж­дой чет­вер­ти.

4. При по­ис­ке ми­ни­маль­но­го рас­сто­я­ния ис­поль­зу­ют­ся ко­ор­ди­на­ты, а не их аб­со­лют­ные зна­че­ния, в ре­зуль­та­те рас­сто­я­ние может по­лу­чить­ся от­ри­ца­тель­ным.

5. Вме­сто ре­аль­ных ко­ор­ди­нат точки со­хра­ня­ют­ся их аб­со­лют­ные зна­че­ния, в ре­зуль­та­те могут быть вы­ве­де­ны не­вер­ные ко­ор­ди­на­ты.

6. При вы­бо­ре чет­вер­ти для вы­во­да от­ве­та не­вер­но об­ра­ба­ты­ва­ют­ся си­ту­а­ции ра­вен­ства по­ка­за­те­лей.

7. Вы­во­дит­ся не­пол­ный или не­вер­ный ответ.

8. Дру­гие ошиб­ки, по сути ана­ло­гич­ные пе­ре­чис­лен­ным.

До­пус­ка­ет­ся на­ли­чие от одной до трёх син­так­си­че­ских оши­бок, опи­сан­ных в кри­те­ри­ях на 4 балла

3
Про­грам­ма ра­бо­та­ет в целом верно, эф­фек­тив­но или нет. Воз­мож­но со­хра­не­ние ко­ор­ди­нат всех точек в мас­си­ве с по­сле­ду­ю­щим про­смот­ром этого мас­си­ва, воз­мож­но, мно­го­крат­ным.

В ре­а­ли­за­ции ал­го­рит­ма до­пу­ще­но более 1 ошиб­ки из числа пе­ре­чис­лен­ных в кри­те­ри­ях на 3 балла или до­пу­ще­ны дру­гие ошиб­ки, при­во­дя­щие к не­вер­ной ра­бо­те про­грам­мы в от­дель­ных слу­ча­ях.

До­пус­ка­ет­ся на­ли­чие от одной до пяти син­так­си­че­ских оши­бок, опи­сан­ных выше

2
Про­грам­ма ра­бо­та­ет в от­дель­ных част­ных слу­ча­ях.

Один балл также ста­вит­ся, если про­грам­ма на­пи­са­на не­вер­но, но из опи­са­ния ал­го­рит­ма и общей струк­ту­ры про­грам­мы видно, что эк­за­ме­ну­е­мый в целом пра­виль­но пред­став­ля­ет путь ре­ше­ния за­да­чи

1
Не вы­пол­не­но ни одно из усло­вий, поз­во­ля­ю­щих по­ста­вить 4, 3, 2 или 1 балл0
Мак­си­маль­ный балл4