Версия для копирования в MS Word
PDF-версии: горизонтальная · вертикальная · крупный шрифт · с большим полем
РЕШУ ЕГЭ — информатика
Задания
i

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

Уче­ник на­пи­сал такую про­грам­му:

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

var x, y: real; begin

readln(x,у);

if у >= 1-х then begin

if у <= 2-2*x*x then write('при­над­ле­жит')

end else

if у >= x*x-5 then

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

else

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

end.

INPUT х, у

IF у >= 1-х THEN

IF у <= 2-2*х*х THEN PRINT "при­над­ле­жит"

ELSE

IF у >= х*х-5 THEN

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

ELSE

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

END IF

END IF

END

Си++Ал­го­рит­ми­че­ский язык
#include <iostream>

using namespace std;

int main (){

float x, у;

cin >> x >> y;

if (y >= 1-х) {

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

}

else

if (y >= x*x-5)

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

else

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

}

алг

нач

вещ х, у

ввод х, у

если у >= 1-х то

если у <= 2-2*х*х то

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

все

иначе

если у >= х*х-5 то

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

иначе

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

все

все

кон

Python

x = float(input())

y = float(input())

if у >= 1-х:

    if у <= 2-2*x*x:

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

else:

    if у >= x*x-5:

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

    else:

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

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

 

Об­ластьУсло­вие 1 (у >= 1-x)Усло­вие 2 (y <= 2−2*x*x)Усло­вие 3 (y >= x*x−5)ВыводВерно
при­над­ле­житнет
не при­над­ле­житда
да

 

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

 

Об­ласть - часть плос­ко­сти, ко­то­рой при­над­ле­жит про­ве­ря­е­мая точка. (Все воз­мож­ные об­ла­сти от­ме­че­ны на ри­сун­ке бук­ва­ми А, В, С, ... S.)

 

Усло­вие 1, Усло­вие2, Усло­вие 3  — ре­зуль­тат про­вер­ки со­от­вет­ству­ю­ще­го усло­вия (да или нет). Если усло­вие не про­ве­ря­лось, в про­то­кол за­пи­сы­вал­ся про­черк.

 

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

 

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

 

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

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

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