СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Контрольная работа "Циклы. Ветвление", 10 класс

Категория: Информатика

Нажмите, чтобы узнать подробности

Контрольная работа "Циклы. Ветвление", 10 класс

10 вариантов по уровням А, В и С №№1-6, С1 с сайта "Решу ЕГЭ" информатика Гущин

ответы на тестовые задания 1-5, часть С

Просмотр содержимого документа
«Контрольная работа "Циклы. Ветвление", 10 класс»

10 класс_2 часа

Контрольная работа № 1 «Ветвление и циклы»

Вариант 1

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=4 и b=0 в следующем формате:

4+0=?

В ответе не используйте пробелы.


2. Чему будет равна переменная «c» после выполнения этой программы:

a := 18;
b := 4;
b := a div b + b;
c := a mod b + a;


3. Определите значение переменной «a» после выполнения фрагмента программы:

a := 12; b := 5;
if (a 10) and (b a := a - 5;



Уровень B. (отметка «4»)

4. Запишите значение переменной s, полученное в результате работы следующей программы.

Var s,k: integer;
Begin
s := 0;
for k := 6 to 12 do
s := s+10;
writeln(s);
End.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;
begin
n := 3;
s := 0;
while n s := s + n;
n := n + 1
end;
write(s)
end.


Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Найти сумму чисел, которые делятся на 3 в промежутке [а, 100]. Число а вводится с клавиатуры.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).






Контрольная работа № 1 «Ветвление и циклы»

Вариант 2

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=5 и b=3 в следующем формате:

Z(5)=3

В ответе не используйте пробелы.

2. Чему будет равна переменная «c» после выполнения этой программы:

a := 22;
b := 6;
c := a mod b + b;

3. Определите значение переменной «a» после выполнения фрагмента программы:

a := 1; b := 5;
if (a 1) and (a a := a - 5;


Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

Var s,k: integer;
Begin
s := 0;
for k := 4 to 8 do
s := s+7;
writeln(s);
End.


5.Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;
begin
n := 4;
s := 0;
while n s := s + n;
n := n + 1
end;
write(s)
end.


Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Найти сумму всех трехзначных чисел, кратных 5.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).









Контрольная работа № 1 «Ветвление и циклы»

Вариант 3

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=6 и b=3 в следующем формате:

a=6;b=3;

В ответе не используйте пробелы.


2. Чему будет равна переменная «c» после выполнения этой программы:

a := 25;
b := 6;
c := a div b + a;


3. Определите значение переменной «a» после выполнения фрагмента программы:

a := 10; b := 5;
if (a 1) and (a = b) then
a := a - 5;



Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

Var k,i: integer;
Begin
k := 4;
For i := 1 to 3 do
k := 2*k + i;
Writeln(k);
End.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var k, s: integer;
begin
s:=0;
k:=0;
while s s:=s+1;
k:=k+1;
end;
write(k);
end.


Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Найти произведение нечетных чисел в промежутке [-90,а]. Число а вводится с клавиатуры.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).








Контрольная работа № 1 «Ветвление и циклы»

Вариант 4

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=5 и b=3 в следующем формате:

3+5=

В ответе не используйте пробелы.

2. Чему будет равна переменная «c» после выполнения этой программы:

a := 26;
b := 8;
b := a div b;
c := a div b;

3. Какую логическую операцию нужно добавить в программу вместо многоточия, чтобы значение переменной «a» после выполнения фрагмента программы стало равно 3?

a := 10; b := 5;
if (a 1) ... (a a := a - 7
else
a := a + 7;



Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

Var s,k: integer;
Begin
s:=0;
for k:=1 to 11 do
s:=s+12;
write(s);
End.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var k, s: integer;
begin
s:=0;
k:=0;
while k s:=s+2*k;
k:=k+3;
end;
write(s);
end.


Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Дано натуральное число n. Найти сумму S = 1 + 4 + 9 + …+ n2.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).





Контрольная работа № 1 «Ветвление и циклы»

Вариант 5

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=5 и b=3 в следующем формате:

Z=F(3)

В ответе не используйте пробелы.

2. Чему будет равна переменная «c» после выполнения этой программы:

a := 24;
b := 5;
c := a mod b + 1;

3. Какую логическую операцию нужно добавить в программу вместо многоточия, чтобы значение переменной «a» после выполнения фрагмента программы стало равно 2?

a := 10; b := 5;
if (a b) then
a := a - 8
else
a := a + 8;



Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

var s, k:integer;
begin
s := 0;
for k := 2 to 12 do
s := s + 11;
writeln (s);
end.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;
begin
n := 0;
s := 0;
while s s := s + 2;
n := n + 1
end;
write(n)
end.


Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

В семизначном числе найти и вывести на экран сумму всех цифр, стоящих на четных местах.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).






Контрольная работа № 1 «Ветвление и циклы»

Вариант 6

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=2 и b=3 в следующем формате:

a=3,b=2;

В ответе не используйте пробелы.


2. Чему будет равна переменная «c» после выполнения этой программы:

a := 22;
b := 4;
c := a mod (b + 1);

3. Какую логическую операцию нужно добавить в программу вместо многоточия, чтобы значение переменной «a» после выполнения фрагмента программы стало равно 5?

a := 10; b := 5;
if (a b) then
a := a - 5
else
a := a + 5;



Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

Var u,i: integer;
Begin
u := 26;
For i := 1 to 5 do
u := u – i;
Writeln(u);
End.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var k, s: integer;
begin
s:=0;
k:=0;
while s s:=s+2;
k:=k+4;
end;
write(s);
end.

Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Найти произведение чисел, оканчивающихся на 5, в промежутке от 1 до 100.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).






Контрольная работа № 1 «Ветвление и циклы»

Вариант 7

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=5 и b=30 в следующем формате:

5-30 равно

В ответе не используйте пробелы.


2. Чему будет равна переменная «c» после выполнения этой программы:

a := 26;
b := 6;
c := a div (b + 1);

3. Определите значение переменной «a» после выполнения фрагмента программы:

a := 2; b := 5;
if not (a




Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

var s, k:integer;
begin
s := 0 ;
for k:= 4 to 11 do
s := s + k ;
writeln (s);
end.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:
var k, s: integer;

begin
s:=1;
k:=0;
while k s:=s+2;
k:=k+1;
end;
write(s);
end.



Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

В семизначном числе найти и вывести на экран все цифры, меньше 5.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).








Контрольная работа № 1 «Ветвление и циклы»

Вариант 8

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=5 и b=3 в следующем формате:

Z(5)=F

В ответе не используйте пробелы.


2. Чему будет равна переменная «c» после выполнения этой программы:

a := 22;
b := 4;
c := a mod b + a;

3. Определите значение переменной «a» после выполнения фрагмента программы:

a := 3; b := 2;
if (a 5) or (a a := a - 5;



Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

var s, n: integer;
begin
s := 1;
for n := 3 to 8 do
s := s * 2;
write(s);
end.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;
begin
n := 1;
s := 0;
while n s := s + 7;
n := n + 1
end;
write(s)
end.


Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Составить программу, которая печатает таблицу умножения на число х.

Число х вводится с клавиатуры.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).







Контрольная работа № 1 «Ветвление и циклы»

Вариант 9

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=5 и b=3 в следующем формате:

a-5 и b-3;

В ответе не используйте пробелы.


2. Чему будет равна переменная «c» после выполнения этой программы:

a := 22;

b := 10;
c := a mod b - b;


3. Определите значение переменной «a» после выполнения фрагмента программы:

a := 10; b := 5;
if (a 1) and (a a := a - 5;



Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

Var у,і: integer;
Begin
У := 0;
For і := 1 to 3 do
у := у + 4*і;
Writeln(у);
End.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;
begin
n := 2;
s := 35;
while n s := s + 20;
n := n + 2
end;
write(s)
end.


Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Дано натуральное число n. Проверить, есть ли в записи числа три одинаковые цифры.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).






Контрольная работа № 1 «Ветвление и циклы»

Вариант 10

Уровень А. (отметка «3»)

1. Запишите оператор для вывода значений целых переменных a=5 и b=3 в следующем формате:

5*3=15.

В ответе не используйте пробелы.


2. Чему будет равна переменная «c» после выполнения этой программы:

a := 6;
b := 31;
c := b div a - a;

3. Определите значение переменной «a» после выполнения фрагмента программы:

a := 10; b := 5;
if (a 1) or (a = b) then
a := a - 5;



Уровень B. (отметка «4»)

4. Определите, что будет напечатано в результате работы следующей программы.

Var s,і:integer;
Begin
s := 3;
For і := 2 to 5 do
s := s + 2* і;
Writeln (s) ;
End.


5. Определите, что будет напечатано в результате работы следующего фрагмента программы:

var n, s: integer;
begin
n := 0;
s := 0;
while s n := n + 1;
s := s + 2
end;
write(n)
end.



Уровень C. (отметка «5»)

1. Выполнить уровни А и В полностью и написать программу на ПК:

Найти сумму нечетных чисел в промежутке [2, а]. Число а вводится с клавиатуры.


2. Только одно задание C1 ЕГЭ 2017 (спросить у учителя).







Уровень С

Вариант 1



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

 

Си

Пас­каль

void main(void)

{

float x;

scanf("%f",&x);

if(x

if(x

if(x=-1)

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

else

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

}

var x: real;

begin

readln(x);

if x

if x

if x=-1 then

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

else

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

end.

 

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

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

 

Об­ласть

Усло­вие 1

(x

Усло­вие 2

(x

Усло­вие 3

(x= –1)

Про­грам­ма

вы­ве­дет

Об­ласть

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

верно

A






B






C






D






E






 

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

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












Уровень С

Вариант 2


2. Дано целое по­ло­жи­тель­ное число N, не пре­вос­хо­дя­щее 1000. Не­об­хо­ди­мо опре­де­лить, яв­ля­ет­ся ли это число сте­пе­нью числа 4. То есть тре­бу­ет­ся опре­де­лить, су­ще­ству­ет ли такое целое число К, что 4K = N, и вы­ве­сти это число либо со­об­ще­ние, что та­ко­го числа не су­ще­ству­ет. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма ока­за­лась не­вер­ной.

 

var n, k: integer;

begin read(n);

k := 0;

while n mod 4 = 0 do begin

k := k + n div 4;

n := n div 4; end;

if n

else writeln('He су­ще­ству­ет')

end.

 

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

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 16.

2. При­ве­ди­те при­мер числа, при вводе ко­то­ро­го при­ведённая про­грам­ма на­пе­ча­та­ет то, что тре­бу­ет­ся.

3. Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.






Уровень С

Вариант 3


3. Дано целое по­ло­жи­тель­ное число N. Не­об­хо­ди­мо опре­де­лить наи­мень­шее целое число K, для ко­то­ро­го вы­пол­ня­ет­ся не­ра­вен­ство:

 

1 + 2 + … + K  N.

 

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

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

 

Пас­каль

Си

var n, k: integer;

begin

  read(n);

  k := 1;

  while n0 do begin

    n := n- k;

    k := k + 1;

  end;

  writeln(k)

end.

#include

int main(){

int n, k;

scanf("%d",&n);

k = 1;

while (n0) {

n = n - k;

k = k + 1;

}

printf("%d", k);

return 0;

}

 

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

1. При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет не­вер­ный ответ. Ука­жи­те вер­ный ответ и ответ, ко­то­рый вы­ве­дет про­грам­ма.

2. При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3. Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

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

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.





Уровень С

Вариант 4


4. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся на­ту­раль­ное число N, не пре­вос­хо­дя­щее 109, и вы­во­дит­ся сумма цифр этого числа. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. (Ниже для Ва­ше­го удоб­ства про­грам­ма пред­став­ле­на на четырёх язы­ках про­грам­ми­ро­ва­ния.)

 

Си

Пас­каль

#include

int main()

{

    long int N;

    int digit, sum;

    scanf("%ld", &N);

    sum = 0;

    while (N = 9)

    {

        digit = N % 10;

        sum = sum + digit;

        N = N / 10;

    }

    printf("%d", sum);

}

 

var N: longint;

    digit, sum: integer;

begin

    readln(N);

    sum := 0;

    while N = 9 do

    begin

        digit := N mod 10;

        sum := sum + digit;

        N := N div 10;

    end;

    writeln(sum);

end.

 

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

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 352.

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

3. Ука­жи­те одно число для ко­то­ро­го эта про­грам­ма будет ра­бо­тать верно.




































Уровень С

Вариант 5


5. На об­ра­бот­ку по­сту­па­ет на­ту­раль­ное число, не пре­вы­ша­ю­щее 109. Нужно на­пи­сать про­грам­му, ко­то­рая вы­во­дит на экран сумму цифр числа, крат­ных трём. Если в числе нет таких цифр, тре­бу­ет­ся на экран вы­ве­сти «NO». Про­грам­мист на­пи­сал про­грам­му не­пра­виль­но. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

 

Пас­каль

Си

var N, digit, sum: longint;

begin

    readln(N);

    sum := N mod 10;

    while N 0 do

    begin

        digit := N mod 10;

        if digit mod 3 = 0 then

            sum := digit;

        N := N div 10;

    end;

    if sum 0 then

        writeln(sum)

    else

        writeln('NO')

end.

#include

int main()

{

    int N, digit, sum;

    scanf("%d", &N);

    sum = N % 10;

    while (N 0)

    {

        digit = N % 10;

        if (digit % 3 == 0)

            sum = digit;

        N = N / 10;

    }

    if (sum 0)

        printf("%d", sum);

    else

        printf("NO");

    return 0;

}

 

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

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 578.

2. При­ве­ди­те при­мер та­ко­го трёхзнач­но­го числа, при вводе ко­то­ро­го про­грам­ма выдаёт вер­ный ответ.

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

1) вы­пи­ши­те стро­ку, в ко­то­рой сде­ла­на ошиб­ка;

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

Об­ра­ти­те вни­ма­ние, что тре­бу­ет­ся найти ошиб­ки в име­ю­щей­ся про­грам­ме, а не на­пи­сать свою, воз­мож­но, ис­поль­зу­ю­щую дру­гой ал­го­ритм ре­ше­ния. Ис­прав­ле­ние ошиб­ки долж­но за­тра­ги­вать толь­ко стро­ку, в ко­то­рой на­хо­дит­ся ошиб­ка.




























Уровень С

Вариант 7


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

Си

Пас­каль

#include

void main(){

float x,у;

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

if (y=x*x-2)

if (y

if (x=0)

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

else

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

}

var х,у: real;

begin

readln(х,у);

if у=х*х-2 then

if у

if x=0 then

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

else

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

end.

 

 

 

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

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

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

 

Об­ласть

Усло­вие 1
(y = x*x-2)

Усло­вие 2
(y

Усло­вие 3
(x = 0)

Про­грам­ма вы­ве­дет

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

A


















B
























C
























D
























E
























F
























G
























H
























 




Уровень С

Вариант 8


8. Тре­бо­ва­лось на­пи­сать про­грам­му, ко­то­рая ре­ша­ет не­ра­вен­ство «(x - а) / (bx) 0» от­но­си­тель­но x для любых не­ну­ле­вых чисел а и b , вве­ден­ных с кла­ви­а­ту­ры. Все числа счи­та­ют­ся дей­стви­тель­ны­ми. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но.

 

Пас­каль

Си

var a,b,x: real;

begin

readln(a,b,x);

if b0 then

write ('x ',a,' или x

else

if a 0 then

write ('0

else

write (a, '

end.

void main(void)

{ float a,b,x;

scanf("%f%f%f", &a,&b,&x);

if (b 0)

printf("x %f или x

else

if (a0)

printf("0

else

printf("%f

}

 

По­сле­до­ва­тель­но вы­пол­ни­те три за­да­ния:

1) При­ве­ди­те при­мер таких чисел а, b, х, при ко­то­рых про­грам­ма не­вер­но ре­ша­ет по­став­лен­ную за­да­чу.

2) Ука­жи­те, какая часть про­грам­мы яв­ля­ет­ся лиш­ней.

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

































Уровень С Вариант 9


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

Пас­каль

Си

var х, у: real;

begin

readln(х, у) ;

if х у * у then

if х = 0 then

if у

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

else

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

end.

void main(void)

{ float х, у;

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

if (x

if (x = 0)

if (y

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

else

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

}

 

 

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

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

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

 

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

 

Об­ласть

Усло­вие 1

(x

Усло­вие 2

(x = 0)

Усло­вие 3

(y

Про­грам­ма вы­ве­дет

Об­ласть об­ра­ба­ты­ва­ет­ся

верно

A






В






С






D






Е






F






G






Н






Уровень С

Вариант 10


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

Си

Пас­каль

#include

void main (void) {

float x,y;

scanf

if (x*x + y*y

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

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

else

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

}

var x, у: real;

begin

readln(x,y);

if x*x + y*y

if x*x + y*y = 16 then

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

else

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

end.

 

 

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

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

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

 

Об­ласть

Усло­вие 1

(х*х+у*у

Усло­вие 2

(х*х+у*у = 16)

Про­грам­ма вы­ве­дет

Об­ласть

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

A





В





С





D






















Ответы на задания №№ 1-5



1

2

3

4

5

1 вариант

Write(a, ‘+’, b, ‘=?’);

20

7

70

25

2 вариант

Write(‘Z(‘, a, ‘)=’, b);

10

1

35

39

3 вариант

Write(‘a=’, a, ’;b=’, b, ‘;’);

29

10

43

4

4 вариант

Write(a, ‘+’, b, ‘=’);

8

or

132

102

5 вариант

Write(‘Z=F(’, b, ‘)’);

5

or

121

5

6 вариант

Write(‘a=’, b, ‘.b=’, a);

2

or

11

24

7 вариант

Write(a, ‘-’, b, ‘равно’);

3

2

60

9

8 вариант

Write(‘Z(‘, a, ‘)=F’);

24

3

64

35

9 вариант

Write(‘a-‘, a, ‘ и b-’, b, ‘;’);

8

10

24

95

10 вариант

Write(a, ‘*’, b, ‘=’, a*b);

-1

5

41

4















Проверка части С

Пожалуйста, оцените решения заданий части С самостоятельно, руководствуясь указанными критериями.

Начало формы

вариант 1

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

Баллы

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

3

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

2

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

1

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

0

Максимальный балл

3



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

 

Бей­сик

Пас­каль

INPUT x

IF x17 THEN

IF x5 THEN

IF x=-1 THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x17 then

if x5 then

if x=-1 then

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

else

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

end.

Си

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

void main(void)

{

float x;

scanf("%f",&x);

if(x17)

if(x5)

if(x=-1)

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

else

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

}

алг

нач

вещ x

ввод x

если x17 то

если x5 то

если x=-1 то

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

иначе

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

все

все

все

кон

 

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

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

 

Об­ласть

Усло­вие 1

(x

Усло­вие 2

(x

Усло­вие 3

(x= –1)

Про­грам­ма

вы­ве­дет

Об­ласть

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

верно

A






B






C






D






E






 

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

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



Пояснение.

Об­ласть

Усло­вие 1

(x

Усло­вие 2

(x

Усло­вие 3

(x= –1)

Про­грам­ма

вы­ве­дет

Об­ласть

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

верно

A

Да

Да

Нет

Не при­над­ле­жит

Да

B

Да

Да

Да

При­над­ле­жит

Да

C

Да

Нет

Нет

D

Да

Нет

Нет

E

Нет

Нет

 

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

if (x = -1) and (x = 11) and (x

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

else

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

Вариант 2

В за­да­че тре­бу­ет­ся вы­пол­нить три действия. 1. Ука­зать ответ про­грам­мы при дан­ном вводе. Это дей­ствие счи­та­ет­ся выполненным, если ука­зан вер­ный ре­зуль­тат ра­бо­ты про­грам­мы при за­дан­ном вход­ном значении. Эк­за­ме­ну­е­мый не обя­зан объяснять, как по­лу­чен этот результат, до­ста­точ­но ука­зать вер­ное число. 2. Ука­зать при­мер вер­ной ра­бо­ты программы. Это дей­ствие счи­та­ет­ся выполненным, если ука­за­но число, при вводе ко­то­ро­го вы­во­дит­ся вер­ный результат, и сам этот результат. Эк­за­ме­ну­е­мый не обя­зан по­яс­нять этот результат, опи­сы­вать общую за­ко­но­мер­ность и объ­яс­нять ме­ха­низм ра­бо­ты программы. 3. Найти и ис­пра­вить ошиб­ки в программе. Это дей­ствие счи­та­ет­ся выполненным, если верно ука­за­ны обе ошиб­ки и пред­ло­же­ны вер­ные ва­ри­ан­ты исправления, при этом ни­ка­кие вер­ные стро­ки про­грам­мы не ука­за­ны в ка­че­стве неверных. В ис­прав­лен­ной стро­ке до­пус­ка­ют­ся не­зна­чи­тель­ные син­так­си­че­ские ошиб­ки (лишние или про­пу­щен­ные знаки препинания, не­точ­ные на­пи­са­ния слу­жеб­ных слов языка). Ошибка счи­та­ет­ся исправленной, если вы­пол­не­ны оба сле­ду­ю­щих условия: а) пра­виль­но ука­за­на стро­ка с ошибкой; б) ука­зан такой новый ва­ри­ант строки, что при ис­прав­ле­нии дру­гой ошиб­ки по­лу­ча­ет­ся пра­виль­ная программа.

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

Баллы

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

3

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 3 балла. Имеет место одна из сле­ду­ю­щих ситуаций. 1. Вы­пол­не­ны два пер­вых действия, най­де­на и ис­прав­ле­на одна ошиб­ка в программе, ни одна вер­ная стро­ка не на­зва­на ошибочной. 2. Вы­пол­не­ны два пер­вых действия, най­де­ны и ис­прав­ле­ны две ошиб­ки в программе, одна вер­ная стро­ка на­зва­на ошибочной. 3. Вы­пол­не­но одно из пер­вых двух действий, най­де­ны и ис­прав­ле­ны две ошиб­ки в программе, ни одна вер­ная стро­ка не на­зва­на ошибочной.

2

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

1

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 1, 2 или 3 балла.

0

Максимальный балл

3



Дано целое по­ло­жи­тель­ное число N, не пре­вос­хо­дя­щее 1000. Не­об­хо­ди­мо опре­де­лить, яв­ля­ет­ся ли это число сте­пе­нью числа 4. То есть тре­бу­ет­ся опре­де­лить, су­ще­ству­ет ли такое целое число К, что 4K = N, и вы­ве­сти это число либо со­об­ще­ние, что та­ко­го числа не су­ще­ству­ет. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма ока­за­лась не­вер­ной.

 

var n, k: integer;

begin read(n);

k := 0;

while n mod 4 = 0 do begin

k := k + n div 4;

n := n div 4; end;

if n

else writeln('He су­ще­ству­ет')

end.

 

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

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 16.

2. При­ве­ди­те при­мер числа, при вводе ко­то­ро­го при­ведённая про­грам­ма на­пе­ча­та­ет то, что тре­бу­ет­ся.

3. Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.



Пояснение.

1) Вы­ве­дет 5.

2) 4

3) Оши­боч­но k:= k + n div 4;

ис­прав­ле­но k:= k + 1

оши­боч­но if n

ис­прав­ле­но if n = 1 then



вариант 3

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

Баллы

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

3

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 3 балла. Имеет место одна из сле­ду­ю­щих ситуаций. 1. Вы­пол­не­ны два пер­вых действия, най­де­на и ис­прав­ле­на одна ошиб­ка в программе, ни одна вер­ная стро­ка не названа ошибочной. 2. Вы­пол­не­ны два пер­вых действия, най­де­ны и ис­прав­ле­ны две ошиб­ки в программе, одна вер­ная стро­ка на­зва­на ошибочной. 3. Вы­пол­не­но одно из пер­вых двух действий, най­де­ны и ис­прав­ле­ны две ошиб­ки в программе, ни одна вер­ная стро­ка не названа ошибочной.

2

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

1

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 1, 2 или 3 балла.

0

Максимальный балл

3



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

 

1 + 2 + … + K  N.

 

Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал про­грам­му, но, к со­жа­ле­нию, его про­грам­ма не­пра­виль­ная.

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

 

Бей­сик

Python

DIM N, K AS INTEGER

INPUT N

K = 1

WHILE N 0

  N = N - K

  K = K + 1

WEND

PRINT K

END

n = int(input())

k = 1

while n0:

  n = n - k

  k = k + 1

print(k)

Пас­каль

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

var n, k: integer;

begin

  read(n);

  k := 1;

  while n0 do begin

    n := n- k;

    k := k + 1;

  end;

  writeln(k)

end.

алг

нач

  цел n, k

  ввод n

  k := 1

  нц пока n0

    n := n - k

    k := k + 1

  кц

  вывод k

кон

Си

#include

int main(){

int n, k;

scanf("%d",&n);

k = 1;

while (n0) {

n = n - k;

k = k + 1;

}

printf("%d", k);

return 0;

}

 

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

1. При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет не­вер­ный ответ. Ука­жи­те вер­ный ответ и ответ, ко­то­рый вы­ве­дет про­грам­ма.

2. При­ве­ди­те при­мер числа N, при вводе ко­то­ро­го про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3. Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко). Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

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

Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.



Пояснение.

1. При­ме­ры чисел, при вводе ко­то­рых про­грам­ма вы­во­дит не­вер­ный ответ:

 

Зна­че­ние N

Вер­ный ответ

Ответ про­грам­мы

2

2

3

4

3

4

5

3

4

7

4

5

 

2. При­ме­ры чисел, при вводе ко­то­рых про­грам­ма вы­во­дит вер­ный ответ:

 

Зна­че­ние N

Вер­ный ответ

Ответ про­грам­мы

1

2

2

3

3

3

6

4

4

10

5

5

 

За­ме­тим, что про­грам­ма выдаёт вер­ный ответ для тех зна­че­ний N, ко­то­рые можно пред­ста­вить в виде суммы 1 + 2 + … + K. При K = 1, 2, 3, 4 по­лу­чим при­ме­ры, при­ведённые в таб­ли­це. Во всех осталь­ных слу­ча­ях про­грам­ма выдаёт не­вер­ный ответ.

 

3. Про­грам­ма со­дер­жит две ошиб­ки:

1) не­вер­ное усло­вие цикла;

2) не­вер­ный вывод ре­зуль­та­та (вы­во­дит­ся зна­че­ние, на 1 пре­вы­ша­ю­щее вер­ное).

 

При­мер ис­прав­ле­ния для языка Пас­каль:

Пер­вая ошиб­ка:

while n0 do begin

Ис­прав­лен­ная стро­ка:

while n=0 do begin

Вто­рая ошиб­ка:

writeln(k)

Ис­прав­лен­ная стро­ка:

writeln(k-1)

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

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



Вариант 4

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

Баллы

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

3

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

2

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 2 или 3 балла, од­на­ко вы­пол­не­но одно из сле­ду­ю­щих условий. 1. Выполнено одно дей­ствие из трёх. 2. Представлен новый вер­ный текст программы, возможно, со­вер­шен­но не по­хо­жий на исходный.

1

Все пунк­ты за­да­ния вы­пол­не­ны не­вер­но или отсутствуют.

0

Максимальный балл

3



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

 

Бэй­сик

Пас­каль

DIM N AS LONG

INPUT N

sum = 0

WHILE N = 9

    digit = N MOD 10

    sum = sum + digit

    N = N \ 10

WEND

PRINT sum

END

var N: longint;

    digit, sum: integer;

begin

    readln(N);

    sum := 0;

    while N = 9 do

    begin

        digit := N mod 10;

        sum := sum + digit;

        N := N div 10;

    end;

    writeln(sum);

end.

Си

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

#include

int main()

{

    long int N;

    int digit, sum;

    scanf("%ld", &N);

    sum = 0;

    while (N = 9)

    {

        digit = N % 10;

        sum = sum + digit;

        N = N / 10;

    }

    printf("%d", sum);

}

 

алг

нач

    цел N, digit, sum

    ввод N

    sum := 0

    нц пока N = 9

        digit := mod(N, 10)

        sum := sum + digit

        N := div(N, 10)

    кц

    вывод sum

кон

 

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

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 352.

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

3. Ука­жи­те одно число для ко­то­ро­го эта про­грам­ма будет ра­бо­тать верно.



Пояснение.

1. Про­грам­ма вы­ве­дет число 7 (как сумму чисел 2 и 5).

 

2. В ка­че­стве от­ве­та для осталь­ных чисел про­грам­ма выдаёт сумму всех цифр, кроме стар­шей. Воз­мож­ный (не един­ствен­ный) ва­ри­ант ис­прав­ле­ния для языка Пас­каль: ис­прав­ле­ние усло­вия про­дол­же­ния цикла на while (N = 1) do или while (N 0) do. При этом за­ме­на на while (N = 0) do кор­рект­ной не яв­ля­ет­ся.

 

3. Про­грам­ма ра­бо­та­ет верно для всех чисел, на­чи­на­ю­щих­ся на 9, в том числе для 9. [До­ста­точ­но ука­зать любое такое число.]

 

Ука­за­ния по оце­ни­ва­нию.

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

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

1. Верно ука­за­но, что имен­но вы­ве­дет про­грам­ма при ука­зан­ных в усло­вии вход­ных дан­ных.

2. Ука­за­но число, при ко­то­ром про­грам­ма ра­бо­та­ет верно.

3. Ука­за­ны все стро­ки (одна или более), в ко­то­рые нужно вне­сти ис­прав­ле­ния, и эти ис­прав­ле­ния вне­се­ны, при этом по­лу­че­на верно ра­бо­та­ю­щая про­грам­ма.

При вы­пол­не­нии дей­ствия 3 вер­ное ука­за­ние на ошиб­ку при не­вер­ном её ис­прав­ле­нии не за­счи­ты­ва­ет­ся.

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



Вариант 5

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

Баллы

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

3

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 3 балла. Имеет место одна из сле­ду­ю­щих ситуаций: а) выполнены три из четырёх не­об­хо­ди­мых действий. Ни одна вер­ная стро­ка не ука­за­на в ка­че­стве ошибочной; б) выполнены все че­ты­ре не­об­хо­ди­мых действия. Ука­за­но в ка­че­стве оши­боч­ной не более одной вер­ной строки

2

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 2 или 3 балла. Вы­пол­не­ны два не­об­хо­ди­мых дей­ствия из четырёх

1

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 1, 2 или 3 балла

0

Максимальный балл

3



На об­ра­бот­ку по­сту­па­ет на­ту­раль­ное число, не пре­вы­ша­ю­щее 109. Нужно на­пи­сать про­грам­му, ко­то­рая вы­во­дит на экран сумму цифр числа, крат­ных трём. Если в числе нет таких цифр, тре­бу­ет­ся на экран вы­ве­сти «NO». Про­грам­мист на­пи­сал про­грам­му не­пра­виль­но. Ниже эта про­грам­ма для Ва­ше­го удоб­ства при­ве­де­на на пяти язы­ках про­грам­ми­ро­ва­ния.

 

 

Бей­сик

Python

DIM N, DIGIT, SUM AS LONG

INPUT N

SUM = N MOD 10

WHILE N 0

    DIGIT = N MOD 10

    IF DIGIT MOD 3 = 0 THEN

        SUM = DIGIT

    END IF

    N = N \ 10

WEND

IF SUM 0 THEN

    PRINT SUM

ELSE

    PRINT "NO"

END IF

N = int(input())

sum = N % 10

while N 0:

    digit = N % 10

    if digit % 3 == 0:

        sum = digit

    N = N // 10

if sum 0:

    print(sum)

else:

    print("NO")

Пас­каль

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

var N, digit, sum: longint;

begin

    readln(N);

    sum := N mod 10;

    while N 0 do

    begin

        digit := N mod 10;

        if digit mod 3 = 0 then

            sum := digit;

        N := N div 10;

    end;

    if sum 0 then

        writeln(sum)

    else

        writeln('NO')

end.

алг

нач

    цел N, digit, sum

    ввод N

    sum := mod(N, 10)

    нц пока N 0

        digit := mod(N,10)

        если mod(digit, 3) = 0 то

            sum := digit

        все

        N := div(N,10)

    кц

    если sum 0 то

        вывод sum

    иначе

        вывод "NO"

    все

кон

Си

#include

int main()

{

    int N, digit, sum;

    scanf("%d", &N);

    sum = N % 10;

    while (N 0)

    {

        digit = N % 10;

        if (digit % 3 == 0)

            sum = digit;

        N = N / 10;

    }

    if (sum 0)

        printf("%d", sum);

    else

        printf("NO");

    return 0;

}

 

 

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

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 578.

2. При­ве­ди­те при­мер та­ко­го трёхзнач­но­го числа, при вводе ко­то­ро­го про­грам­ма выдаёт вер­ный ответ.

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

1) вы­пи­ши­те стро­ку, в ко­то­рой сде­ла­на ошиб­ка;

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

Об­ра­ти­те вни­ма­ние, что тре­бу­ет­ся найти ошиб­ки в име­ю­щей­ся про­грам­ме, а не на­пи­сать свою, воз­мож­но, ис­поль­зу­ю­щую дру­гой ал­го­ритм ре­ше­ния. Ис­прав­ле­ние ошиб­ки долж­но за­тра­ги­вать толь­ко стро­ку, в ко­то­рой на­хо­дит­ся ошиб­ка.



Пояснение.

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

1. Про­грам­ма вы­ве­дет число 8.

2. Про­грам­ма выдаёт пра­виль­ный ответ, на­при­мер, для числа 357.

Про­грам­ма ра­бо­та­ет не­пра­виль­но из-за не­вер­ной на­чаль­ной ини­ци­а­ли­за­ции суммы и не­вер­но­го уве­ли­че­ния суммы. Со­от­вет­ствен­но, про­грам­ма будет ра­бо­тать верно, если в числе ровно одна крат­ная 3 цифра или таких цифр во­об­ще нет и при этом число за­кан­чи­ва­ет­ся на 0.

3. В про­грам­ме есть две ошиб­ки.

Пер­вая ошиб­ка: не­вер­ная ини­ци­а­ли­за­ция суммы (пе­ре­мен­ная sum).

Стро­ка с ошиб­кой:

sum := N mod 10;

Вер­ное ис­прав­ле­ние:

sum := 0;

Вто­рая ошиб­ка: не­вер­ное уве­ли­че­ние суммы.

Стро­ка с ошиб­кой:

sum := digit;

Вер­ное ис­прав­ле­ние:

sum := sum + digit;



вариант 6

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

Баллы

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

3

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 3 балла. Имеет место одна из сле­ду­ю­щих ситуаций. 1. Вы­пол­не­ны два пер­вых действия, най­де­на и ис­прав­ле­на одна ошиб­ка в программе, ни одна вер­ная стро­ка не названа ошибочной. 2. Вы­пол­не­ны два пер­вых действия, най­де­ны и ис­прав­ле­ны две ошиб­ки в программе, одна вер­ная стро­ка на­зва­на ошибочной. 3. Вы­пол­не­но одно из пер­вых двух действий, най­де­ны и ис­прав­ле­ны две ошиб­ки в программе, ни одна вер­ная стро­ка не названа ошибочной.

2

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

1

Не вы­пол­не­ны условия, поз­во­ля­ю­щие по­ста­вить 1, 2 или 3 балла.

0

Максимальный балл

3



Даны целые по­ло­жи­тель­ные числа M и N. Не­об­хо­ди­мо опре­де­лить ко­ли­че­ство таких целых чисел K, для ко­то­рых вы­пол­ня­ет­ся не­ра­вен­ство

 

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

 

Бей­сик

Python

DIM M, N, K, T AS INTEGER

INPUT M, N

K = 1

T = 1

WHILE K*K*K N

  IF K*K*K M THEN T = T + 1

  K = K + 1

WEND

PRINT T

END

m = int(input())

n = int(input())

k = 1

t = 1

while k*k*k

  if k*k*k m:

    t = t+1

  k = k + 1

print(t)

Пас­каль

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

var m, n, k, t: integer;

begin

  read(m, n);

  k := 1;

  t := 1;

  while k*k*k n do begin

    if k*k*k m

      then t := t + 1;

    k := k + 1;

  end;

  writeln(t)

end.

алг

нач

  цел m, n, k, t

  ввод m, n

  k := 1

  t := 1

  нц пока k*k*k n

    если k*k*k m

      то t := t+1

    все

    k := k+1

  кц

  вывод t

кон

Си

#include

int main(){

  int m, n, k, t;

  scanf("%d %d", &m, &n);

  k = 1;

  t = 1;

  while (k*k*k n) {

    if (k*k*k m) t = t + 1;

    k = k + 1;

  }

  printf("%d", t);

  return 0;

}

 

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

1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе M = 10 и N = 100.

2. При­ве­ди­те при­мер таких чисел M и N, при вводе ко­то­рых про­грам­ма вы­ве­дет вер­ный ответ. Ука­жи­те этот ответ.

3. Най­ди­те в про­грам­ме все ошиб­ки (их может быть одна или не­сколь­ко).

Для каж­дой ошиб­ки вы­пи­ши­те стро­ку, в ко­то­рой она до­пу­ще­на, и при­ве­ди­те эту же стро­ку в ис­прав­лен­ном виде.

До­ста­точ­но ука­зать ошиб­ки и спо­соб их ис­прав­ле­ния для од­но­го языка про­грам­ми­ро­ва­ния. Об­ра­ти­те вни­ма­ние: Вам нужно ис­пра­вить при­ведённую про­грам­му, а не на­пи­сать свою. Вы мо­же­те толь­ко за­ме­нять оши­боч­ные стро­ки, но не мо­же­те уда­лять стро­ки или до­бав­лять новые. За­ме­нять сле­ду­ет толь­ко оши­боч­ные стро­ки: за ис­прав­ле­ния, внесённые в стро­ки, не со­дер­жа­щие оши­бок, баллы будут сни­жать­ся.



Пояснение.

1. При вводе M = 10 и N = 100 про­грам­ма вы­ве­дет число 3.

2. При­ме­ры чисел, при вводе ко­то­рых про­грам­ма вы­во­дит вер­ный ответ:

 

M и N

Вер­ный ответ

Ответ про­грам­мы

1, 10

2

2

8, 64

3

3

 

При­мер ис­прав­ле­ния для языка Пас­каль

Пер­вая ошиб­ка: t := 1;

Ис­прав­лен­ная стро­ка: t := 0;

Вто­рая ошиб­ка: if k*k*k m

Ис­прав­лен­ная стро­ка: if k*k*k = m

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

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



Вариант 7

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

Баллы

Обратите внимание! В за­да­че тре­бо­ва­лось вы­пол­нить три действия: ука­зать для каж­дой области, как будет ра­бо­тать программа, что она вы­ве­дет на экран и пра­виль­но ли это (в виде таблицы), и ис­пра­вить две ошибки. Баллы за дан­ное за­да­ние на­чис­ля­ют­ся как сумма бал­лов за вер­ное вы­пол­не­ние каж­до­го действия. 1. Вер­ное за­пол­не­ние пред­ло­жен­ной таблицы. 2. Не­пра­виль­ное ис­поль­зо­ва­ние услов­но­го оператора, в ре­зуль­та­те чего при не­вы­пол­не­нии пер­во­го усло­вия про­грам­ма не вы­да­ва­ла ни­че­го (отсутствует ветвь ELSE). Ис­прав­ле­ни­ем этой ошиб­ки может быть либо до­бав­ле­ние ветви ELSE к каж­до­му усло­вию IF, либо объ­еди­не­ние всех усло­вий IF в одно при по­мо­щи конъюнкции. В слож­ных слу­ча­ях это дей­ствие счи­та­ет­ся выполненным, если про­грам­ма вы­да­ет одно из двух со­об­ще­ний «принадлежит» или «не принадлежит» для любых пар (x,y), при этом про­грам­ма не стала ра­бо­тать хуже, чем раньше, то есть для всех точек, для ко­то­рых про­грам­ма ранее вы­да­ва­ла вер­ный ответ, до­ра­бо­тан­ная про­грам­ма также долж­на вы­да­вать вер­ный ответ. 3. При­ве­ден­ных трех огра­ни­че­ний не до­ста­точ­но для опи­са­ния двух об­ла­стей (потеряно усло­вие x*x + y*y

3

1. Пра­виль­но вы­пол­не­ны два дей­ствия из трех (исправлены обе ошибки, но в пер­вом пунк­те за­да­ния не при­ве­де­на таб­ли­ца (либо таб­ли­ца со­дер­жит ошиб­ки в двух и более строках), либо при­ве­де­на таб­ли­ца (которая со­дер­жит ошиб­ки не более чем в одной строке), но ис­прав­ле­на толь­ко одна ошиб­ка программы). При на­пи­са­нии опе­ра­ций срав­не­ния до­пус­ка­ет­ся одно не­пра­виль­ное ис­поль­зо­ва­ние строгих/нестрогих не­ра­венств (считается не­су­ще­ствен­ной ошибкой, по­греш­но­стью записи). Например, вме­сто «x*x + y*y

2

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

1

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

0

Максимальный балл

3



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

 

Бэй­сик

Пас­каль

INPUT x, у

IF y=x*x-2 THEN

IF y4-x*x THEN

IF x=0 THEN

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

ELSE

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

END IF

END IF

END IF

END

var х,у: real;

begin

readln(х,у);

if у=х*х-2 then

if у4-х*х then

if x=0 then

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

else

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

end.

Си

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

#include

void main(){

float x,у;

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

if (y=x*x-2)

if (y4-x*x)

if (x=0)

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

else

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

}

алг

нач

вещ х,у

ввод х,у

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

если у4-х*х то

если х=0 то

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

иначе

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

все

все

все

кон

 

 

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

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

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

 

Об­ласть

Усло­вие 1
(y = x*x-2)

Усло­вие 2
(y

Усло­вие 3
(x = 0)

Про­грам­ма вы­ве­дет

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

A


















B
























C
























D
























E
























F
























G
























H
























 



Пояснение.

 Со­дер­жа­ние вер­но­го от­ве­та и ука­за­ния по оце­ни­ва­нию (до­пус­ка­ют­ся иные фор­му­ли­ров­ки от­ве­та, не ис­ка­жа­ю­щие его смыс­ла)

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

1)

Об­ласть

Усло­вие 1

(y=x*x-2)

Усло­вие 2

(y

Усло­вие 3

(x=0)

Про­грам­ма вы­ве­дет

Об­ласть об­ра­ба­ты­ва­ет­ся

верно

A

да

нет

нет

В

нет

нет

С

да

да

нет

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

нет

D

да

да

нет

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

да

Е

да

да

да

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

да

F

да

да

да

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

да

G

нет

нет

Н

нет

нет

 

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

 

if (y=0)and(x0)and(y=x*x-2)) then

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

else

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

 

(могут быть и дру­гие спо­со­бы до­ра­бот­ки).



Вариант 8

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

Баллы

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

3

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

2

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

1

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

0

Максимальный балл

3



Тре­бо­ва­лось на­пи­сать про­грам­му, ко­то­рая ре­ша­ет не­ра­вен­ство «(x - а) / (bx) 0» от­но­си­тель­но x для любых не­ну­ле­вых чисел а и b , вве­ден­ных с кла­ви­а­ту­ры. Все числа счи­та­ют­ся дей­стви­тель­ны­ми. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но.

 

Пас­каль

Бей­сик

Си

var a,b,x: real;

begin

readln(a,b,x);

if b0 then

write ('x ',a,' или x

else

if a 0 then

write ('0

else

write (a, '

end.

INPUT a, b, x

IF b 0 THEN

PRINT "x ",a," или x

ELSE

IF a 0 THEN

PRINT "0

ELSE

PRINT a,"

ENDIF

ENDIF

END

void main(void)

{ float a,b,x;

scanf("%f%f%f", &a,&b,&x);

if (b 0)

printf("x %f или x

else

if (a0)

printf("0

else

printf("%f

}

 

По­сле­до­ва­тель­но вы­пол­ни­те три за­да­ния:

1) При­ве­ди­те при­мер таких чисел а, b, х, при ко­то­рых про­грам­ма не­вер­но ре­ша­ет по­став­лен­ную за­да­чу.

2) Ука­жи­те, какая часть про­грам­мы яв­ля­ет­ся лиш­ней.

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



Пояснение.

1) a = −11, b = 1, x = 0.

Зна­че­ние x может быть не ука­за­но. Зна­че­ние а может быть любым от­ри­ца­тель­ным чис­лом, зна¬чение b — любым по­ло­жи­тель­ным. Также до­пу­стим ответ, что про­грам­ма ра­бо­та­ет не­пра­виль­но при любых по­ло­жи­тель­ных b и от­ри­ца­тель­ных а.

2) Лиш­няя часть:

не нужно вво­дить х с кла­ви­а­ту­ры; верно: readln(a, b).

3) Воз­мож­ная до­ра­бот­ка:

readln(а, b);

if b 0 then

if а 0 then

write('х ', а, 'или х

else

write('х 0')

else

if а 0 then

write('0 х а)

else

write(а,' х

(могут быть и дру­гие спо­со­бы до­ра­бот­ки).



Вариант 9

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

Баллы

Обратите внимание! В задаче требуется выполнить три следующих действия. 1. Указать для каждой области, как будет работать программа - заполнить таблицу. 2. Исправить ошибку, связанную с неверной расстановкой операторных скобок (отсутствуют случаи ELSE). Исправлением этой ошибки может быть либо добавление случая ELSE к каждому условию IF, либо объединение всех условий IF в одно при помощи конъюнкции. В сложных случаях это действие считается выполненным, если программа выдает одно из двух сообщений «принадлежит» или «не принадлежит» для любых чисел x и y, при этом программа не стала работать хуже, чем раньше, то есть для всех точек, для которых программа ранее выдавала верный ответ, доработанная программа также должна выдавать верный ответ. 3. Исправить ошибку в проверяемых условиях. В сложных случаях это действие считается выполненным, если верно определена закрашенная область, то есть программа выводит сообщение «принадлежит» для всех точек закрашенной области и только для них, для точек вне закрашенной области программа выводит «не принадлежит» или не выводит ничего. В целом, критерий оценки работ такой: количество баллов равно количеству выполненных действий. Детально критерии для каждого случая рассмотрены ниже. Задание выполнено полностью: 1) Правильно заполнена вся таблица. 2) Написана правильно работающая программа(исправлены обе ошибки), т.е. программа для всех пар чисел x, y верно определяет принадлежность точки закрашенной области. В работе (во фрагментах программ) допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора решения.

3

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

2

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

1

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

0

Максимальный балл

3



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

 

Пас­каль

Бей­сик

var х, у: real;

begin

readln(х, у) ;

if х у * у then

if х = 0 then

if у 1 then

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

else

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

end.

INPUT x, у

IF x у * y THEN

IF x = 0 THEN

IF у 1 THEN

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

ELSE

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

ENDIF

ENDIF

ENDIF

END

Си

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

void main(void)

{ float х, у;

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

if (x у * у)

if (x = 0)

if (y 1)

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

else

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

}

алг

нач

вещ х, у

ввод х, у

если х у * у то

если х = 0 то

если у 1 то

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

иначе

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

все

все

все

кон

 

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

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

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

 

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

 

Об­ласть

Усло­вие 1

(x

Усло­вие 2

(x = 0)

Усло­вие 3

(y

Про­грам­ма вы­ве­дет

Об­ласть об­ра­ба­ты­ва­ет­ся

верно

A






В






С






D






Е






F






G






Н








Пояснение.

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

1.

Об­ласть

Усло­вие 1

(x

Усло­вие 2

(x = 0)

Усло­вие 3

(y

Про­грам­ма вы­ве­дет

Об­ласть об­ра­ба­ты­ва­ет­ся

верно

A

да

нет

нет

В

да

да

нет

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

да

С

нет

нет

D

да

да

да

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

да

Е

да

нет

нет

F

да

да

да

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

нет

G

нет

нет

Н

нет

нет

 

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

if (х = 0) and (у = 0) then

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

else

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

(могут быть и дру­гие спо­со­бы до­ра­бот­ки).

Вариант 10

Указания по оцениванию. Об­ра­ти­те вни­ма­ние! В задаче требовалось выполнить три действия: указать для каждой области, как будет работать программа, что она выведет на экран и правильно ли это (в виде таблицы), и исправить две ошибки. Баллы за данное задание начисляются как сумма баллов за верное выполнение каждого действия. 1. Верное заполнение предложенной таблицы. 2. Неправильное использование условного оператора, в результате чего при невыполнении первого условия программа не выдавала ничего (отсутствует ветвь ELSE). Исправлением этой ошибки может быть либо добавление ветви ELSE к каждому условию IF, либо объединение всех условий IF в одно при помощи конъюнкции. В сложных случаях это действие считается выполненным, если программа выдает одно из двух сообщений «принадлежит» или «не принадлежит» для любых пар (x,y), при этом программа не стала работать хуже, чем раньше, то есть для всех точек, для которых программа ранее выдавала верный ответ, доработанная программа также должна выдавать верный ответ. 3. Приведенных трех ограничений не достаточно для описания двух областей (потеряно условие x*x + y*y

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

Баллы

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

3

1. Правильно выполнены два действия из трех (исправлены обе ошибки, но в первом пункте задания не приведена таблица (либо таблица содержит ошибки в двух и более строках), либо приведена таблица (которая содержит ошибки не более чем в одной строке), но исправлена только одна ошибка программы). При написании операций сравнения допускается одно неправильное использование строгих/нестрогих неравенств (считается несущественной ошибкой, погрешностью записи). Например, вместо «x*x + y*y

2

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

1

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

0

Максимальный балл

3



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

 

Бей­сик

Пас­каль

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

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

(х*х+у*у

Усло­вие 2

(х*х+у*у = 16)

Про­грам­ма вы­ве­дет

Об­ласть

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

A





В





С





D







Пояснение.

1.Таб­ли­ца:

 

Об­ласть

Усло­вие 1

(х*х+у*у

Усло­вие 2

(х*х+у*у = 16)

Про­грам­ма вы­ве­дет

Об­ласть

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

A

да

нет

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

нет

В

да

нет

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

да

С

да

да

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

да

D

нет

нет

 

 

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

 

if (х*х+у*у = 16) and (х*х+у*у

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

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

 

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

 

if х*х + у*у = 16 then if x*x + у*у

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

if x*x + у*у

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

else

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

Конец формы









Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!