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

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

Бей­сикПас­каль

INPUT x

IF x>=-3 THEN

IF x<=9 THEN

IF x>1 THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x>=-3 then

if x<=9 then

if x>1 then

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

else

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

end.

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

#include <iostream>

using namespace std;

int main(void)

{

float x;

cin >> x;

if(x>=-3)

if(x<=9)

if(x>1)

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

else

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

}

алг

нач

вещ x

ввод x

если x>=-3 то

если x<=9 то

если x>1 то

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

иначе

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

все

все

все

кон

Python

x = float(input())

if x >= -3:

    if x <= 9:

        if x > 1:

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

        else:

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

 

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

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

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

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

 

Об­ластьУсло­вие 1
(x >= –3)
Усло­вие 2
(x <= 9)
Усло­вие 3
(x > 1)
Про­грам­ма вы­ве­детОб­ласть об­ра­ба­ты­ва­ет­ся верно
A
B
C
D
E
Спрятать решение

Ре­ше­ние.

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

1.

Об­ластьУсло­вие 1 (x >= –3)Усло­вие 2 (x <= 9)Усло­вие 3 (x > 1)Про­грам­ма вы­ве­детОб­ласть об­ра­ба­ты­ва­ет­ся верно
AНет---Нет
BДаДаНет При­над­ле­житДа
CДаДаДаНе при­над­ле­житДа
DДаДаДаНе при­над­ле­житНет
EДаНет--Нет

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

if (x>=-3) and (x<=1) or (x>=5) and (x<=9) then

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

else

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

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

На­при­мер:

if x>=-3 then

if x<=1 then

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

else

if x>=5 then

if x<=9 then

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

else

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

else

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

else

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

Дру­гой при­мер:

if abs(abs(x-3)-4)<=2 then

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

else

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

 

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

1.  За­пол­нить таб­ли­цу.

2.  Ис­пра­вить ошиб­ку в услов­ном опе­ра­то­ре.

3.  Ис­пра­вить ошиб­ку, свя­зан­ную с не­пра­виль­ным на­бо­ром усло­вий.

Баллы за дан­ное за­да­ние на­чис­ля­ют­ся как сумма бал­лов за вер­ное вы­пол­не­ние каж­до­го дей­ствия. Рас­смот­рим от­дель­но каж­дое дей­ствие.

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

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

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

3.  При­ведённых трёх огра­ни­че­ний не­до­ста­точ­но для опи­са­ния двух об­ла­стей (по­те­ря­но усло­вие x>=5). Кроме того, не­об­хо­ди­мо учесть, что об­ла­сти не со­еди­не­ны. Ис­прав­ле­ни­ем этой ошиб­ки может быть раз­би­е­ние об­ла­сти на две части и ис­поль­зо­ва­ние дизъ­юнк­ции, либо ис­поль­зо­ва­ние слож­ной (для вы­ве­де­ния) ма­те­ма­ти­че­ской кон­струк­ции (||x–3|–4|≤2), либо ис­поль­зо­ва­ние слож­ной ком­би­на­ции кас­кад­ных усло­вий.

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

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

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Вы­пол­не­ны все три дей­ствия3
Пра­виль­но вы­пол­не­ны два дей­ствия из трёх (ис­прав­ле­ны обе ошиб­ки, но в пунк­те 1 за­да­ния не при­ве­де­на таб­ли­ца (либо таб­ли­ца со­дер­жит ошиб­ки в двух и более стро­ках), либо при­ве­де­на таб­ли­ца (ко­то­рая со­дер­жит ошиб­ки не более чем в одной стро­ке), но ис­прав­ле­на толь­ко одна ошиб­ка про­грам­мы). При на­пи­са­нии опе­ра­ций срав­не­ния до­пус­ка­ет­ся одно не­пра­виль­ное ис­поль­зо­ва­ние стро­гих/не­стро­гих не­ра­венств (счи­та­ет­ся не­су­ще­ствен­ной ошиб­кой, по­греш­но­стью за­пи­си). На­при­мер, вме­сто «x>=5» ис­поль­зу­ет­ся «x>5»2
Пра­виль­но вы­пол­не­но толь­ко одно дей­ствие из трёх, т.е. либо толь­ко при­ве­де­на таб­ли­ца, ко­то­рая со­дер­жит ошиб­ки в не более чем одной стро­ке, либо таб­ли­ца не при­ве­де­на (или при­ве­де­на и со­дер­жит ошиб­ки более чем в одной стро­ке), но ис­прав­ле­на одна ошиб­ка про­грам­мы. При оце­ни­ва­нии этого за­да­ния на 1 балл до­пус­ка­ет­ся не учи­ты­вать кор­рект­ность ра­бо­ты про­грамм на точ­ках гра­ниц об­ла­стей (вме­сто не­стро­гих не­ра­венств в ре­ше­нии были ис­поль­зо­ва­ны стро­гие не­ра­вен­ства или на­о­бо­рот)1
Все пунк­ты за­да­ния вы­пол­не­ны не­вер­но (таб­ли­ца ана­ли­за пра­виль­но­сти ал­го­рит­ма не при­ве­де­на либо со­дер­жит ошиб­ки в двух и более стро­ках, про­грам­ма не при­ве­де­на либо ни одна из двух оши­бок не ис­прав­ле­на)0
Мак­си­маль­ный балл3
Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ—2013 по ин­фор­ма­ти­ке