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

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

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

begin

readln(x,y);

if x*x+y*y>=4 then

if x>= –2 then

if y<= –x then

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

else

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

end.

INPUT x, y

IF x*x+y*y>=4 THEN

IF x>= –2 THEN

IF y<= –x THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

Си++Ал­го­рит­ми­че­ский
int main()

{

float x,y;

cin >> x >> y;

if (x*x+y*y>=4)

if (x>= –2)

if (y<= –x)

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

else

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

}

алг

нач

вещ x,y

ввод x,y

если x*x+y*y>=4 то

    если x>= –2 то

        если y<= –x то

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

        иначе

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

        все

    все

все

кон

Python

x = float(input())

y = float(input())

if x*x+y*y >= 4:

    if x >= −2:

        if у <= -x:

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

        else:

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

 

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

1.   Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­бо­та­ет про­грам­ма при ар­гу­мен­тах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G и H).

Точки, ле­жа­щие на гра­ни­цах об­ла­стей, от­дель­но не рас­смат­ри­вать. В столб­цах усло­вий ука­жи­те "да", если усло­вие вы­пол­нит­ся, "нет", если усло­вие не вы­пол­нит­ся, "—" (про­черк), если усло­вие не будет про­ве­рять­ся, "не изв.", если про­грам­ма ведет себя по-раз­но­му для раз­ных зна­че­ний, при­над­ле­жа­щих дан­ной об­ла­сти. В столб­це "Про­грам­ма вы­ве­дет" ука­жи­те, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не вы­во­дит, на­пи­ши­те "—" (про­черк). Если для раз­ных зна­че­ний, при­над­ле­жа­щих об­ла­сти, будут вы­ве­де­ны раз­ные тек­сты, на­пи­ши­те "не изв". В по­след­нем столб­це ука­жи­те "да" или "нет".

 

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

 

Об­ластьУсло­вие 1

(x*x+y*y>=4)

Усло­вие 2

(x>= –2)

Усло­вие 3

(y<= –x)

Про­грам­ма вы­ве­детОб­ласть об­ра­ба­ты­ва­ет­ся верно
A
В
С
D
Е
F
G
Н
Спрятать решение

Ре­ше­ние.

Со­дер­жа­ние вер­но­го от­ве­та и ука­за­ния по оце­ни­ва­нию (до­пус­ка­ют­ся иные фор­му­ли­ров­ки от­ве­та, не ис­ка­жа­ю­щие его смыс­ла)

 Эле­мен­ты от­ве­та:

1)  

Об­ластьУсло­вие 1

(x*x+y*y>=4)

Усло­вие 2

(x>= –2)

Усло­вие 3

(y<= –x)

Про­грам­ма вы­ве­детОб­ласть

об­ра­ба­ты­ва­ет­ся

верно

Aданетнет
Вданетнет
Сдаданетне при­над­ле­житда
Dдададапри­над­ле­житда
Енетнет
Fнетнет
Gнетнет
Ндададапри­над­ле­житнет

 

2)  Воз­мож­ная до­ра­бот­ка (Пас­каль):

 

if (x*x+y*y>=4) and (x>= –2) and (y<= –x) and (y>=0) then

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

else

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

 

(могут быть и дру­гие спо­со­бы до­ра­бот­ки).

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

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Об­ра­ти­те вни­ма­ние! В за­да­че тре­бу­ет­ся вы­пол­нить три сле­ду­ю­щих дей­ствия.

1. Ука­зать для каж­дой об­ла­сти, как будет ра­бо­тать про­грам­ма - за­пол­нить таб­ли­цу.

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

усло­вию IF, либо объ­еди­не­ние всех усло­вий IF в одно при по­мо­щи конъ­юнк­ции.

В слож­ных слу­ча­ях это дей­ствие счи­та­ет­ся вы­пол­нен­ным, если про­грам­ма вы­да­ет одно из двух со­об­ще­ний «при­над­ле­жит» или «не при­над­ле­жит» для любых чисел x и y, при этом про­грам­ма не стала ра­бо­тать хуже, чем рань­ше, то есть для всех точек, для ко­то­рых про­грам­ма ранее вы­да­ва­ла вер­ный ответ, до­ра­бо­тан­ная про­грам­ма также долж­на вы­да­вать вер­ный ответ.

3. Ис­пра­вить ошиб­ку в про­ве­ря­е­мых усло­ви­ях: при­ве­ден­ным трем огра­ни­че­ни­ям не удо­вле­тво­ря­ют точки плос­ко­сти, у ко­то­рых x*x+y*y>=4, x>=–2, y<=−x и y<0. Ис­прав­ле­ни­ем этой ошиб­ки может быть до­бав­ле­ни­ем усло­вия y>=0.

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

В целом, кри­те­рий оцен­ки работ такой: ко­ли­че­ство бал­лов равно ко­ли­че­ству вы­пол­нен­ных дей­ствий. Де­таль­но кри­те­рии для каж­до­го слу­чая рас­смот­ре­ны ниже.

 

За­да­ние вы­пол­не­но пол­но­стью:

1) Пра­виль­но за­пол­не­на вся таб­ли­ца.

2) На­пи­са­на пра­виль­но ра­бо­та­ю­щая про­грам­ма, т.е. про­грам­ма для всех пар чисел x, y верно опре­де­ля­ет при­над­леж­ность точки за­кра­шен­ной об­ла­сти.

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

3
Пра­виль­но вы­пол­не­ны два дей­ствия из трех.

При этом:

а) Дей­ствие по за­пол­не­нию таб­ли­цы за­счи­ты­ва­ет­ся, даже если ошиб­ки есть, но не более, чем в одной стро­ке.

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

На­при­мер, вме­сто «y>=-x» один раз ис­поль­зу­ет­ся «y>-x».

в) Если уче­ник на­пи­сал про­грам­му, ко­то­рая от­ли­ча­ет­ся от пра­виль­ной про­грам­мы (с уче­том п.б) толь­ко рас­ста­нов­кой ско­бок в ло­ги­че­ских вы­ра­же­ни­ях (на­при­мер, не­пра­виль­но учте­ны

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

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

2
Пра­виль­но вы­пол­не­но толь­ко одно дей­ствие из трех.

При этом:

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

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

в) Если уче­ник на­пи­сал про­грам­му, ко­то­рая от­ли­ча­ет­ся от пра­виль­ной про­грам­мы толь­ко рас­ста­нов­кой ско­бок в ло­ги­че­ских вы­ра­же­ни­ях (на­при­мер, не­пра­виль­но учте­ны при­о­ри­те­ты

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

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

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