Задания
Версия для печати и копирования в MS Word
Тип Д24 C1 № 5067
i

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

Пас­кальБей­сик
var x, y: real;

begin

readln(x,y);

if y >= x*x − 6 then begin

if x*x + y*y <= 16 then write('при­над­ле­жит')

end

else

if x >= 0 then

write('при­над­ле­жит')

else

write('не при­над­ле­жит')

end.

INPUT x, y

IF y >= x*x − 6 THEN

IF x*x + y*y <= 16 THEN PRINT "при­над­ле­жит"

ELSE

IF x => О THEN

PRINT "при­над­ле­жит"

ELSE

PRINT "не при­над­ле­жит"

END IF

END IF

END

Си++Ал­го­рит­ми­че­ский язык

#include <iostream>

using namespace std;

int main(){

float x, y;

cin >> x >> y;

if (y >= x*x − 6) {

if (x*x +y*y <= 16) cout << при­над­ле­жит;

}

else

if (x >= 0)

cout << "при­над­ле­жит";

else

cout << "не при­над­ле­жит";

}

алг

нач

вещ x, y

ввод x, y

если y >= x*x − 6 то

если x*x + y*y <= 16 то

вывод 'при­над­ле­жит'

все

иначе

если x >= 0 то

вывод 'при­над­ле­жит'

иначе

вывод 'не при­над­ле­жит'

все

все

кон

Python

x = float(input())

y = float(input())

if y >= x*x − 6:

    if x*x + y*y <= 16:

        print("при­над­ле­жит")

else:

    if x => 0:

        print("при­над­ле­жит")

    else:

        print("не при­над­ле­жит")

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

 

Об­ластьУсло­вие 1 (y >= x*x – 6)Усло­вие 2 (x*x + y*y<= 16)Усло­вие 3 (x >= 0)ВыводВерно
да
при­над­ле­житнет
не при­над­ле­житда
да
дада

 

Графы про­то­ко­ла со­дер­жат сле­ду­ю­щую ин­фор­ма­цию.

 

Об­ласть - часть плос­ко­сти, ко­то­рой при­над­ле­жит про­ве­ря­е­мая точка. (Все

воз­мож­ные об­ла­сти от­ме­че­ны на ри­сун­ке бук­ва­ми А, В, С, ... S.)

 

Усло­вие 1, Усло­вие2, Усло­вие 3  — ре­зуль­тат про­вер­ки со­от­вет­ству­ю­ще­го

усло­вия (да или нет). Если усло­вие не про­ве­ря­лось, в про­то­кол за­пи­сы­вал­ся

про­черк.

 

Вывод  — со­об­ще­ние, ко­то­рое вы­ве­ла про­грам­ма. Если про­грам­ма ни­че­го не вы­ве­ла, в про­то­кол за­пи­сы­вал­ся про­черк.

 

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

 

По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.

1.  Вос­ста­но­ви­те уце­лев­шие стро­ки про­то­ко­ла, за­пол­нив все клет­ки таб­ли­цы. Там, где со­дер­жа­ние вос­ста­нав­ли­ва­ет­ся не­од­но­знач­но, за­пи­ши­те любое воз­мож­ное зна­че­ние. На­при­мер, если для не­сколь­ких об­ла­стей по­лу­ча­ет­ся оди­на­ко­вая стро­ка таб­ли­цы, ука­жи­те в графе «Об­ласть» любую из этих об­ла­стей.

2.  Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев её не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, до­ста­точ­но ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы.)

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

Ре­ше­ние.

1.  

Об­ластьУсло­вие 1 (y >= x*x – 6)Усло­вие 2

(x*x + y*y<= 16)

Усло­вие 3 (x >= 0)ВыводВерно
BCQRданетнет
DSнетдапри­над­ле­житнет
AEKPнетнетне при­над­ле­житда
FGLMдадапри­над­ле­житда
HNнетдапри­над­ле­житда

2.Для на­пи­са­ния пра­виль­ной про­грам­мы не­об­хо­ди­мо раз­де­лить тре­бу­е­мую об­ласть на части и опи­сать каж­дую из них. На­при­мер, можно вы­де­лить об­ла­сти FGLM, HN и QR. При этом по­лу­ча­ет­ся такой фраг­мент про­грам­мы (при­мер на Пас­ка­ле):

 

if (у>= х*х − 6) and (х*х+у*у<= 16) or (у>= х*х − 6) and (у<=0) or (х*х+у*у<= 16) and (х>=0)

then

write('при­над­ле­жит')

else

write('не при­над­ле­жит')

 

Об­ра­ти­те вни­ма­ние: в дан­ном ре­ше­нии вме­сто стро­гих усло­вий (у<0) и (х>0) можно было бы ис­поль­зо­вать не­стро­гие, это не вли­я­ет на пра­виль­ность про­грам­мы. Воз­мож­ны и дру­гие спо­со­бы до­ра­бот­ки про­грам­мы.

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

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

При на­пи­са­нии опе­ра­ций срав­не­ния до­пус­ка­ет­ся одно не­пра­виль­ное ис­поль­зо­ва­ние стро­гих/не­стро­гих не­ра­венств (счи­та­ет­ся не­су­ще­ствен­ной ошиб­кой, по­греш­но­стью за­пи­си). На­при­мер, вме­сто «у>=х*х-6» ис­поль­зу­ет­ся «у>х*х − 6»

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

При оце­ни­ва­нии этого за­да­ния на 2 балла до­пус­ка­ет­ся не учи­ты­вать кор­рект­ность ра­бо­ты про­грамм на точ­ках гра­ниц об­ла­стей (вме­сто не­стро­гих в ре­ше­нии были ис­поль­зо­ва­ны стро­гие не­ра­вен­ства)

2
Пра­виль­но вы­пол­не­но толь­ко одно дей­ствие из трёх, то есть не вы­пол­не­ны усло­вия, поз­во­ля­ю­щие по­ста­вить 2 или 3 балла, и имеет место одна из сле­ду­ю­щих си­ту­а­ций

1. Таб­ли­ца за­пол­не­на и со­дер­жит ошиб­ки в не более чем одной стро­ке; ни одна из оши­бок не ис­прав­ле­на.

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

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