Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЕГЭ 11 от 26 01 2015

.pdf
Скачиваний:
361
Добавлен:
11.02.2015
Размер:
635.86 Кб
Скачать

Информатика. 11 класс. Вариант ИН10501

11

16 Сколько единиц содержится в двоичной записи значения выражения:

42020 + 22017 – 15 ?

Ответ: ___________________________.

17В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции

«И» – символ «&».

В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

Запрос

Найдено страниц

 

(в сотнях тысяч)

Пилот

700

Пилот | Вертолёт | Акула

1200

Пилот & Вертолёт & Акула

0

Пилот & Акула

110

Пилот & Вертолёт

220

Вертолёт & Акула

330

Какое количество страниц (в сотнях тысяч) будет найдено по запросу

Вертолёт | Акула?

Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.

Ответ: ___________________________.

18На числовой прямой даны два отрезка: P = [5, 30] и Q = [14, 23].

Укажите наибольшую возможную длину промежутка A, для которого формула

((x P) ~ (x Q)) → ¬(x A)

тождественно истинна, то есть принимает значение 1 при любом значении переменной х.

Ответ: ___________________________.

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

12

19

В программе используется одномерный целочисленный массив A

 

с индексами от 0 до 9. Значения элементов равны 5; 1; 6; 7; 8; 8; 7; 7; 6; 9

 

соответственно, т.е. A[0] = 5; A[1] = 1 и т.д.

Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования.

Бейсик

 

Python

c = 0

 

c = 0

FOR i =

1 TO 9

for i in range(1, 10):

IF A(i - 1) >= A(i) THEN

if A[i - 1] >= A[i]:

t = A(i)

t = A[i]

A(i) = A(i - 1)

A[i] = A[i - 1]

A(i - 1) = t

A[i - 1] = t

ELSE

 

else:

c = c + 1

c = c + 1

ENDIF

 

 

NEXT i

 

 

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

Паскаль

c := 0

c := 0;

нц для i от 1 до 9

for i := 1 to 9 do

если A[i - 1] >= A[i] то

if A[i - 1] >= A[i] then

t := A[i]

begin

A[i] := A[i - 1]

t := A[i];

A[i - 1] := t

A[i] := A[i - 1];

иначе

A[i - 1] := t

c := c + 1

end

все

else

кц

c := c + 1;

 

 

Си

 

c = 0;

 

for (i = 1; i <= 9; i++)

 

if (A[i - 1] >= A[i])

 

{

 

t = A[i];

 

A[i] = A[i - 1];

 

A[i - 1] = t;

 

}

 

else

 

c++;

 

 

 

Ответ: ___________________________.

 

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

13

20Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает числа: a и b.

Укажите наименьшее положительное пятизначное число x, при котором после выполнения алгоритма будет напечатано сначала 6, а потом 3.

Бейсик

Python

DIM X, Y, A, B AS INTEGER

a = 0

A = 0

b = 10

B = 10

x = int(input())

INPUT X

while x > 0:

WHILE X > 0

y = x % 10

Y = X MOD 10

x = x // 10

X = X \ 10

if y > a:

IF Y > A THEN A = Y

a = y

IF Y < B THEN B = Y

if y < b:

WEND

b = y

PRINT A

print(a)

PRINT B

print(b)

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

Паскаль

алг

var x, y, a, b: integer;

нач

begin

цел x, y, a, b

a := 0;

a := 0

b := 10;

b := 10

readln(x);

ввод x

while x > 0 do

нц пока x > 0

begin

y := mod(x, 10)

y := x mod 10;

x := div(x, 10)

x := x div 10

если y > a

if y > a then

то a := y

a := y;

все

if y < b then

если y < b

b := y;

то b := y

end;

все

writeln(a);

кц

writeln(b)

вывод a, нс, b

end.

кон

 

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

14

Си

#include<stdio.h> int main()

{

int x, y, a, b; a = 0;

b = 10; scanf("%d", &x); while (x > 0)

{

y = x % 10; x = x / 10; if (y > a) a = y;

if (y < b) b = y;

}

printf("%d\n%d\n", a, b);

}

Ответ: ___________________________.

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

15

21Напишите в ответе число различных значений входной переменной k, при которых программа выдаёт тот же ответ, что и при входном значении k = 36. Значение k = 36 также включается в подсчёт различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.

Бейсик

Python

DIM K, I AS LONG

def f(n):

INPUT K

return n*(n-1)+10

I =

0

k = int(input())

WHILE F(I) < K

i = 0

I = I + 1

while f(i) < k:

WEND

 

i = i + 1

PRINT I

print(i)

FUNCTION F(N)

 

 

F = N*(N-1)+10

 

