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

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

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

begin

if y<=2+x then

if y>=0 then

if y>=x*x then

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

else

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

end.

INPUT x, y

IF y<=2+x THEN

IF y>=0 THEN

IF y>=x*x THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

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

float x, y;

cin >> x >> y;

if (y<=2+x)

if (y>=0)

if (y>=x*x)

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

else

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

}

нач

вещ x,y

ввод x,y

если y<=2+x то

если y>=0 то

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

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

иначе

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

все

все

все

кон

Python

x = float(input())

y = float(input())

if y<=2+x:

    if y>=0:

        if y>=x*x:

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

        else:

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

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

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

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

 

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

 

Об­ластьУсло­вие 1 (y<=2+x)Усло­вие 2 (y>=0)Усло­вие 3 (y>=x*x)Про­грам­ма вы­ве­детОб­ласть об­ра­ба­ты­ва­ет­ся

верно

A
В
С
D
Е
F
G
Н
Спрятать решение

Ре­ше­ние.

Об­ластьУсло­вие 1 (y<=2+x)Усло­вие 2 (y>=0)Усло­вие 3 (y>=x*x)Про­грам­ма вы­ве­детОб­ласть об­ра­ба­ты­ва­ет­ся

верно

Aнетнет
Bнетнет
Cдаданетне при­над­ле­житнет
Dдададапри­над­ле­житда
Eнетнет
Fдаданетне при­над­ле­житда
Gданетнет
Hданетнет

 

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

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

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

else

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

 

Воз­мож­ны и дру­гие спо­со­бы до­ра­бот­ки. При­мер:

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

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

else

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

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

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

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

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

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

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

3. Ис­пра­вить ошиб­ку в про­ве­ря­е­мых усло­ви­ях.

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

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

 

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы

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

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

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

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

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

При этом:

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

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

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

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

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

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

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

При этом:

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

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

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

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

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

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