СДАМ ГИА






Каталог заданий. Координатная плоскость. Окружность
Пройти тестирование по этим заданиям
Вернуться к каталогу заданий
Версия для печати и копирования в MS Word
1
Задание 24 № 2801

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

 

ПаскальБейсикСи
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

void main()

{

float x,y;

scanf("%f %f",&x,&y);

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

if (x>= –2)

if (y<= –x)

printf("принадлежит");

else

printf("не принадлежит");

}

 

 

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

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
Н
Пояснение · ·

2
Задание 24 № 3597

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

 

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

var х,у: real;

begin

readln(x,y);

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

if у >= −2 then

if у <= x then

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

else

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

end.

INPUT x, у

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

IF у >= −2 THEN

IF у <= x THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

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

{ float x, у;

scanf("%f%f", &x, &y) ;

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

if (у >= −2)

if (у <= x)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ х, у

ввод х, у

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

если у >= −2 то

если у <= x то

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

иначе

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

все

все

все

кон

 

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

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

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

 

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

 

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

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

Условие 2

(у >= −2)

Условие 3

(у <= x)

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

3
Задание 24 № 3629

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

 

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

readln(x,y);

if y<=x+2 then

if x<=0 then

if x*x+y*y<=25 then

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

else

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

end.

INPUT x, y

IF y<=x+2 THEN

IF x<=0 THEN

IF x*x+y*y<=25 THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

СиАлгоритмический язык
#include <stdio.h>

void main(){

float x,y;

scanf("%f %f",&x,&y);

if (y<=x+2)

if (x<=0)

if (x*x+y*y<=25)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x,y

ввод x,y

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

если x<=0 то

если x*x+y*y<=25 то

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

иначе

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

все

все

все

кон

 

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

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

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

 

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

 

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

верно

A
В
С
D
Е
F
G
Н
K
Пояснение · ·

4
Задание 24 № 3635

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

 

 

ПаскальБейсикСи
var х,у: real;

begin

readln(х,у);

if у<=0 then

if у>= −1 then

if y<=cos (x) then

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

else

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

end.

INPUT x, у

IF y<=0 THEN

IF y>= −l THEN

IF y<=cos(x) THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

void ma in(void)

{ float x, y;

scanf ("%f%f",&x,&y);

if (y<= 0)

if (У>= -1)

if (y<= cos(x))

printf ( "принадлежит") ;

else

printf( "не принадлежит");

}

 

 

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

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

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

 

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

 

ОбластьУсловие 1 (у<=0)Условие 2 (у>= −1)Условие 3 (y<=cos (x))Программа выведетОбласть об­ра­ба­ты­ва­ет­ся верно
A
В
С
D
Е
Пояснение · ·

5
Задание 24 № 3643

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

 

ПаскальБейсикСи
var х,у: real;

begin

readln(х,у);

if у<=х*х then

if х<=1.5 then

if y>=0 then

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

else

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

end.

INPUT x, у

IF y<=x*x THEN

IF x<=1.5 THEN

IF y>=0 THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

void main(void)

{ float x,у;

scanf ( "%f %f",&x,&y);

if (y<=x*x)

if (x<=l.5)

if (y>=0)

printf("принадлежит");

else

printf("не принадлежит");

}

 

 

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

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

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

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

 

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

(у<=x*x)

Условие 2

(x<=1.5)

Условие 3

(y>=0)

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

верно

A
В
С
D
Е
F

6
Задание 24 № 3787

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

 

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

INPUT х, у

IF x*x + у*у <= 49 THEN

IF x*x + у*у >= 16 THEN

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

ELSE

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

ENDIF

END IF

END

var x, у: real;

begin

readln(x,y);

if x*x + y*y <= 49 then

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

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

else

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

end.

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

#include <stdio.h>

void main (void) {

float x,y;

scanf <"% f % f", &x, &y) ;

if (x*x + y*y <= 49)

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

printf ("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ х,у

ввод х,у

если х*х + у*у <= 49 то

если х*х + у* у >= 16 то

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

иначе

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

все

все

кон

 

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

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

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

 

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

(х*х+у*у <= 49)

Условие 2

(х*х+у*у >= 16)

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

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

A
В
С
D

7
Задание 24 № 3788

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

 

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

INPUT х, у

IF х*х + у*у >=1 THEN

IF x*x + у*у >= 49 THEN

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

ELSE

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

ENDIF

END IF

END

var x, у: real;

begin

readln(x,y);

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

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

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

else

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

end.

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

#include <stdio.h>

void main (void) {

float x,y;

scanf <"% f % f", &x, &y) ;

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

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

printf ("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ х,у

ввод х,у

если х*х + у*у >= 1 то

если х*х + у* у >= 49 то

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

иначе

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

все

все

кон

 

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

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

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

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

 

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

(х*х+у*у >= 1)

Условие 2

(х*х+у*у >= 49)

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

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

A
В
С
D

8
Задание 24 № 4533

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

 

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

begin

readln(x,y);

if y>=x-2 then

if x<=0 then

if x*x+y*y<=25 then

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

else

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

end.

INPUT x, y

IF y>=x-2 THEN

IF x<=0 THEN

IF x*x+y*y<=25 THEN

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

ELSE

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

END IF

END IF

END IF

END

Си
#include <stdio.h>

void main() {

float x,y;

scanf("%f %f",&x,&y);

if (y>=x-2)

if (x<=0)

if (x*x+y*y<=25)

printf("принадлежит");

else

printf("не принадлежит");

 

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

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

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

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

 

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

(y>=x–2)

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

верно

A
В
С
D
Е
F
G
Н
K

9
Задание 24 № 4535

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

 

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

var x,y: real;

begin

readln(x,y);

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

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

float x,y;

scanf("% f % f",&x,&y);

if (y<=2-x)

if (y>=0)

if (y<=x*x)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x,y

ввод x,y

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

если y>=0 то

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

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

иначе

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

все

все

все

кон

 

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

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
Н

10
Задание 24 № 5067

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

 

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

begin

readln(x,у);

if у => x*x − 6 then begin

if x*x + y*y <= 16 then write('принадлежит')

end

else

if x >= 0 then

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

else

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

end.

INPUT х, у

IF у >= х*х − 6 THEN

IF х*х + у*у <= 16 THEN PRINT "принадлежит"

ELSE

IF х => О THEN

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

ELSE

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

END IF

END IF

END

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

#include <stdio.h>

void main(){

float x, y;

scanf ("%f %f",&x, &y);

if (y >= x*x − 6) {

if (x*x +y*y <= 16) printf ("принадлежит");

}

else

if (x >= 0)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ х, у

ввод х, у

если у >= х*х − 6 то

если х*х + у*у <= 16 то

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

все

иначе

если х >= 0 то

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

иначе

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

все

все

кон

 

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

 

ОбластьУсловие 1 (y >= x*x – 6)Условие 2 (x*x + y*y<= 16)Условие 3 (x >= 0)ВыводВерно
да
принадлежитнет
не принадлежитда
да

 

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

 

Область - часть плоскости, ко­то­рой при­над­ле­жит про­ве­ря­е­мая точка. (Все

возможные об­ла­сти от­ме­че­ны на ри­сун­ке бук­ва­ми А, В, С, ... S.)

 

Условие 1, Условие2, Усло­вие 3 — ре­зуль­тат про­вер­ки соответствующего

условия (да или нет). Если усло­вие не проверялось, в про­то­кол записывался

прочерк.

 

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

 

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

 

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

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

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

Источник: МИОО: Тре­ни­ро­воч­ная ра­бо­та по ин­фор­ма­ти­ке 22.03.2013 ва­ри­ант ИНФ1401.

11
Задание 24 № 5223

 

Требовалось на­пи­сать программу, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ют­ся ко­ор­ди­на­ты точки на плос­ко­сти (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 <stdio.h>

void main (){

float x, у;

scanf("%£ %f&x, &y); if (y >= 1-х) {

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

}

else

if (y >= x*x-5)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ х, у

ввод х, у

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

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

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

все

иначе

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

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

иначе

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

все

все

кон

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

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

Источник: МИОО:Диагностическая ра­бо­та по ин­фор­ма­ти­ке 18.04.2013 ва­ри­ант ИНФ1502.

12
Задание 24 № 6276

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

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

INPUT x, y

IF y<=1 THEN

IF y>=x THEN

IF x>=-1 THEN

IF x*x+y*y<=1 THEN

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

ELSE

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

END IF

END IF

END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if y<=1 then

if y>=x then

if x>=-1 then

if x*x+y*y<=1 then

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

else

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

end.

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

#include<stdio.h>

void main()

{

float x,y;

scanf("%f%f",&x,&y);

if (y<=1)

if (y>=x)

if (x>=-1)

if (x*x+y*y<=1)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x,y

ввод x,y

если y<=1 то

если y>=x то

если x>=-1 то

если x*x+y*y<=1 то

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

иначе

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

все

все

все

все

кон

 

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

 

1. Пе­ре­ри­суй­те и за­пол­ни­те таблицу, ко­то­рая показывает, как ра­бо­та­ет про­грам­ма при аргументах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G, H, I, J, K). Точки, ле­жа­щие на гра­ни­цах областей, от­дель­но не рассматривать. Ко­ор­ди­нат­ные оси не яв­ля­ют­ся гра­ни­ца­ми областей. В столб­цах усло­вий ука­жи­те «да», если усло­вие выполнится, «нет», если усло­вие не выполнится, «—» (прочерк), если усло­вие не будет проверяться, «не изв.», если про­грам­ма ведёт себя по-разному для раз­ных значений, при­над­ле­жа­щих дан­ной области. В столб­це «Программа выведет» укажите, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не выводит, на­пи­ши­те «—» (прочерк). Если для раз­ных значений, при­над­ле­жа­щих области, будут вы­ве­де­ны раз­ные тексты, на­пи­ши­те «не изв.». В по­след­нем столб­це ука­жи­те «да» или «нет».

 

ОбластьУсловие1 (y<=1)Условие 2 (y>=x)Условие 3

(x>=−1)

Условие 4 (x*x+y*y<=1)Программа

выведет

Область

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

верно

A
В
С
D
Е
F
G
Н
I
J
K

 

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

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 501.

13
Задание 24 № 6348

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

 

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

INPUT x, y

IF x>=-1 THEN

IF y>=-1 THEN

IF y<=1 THEN

IF x*x+y*y<=1 THEN

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

ELSE

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

END IF

END IF

END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if x>=-1 then

if y>=-1 then

if y<=1 then

if x*x+y*y<=1 then

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

else

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

end

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

#include<stdio.h>

void main()

{

float x,y;

scanf("%f%f",&x,&y);

if (x>=-1)

if (y>=-1)

if (y<=1)

if (x*x+y*y<=1)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x,y

ввод x,y

если x>=-1 то

если y>=-1 то

если y<=1 то

если x*x+y*y<=1 то

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

иначе

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

все

все

все

все

кон

 

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

 

1. Пе­ре­ри­суй­те и за­пол­ни­те таблицу, ко­то­рая показывает, как ра­бо­та­ет про­грам­ма при аргументах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G, H, I). Точки, ле­жа­щие на гра­ни­цах областей, от­дель­но не рассматривать. Ко­ор­ди­нат­ные оси не яв­ля­ют­ся гра­ни­ца­ми областей. В столб­цах усло­вий ука­жи­те «да», если усло­вие выполнится, «нет», если усло­вие не выполнится, «—» (прочерк), если усло­вие не будет проверяться, «не изв.», если про­грам­ма ведёт себя по-разному для раз­ных значений, при­над­ле­жа­щих дан­ной области. В столб­це «Программа выведет» укажите, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не выводит, на­пи­ши­те «—» (прочерк). Если для раз­ных значений, при­над­ле­жа­щих области, будут вы­ве­де­ны раз­ные тексты, на­пи­ши­те «не изв.». В по­след­нем столб­це ука­жи­те «да» или «нет».

 

ОбластьУсловие1 (x>=–1)Условие 2 (y>=–1)Условие 3

(y<=1)

Условие 4 (x*x+y*y<=1)Программа

выведет

Область

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

A
В
С
D
Е
F
G
Н
I

 

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

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 601.

14
Задание 24 № 6433

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

 

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

INPUT x, y

IF y>=-1 THEN

IF y<=x THEN

IF y<=0 THEN

IF x*x+y*y<=1 THEN

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

ELSE

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

END IF

END IF

END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if y>=-1 then

if y<=x then

if y<=0 then

if x*x+y*y<=1 then

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

else

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

end.

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

#include<stdio.h>

void main()

{

float x,y;

scanf("%f%f",&x,&y);

if (y>=-1)

if (y<=x)

if (y<=0)

if (x*x+y*y<=1)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x,y

ввод x,y

если y>=-1 то

если y<=x то

если y<=0 то

если x*x+y*y<=1 то

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

иначе

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

все

все

все

все

кон

 

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

 

1. Пе­ре­ри­суй­те и за­пол­ни­те таблицу, ко­то­рая показывает, как ра­бо­та­ет про­грам­ма при аргументах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G, H, I, J, K). Точки, ле­жа­щие на гра­ни­цах областей, от­дель­но не рассматривать. Ко­ор­ди­нат­ные оси не яв­ля­ют­ся гра­ни­ца­ми областей. В столб­цах усло­вий ука­жи­те «да», если усло­вие выполнится, «нет», если усло­вие не выполнится, «—» (прочерк), если усло­вие не будет проверяться, «не изв.», если про­грам­ма ведёт себя по-разному для раз­ных значений, при­над­ле­жа­щих дан­ной области. В столб­це «Программа выведет» укажите, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не выводит, на­пи­ши­те «—» (прочерк). Если для раз­ных значений, при­над­ле­жа­щих области, будут вы­ве­де­ны раз­ные тексты, на­пи­ши­те «не изв.». В по­след­нем столб­це ука­жи­те «да» или «нет».

 

 

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

(y>=–1)

Условие 2

(y<=x)

Условие 3

(y<=0)

Условие 4

(x*x+y*y<=1)

Программа

выведет

Область

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

верно

A
В
С
D
Е
F
G
Н
I
J
K

 

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

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 602.

15
Задание 24 № 6469

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

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

INPUT x, y

IF y<=1-x THEN

 IF y>=0 THEN

  IF x>=0 THEN

   IF x*x+y*y<=1 THEN

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

   ELSE

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

   END IF

  END IF

 END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if y<=1-x then

if y>=0 then

if x>=0 then

if x*x+y*y<=1 then

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

else

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

end.

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

#include<stdio.h>

void main()

{

float x,y;

scanf("%f%f",&x,&y);

if (y<=1-x)

if (y>=0)

if (x>=0)

if (x*x+y*y<=1)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x,y

ввод x,y

если y<=1-x то

если y>=0 то

если x>=0 то

если x*x+y*y<=1 то

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

иначе

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

все

все

все

все

кон

 

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

 

1. Пе­ре­ри­суй­те и за­пол­ни­те таблицу, ко­то­рая показывает, как ра­бо­та­ет про­грам­ма при аргументах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G, H, I, J, K). Точки, ле­жа­щие на гра­ни­цах областей, от­дель­но не рассматривать. Ко­ор­ди­нат­ные оси не яв­ля­ют­ся гра­ни­ца­ми областей. В столб­цах усло­вий ука­жи­те «да», если усло­вие выполнится, «нет», если усло­вие не выполнится, «—» (прочерк), если усло­вие не будет проверяться, «не изв.», если про­грам­ма ведёт себя по-разному для раз­ных значений, при­над­ле­жа­щих дан­ной области. В столб­це «Программа выведет» укажите, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не выводит, на­пи­ши­те «—» (прочерк). Если для раз­ных значений, при­над­ле­жа­щих области, будут вы­ве­де­ны раз­ные тексты, на­пи­ши­те «не изв.». В по­след­нем столб­це ука­жи­те «да» или «нет».

 

ОбластьУсловие1 (y<=1–x)Условие 2 (y>=0)Условие 3

(x>=0)

Условие 4 (x*x+y*y<=1)Программа

выведет

Область

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

верно

A
В
С
D
Е
F
G
Н
I
J
K

 

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

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 603.

16
Задание 24 № 6511

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

 

Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му неправильно. Ниже для ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на четырёх язы­ках программирования.

 

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

INPUT x, y

IF y>=-1 THEN

IF y<=1 THEN

IF (x+1)*(x+1)+y*y<=1 THEN

IF (x-1)*(x-1)+y*y<=1 THEN

PRINT "

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

ELSE

PRINT "

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

END IF

END IF

END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if y>=-1 then

if y<=1 then

if (x+1)*(x+1)+y*y<=1 then

if (x-1)*(x-1)+y*y<=1 then

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

else

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

end.

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

#include<stdio.h>

void main()

{

float x,y;

scanf("%f%f",&x,&y);

if (y>=-1)

if (y<=1)

if ((x+1)*(x+1)+y*y<=1)

if ((x-1)*(x-1)+y*y<=1)

printf("принадлежит");

else

printf("не принадлежит");

}

алг

нач

вещ x,y

ввод x,y

если y>=-1 то

если y<=1 то

если (x+1)*(x+1)+y*y<=1 то

если (x-1)*(x-1)+y*y<=1 то

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

иначе

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

все

все

все

все

кон

 

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

 

1. Пе­ре­ри­суй­те и за­пол­ни­те таблицу, ко­то­рая показывает, как ра­бо­та­ет про­грам­ма при аргументах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G). Точки, ле­жа­щие на гра­ни­цах областей, от­дель­но не рассматривать. Ко­ор­ди­нат­ные оси не яв­ля­ют­ся гра­ни­ца­ми областей. В столб­цах усло­вий ука­жи­те «да», если усло­вие выполнится, «нет», если усло­вие не выполнится, «—» (прочерк), если усло­вие не будет проверяться, «не изв.», если про­грам­ма ведёт себя по-разному для раз­ных значений, при­над­ле­жа­щих дан­ной области. В столб­це «Программа выведет» укажите, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не выводит, на­пи­ши­те «—» (прочерк). Если для раз­ных значений, при­над­ле­жа­щих области, будут вы­ве­де­ны раз­ные тексты, на­пи­ши­те «не изв.». В по­след­нем столб­це ука­жи­те «да» или «нет».

 

ОбластьУсловие1 (y>=–1)Условие 2 (y<=1)Условие 3

((x+1)2+y2<=1)

Условие 4

((x–1)2+y2<=1)

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

верно

A
В
С
D
Е
F
G

 

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

Источник: ЕГЭ по информатике 08.07.2013. Вторая волна. Ва­ри­ант 801.

Пройти тестирование по этим заданиям



     О проекте · Редакция

© Гущин Д. Д., 2011—2017


СПб ГУТ! С! Ф! У!