END FUNCTION

 

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

Паскаль

алг

 

var k, i : longint;

нач

 

function f(n: longint) :

цел i, k

longint;

ввод k

f := n*(n-1)+10

i := 0

end;

нц пока f(i) < k

 

 

i := i+1

begin

кц

 

readln(k);

вывод i

i := 0;

кон

 

while (f(i)<k) do

алг цел f(цел n)

i := i+1;

нач

 

writeln(i)

знач := n*(n-1)+10

end.

кон

 

 

 

 

 

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

16

Си

#include<stdio.h> long f(long n) {

return n*(n-1)+10;

}

void main()

{

long k, i; scanf("%ld", &k); i = 0;

while (f(i)<k) do i++;

printf("%ld", i);

}

Ответ: ___________________________.

22 Исполнитель Увеличитель245 преобразует число, записанное на экране.

Уисполнителя три команды, которым присвоены номера:

1.Прибавь 2

2.Прибавь 4

3.Прибавь 5

Первая из них увеличивает число на экране на 2, вторая увеличивает это число на 4, а третья – на 5. Программа для исполнителя Увеличитель245 – это последовательность команд.

Сколько есть программ, которые число 31 преобразуют в число 51?

Ответ: ___________________________.

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

17

23

Сколько существует различных наборов значений логических переменных

 

x1, x2, … x7, y1, y2, … y7, которые удовлетворяют всем перечисленным ниже

 

 

условиям?

(x1 \/ x2) /\ ((x1 /\ x2) → x3) /\ ¬ ( x1 /\ y1) = 1 (x2 \/ x3) /\ ((x2 /\ x3) → x4) /\ ¬ ( x2 /\ y2) = 1

(x5 \/ x6) /\ ((x5 /\ x6) → x7) /\ ¬ ( x5 /\ y6) = 1 (x6 \/ x7) /\ ¬( x6 /\ y6) = 1

x7 /\ y7 = 0

В ответе не нужно перечислять все различные наборы значений переменных

x1,

x2, … x7, y1, y2, … y7, при которых выполнена данная система равенств.

В качестве ответа Вам нужно указать количество таких наборов.

Ответ: ___________________________.

 

 

 

Не

забудьте перенести все ответы в бланк ответов № 1

 

в соответствии с инструкцией по выполнению работы.

 

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

18

Часть 2

Для записи ответов на задания этой части (24–27) используйте отдельный лист. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво.

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

Бейсик

 

 

Python

INPUT x

 

x = int(input())

cnt =

0

 

cnt = 0

WHILE

x >

0

while x > 0:

cnt

= cnt + x MOD 2

cnt = cnt+x % 2

x = x \

10

x = x // 10

WEND

 

 

print(cnt)

PRINT cnt

 

 

END

 

 

 

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

Паскаль

алг

var x,cnt: integer;

нач

begin

цел x, cnt

readln(x);

ввод x

cnt := 0;

cnt := 0

while x > 0 do

нц пока x > 0

begin

cnt := cnt+mod(x,2)

cnt:=cnt + x mod 2;

x := div(x, 10)

x := x div 10

кц

end;

вывод cnt

writeln(cnt)

кон

end.

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

19

Си

#include<stdio.h> int main()

{

int x,cnt; scanf("%ld", &x); cnt = 0;

while (x > 0)

{

cnt = cnt + x%2; x = x /10;

}

printf("%d", cnt);

}

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

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

2.Приведите пример такого числа x, что, несмотря на ошибки, программа печатает правильный ответ.

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

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

2)укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

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

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

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена

Информатика. 11 класс. Вариант ИН10501

20

25Дан целочисленный массив из 40 элементов. Элементы массива могут принимать целые значения от –100 до 100 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, произведение которых положительно, а сумма кратна 7. Под парой подразумевается два подряд идущих элемента массива.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.

Бейсик

Паскаль

N = 40

const

DIM A(N) AS LONG

N = 40;

DIM I, J, K AS LONG

var

FOR I = 1 TO N

a: array [1..N] of longint;

INPUT A(I)

i, j, k: longint;

NEXT I

begin

...

for i := 1 to N do

 

readln(a[i]);

END

...

 

end.

Си

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

#include <stdio.h>

алг

#define N 40

нач

void main()

цел N = 40

{

цел таб a[1:N]

long a[N];

цел i, j, k

long i, j, k;

нц для i от 1 до N

for (i = 0; i < N; i++)

ввод a[i]

scanf("%ld", &a[i]);

кц

...

...

}

кон

 

 

Естественный язык

Объявляем массив A из 40 элементов. Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 40 вводим элементы массива A с 1-го по 40-й.

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

© СтатГрад 2015 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена