ЕГЭ 11 от 26 01 2015
.pdfИнформатика. 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 г. Публикация в Интернете или печатных изданиях без письменного согласия СтатГрад запрещена