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

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

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

INPUT x

IF x<=17 THEN

IF x<=5 THEN

IF x>=-1 THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x<=17 then

if x<=5 then

if x>=-1 then

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

else

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

end.

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

int main(void)

{

float x;

cin >> x;

if(x<=17)

if(x<=5)

if(x>=-1)

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

else

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

}

алг

нач

вещ x

ввод x

если x<=17 то

если x<=5 то

если x>=-1 то

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

иначе

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

все

все

все

кон

Python

x = float(input())

if x <= 17:

    if x <= 5:

        if x >= -1:

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

        else:

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

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

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

 

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

(x<=17)

Усло­вие 2

(x<=5)

Усло­вие 3

(x>= –1)

Про­грам­ма

вы­ве­дет

Об­ласть

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

верно

A
B
C
D
E

 

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

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

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

Ре­ше­ние.

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

(x<=17)

Усло­вие 2

(x<=5)

Усло­вие 3

(x>= –1)

Про­грам­ма

вы­ве­дет

Об­ласть

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

верно

AДаДаНетНе при­над­ле­житДа
BДаДаДаПри­над­ле­житДа
CДаНетНет
DДаНетНет
EНетНет

 

2)  За­ме­ним услов­ный пе­ре­ход на такой:

if (x >= -1) and (x <= 5) or (x >= 11) and (x <= 17) then

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

else

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

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

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Пра­виль­но вы­пол­не­ны оба пунк­та за­да­ния. Ис­прав­ле­ны две ошиб­ки, при этом ни­ка­кие дру­гие стро­ки про­грам­мы не от­ме­че­ны как не­вер­ные. Про­грам­ма после ис­прав­ле­ний для всех на­ту­раль­ных чисел N, не пре­вос­хо­дя­щих 109, верно по­лу­ча­ет и вы­во­дит пре­об­ра­зо­ван­ное число.

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

3
1. Пра­виль­но вы­пол­не­ны два дей­ствия из трёх (ис­прав­ле­ны обе ошиб­ки, но в пер­вом пунк­те за­да­ния не при­ведён ответ или вы­пол­нен пункт 1 и верно ис­прав­ле­на толь­ко одна ошиб­ка). Вер­ное ука­за­ние на ошиб­ку при её не­вер­ном ис­прав­ле­нии при этом не за­счи­ты­ва­ет­ся.

2. Или вы­пол­нен пункт 1, а вме­сто ука­за­ния на ошиб­ки в про­грам­ме и их ис­прав­ле­ния при­ведён новый вер­ный текст ре­ше­ния, воз­мож­но, со­вер­шен­но не по­хо­жий на ис­ход­ный.

2
Пра­виль­но вы­пол­не­но толь­ко одно дей­ствие из трёх, то есть либо толь­ко вы­пол­нен пункт 1, либо он не вы­пол­нен или вы­пол­нен не­вер­но и верно ис­прав­ле­на толь­ко одна ошиб­ка про­грам­мы путём её яв­но­го ука­за­ния и ис­прав­ле­ния или в новом тек­сте про­грам­мы.1
Все пунк­ты за­да­ния вы­пол­не­ны не­вер­но (ответ на пункт 1 не при­ведён или при­ведён не­вер­но, ошиб­ки не най­де­ны или най­де­ны, но не ис­прав­ле­ны, или ис­прав­ле­ны не­вер­но).0
Мак­си­маль­ный балл3
Источник: ЕГЭ по ин­фор­ма­ти­ке 05.05.2014. До­сроч­ная волна. Ва­ри­ант 1
Борис Ершов 17.04.2017 20:04

В про­грам­ме на пас­ка­ле пас­саж

 

if (x >= -1) and (x <= 5) or (x >= 11) and (x <= 17)

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

else

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

 

ко­то­рый при­ведён в ре­ше­нии не про­хо­дит. Пас­каль тре­бу­ет слово Then!