Инструкция по выполнению работы
Экзаменационная работа состоит из двух частей, включающих в себя 27 заданий. Часть 1 содержит 23 задания с кратким ответом, часть 2 содержит 4 задания с развёрнутым ответом.
На выполнение экзаменационной работы по информатике и ИКТ отводится 3 часа 55 минут (235 минут).
Ответы к заданиям 1–23 записываются в виде числа, последовательности букв или цифр. Ответы запишите в поле ответа в тексте работы, а затем перенесите в бланк ответов № 1.
Задания 24–27 требуют развёрнутого ответа. В бланке ответов № 2 укажите номер задания и запишите его полное решение.
Все бланки ЕГЭ заполняются яркими чёрными чернилами.
Допускается использование гелевой или капиллярной ручки.
При выполнении заданий можно пользоваться черновиком. Записи
В черновике, а также в тексте контрольных измерительных материалов не учитываются при оценивании работы.
Баллы, полученные Вами за выполненные задания, суммируются. Постарайтесь выполнить как можно больше заданий и набрать наибольшее
количество баллов.
После завершения работы проверьте, что ответ на каждое задание в бланках ответов №1 и №2 записан под правильным номером.
Желаем успеха!
В экзаменационных заданиях используются следующие соглашения.
1. Обозначения для логических связок (операций):
a) отрицание (инверсия, логическое НЕ) обозначается (например, А);
b) конъюнкция (логическое умножение, логическое И) обозначается /\ (например, А /\ В) либо & (например, А & В);
c) дизъюнкция (логическое сложение, логическое ИЛИ) обозначается \/ (например, А \/ В) либо | (например, А | В);
d) следование (импликация) обозначается → (например, А → В);
e) тождество обозначается ≡ (например, A ≡ B). Выражение A ≡ B истинно тогда и только тогда, когда значения A и B совпадают (либо они оба истинны, либо они оба ложны);
f) символ 1 используется для обозначения истины (истинного высказывания); символ 0 – для обозначения лжи (ложного высказывания).
2. Два логических выражения, содержащих переменные, называются равносильными (эквивалентными), если значения этих выражений совпадают при любых значениях переменных. Так, выражения А → В и (А) \/ В равносильны, а А \/ В и А /\ В неравносильны (значения выражений разные, например, при А = 1, В = 0).
3. Приоритеты логических операций: инверсия (отрицание), конъюнкция (логическое умножение), дизъюнкция (логическое сложение), импликация (следование), тождество. Таким образом, А /\ В \/ С /\ D означает то же, что и ((А) /\ В) \/ (С /\ D).
Возможна запись А /\ В /\ С вместо (А /\ В) /\ С. То же относится и к дизъюнкции: возможна запись А \/ В \/ С вместо (А \/ В) \/ С.
4. Обозначения Мбайт и Кбайт используются в традиционном для информатики смысле – как обозначения единиц измерения, чьё соотношение с единицей «байт» выражается степенью двойки.
Часть 1
Ответами к заданиям 1–23 являются число, последовательность букв или цифр, которые следует записать в БЛАНК ОТВЕТОВ № 1 справа от номера соответствующего задания, начиная с первой клеточки, без пробелов, запятых и других дополнительных символов. Каждый символ пишите в отдельной клеточке в соответствии с приведёнными в бланке образцами.
Ответ: ___________________________.
? | ? | ? | F |
В ответе напишите буквы a, b, c в том порядке, в котором идут соответствующие им столбцы.
Ответ: ___________________________.
|
В |
А |
Е |
Д |
Г |
Ж |
Б |
Ответ: ___________________________.
Таблица 1
|
Таблица 2
|
Ответ: ___________________________.
Для передачи данных по каналу связи используется 5-битовый код. Сообщение содержит только буквы А, Б и В, которые кодируются следующими кодовыми словами:
А — 11000, Б — 00010, В — 10101.
При передаче возможны помехи. Однако некоторые ошибки можно попытаться исправить. Любые два из этих трёх кодовых слов отличаются друг от друга не менее чем в трёх позициях. Поэтому если при передаче слова произошла ошибка не более чем в одной позиции, то можно сделать обоснованное предположение о том, какая буква передавалась. (Говорят, что «код исправляет одну ошибку».) Например, если получено кодовое слово 01010, считается, что передавалась буква Б. (Отличие от кодового слова для Б только в одной позиции, для остальных кодовых слов отличий больше.) Если принятое кодовое слово отличается от кодовых слов для букв А, Б, В более чем в одной позиции, то считается, что произошла ошибка (она обозначается 'х').
Получено сообщение 11110 10111 10010 10000. Декодируйте это сообщение.
Ответ: ___________________________.
1) Строится двоичная запись числа N.
2) К этой записи дописываются справа ещё два разряда по следующему правилу:
а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно.
б) к этой записи справа дописывается 1, если остаток от деления количества единиц на 2 равен 0, и 0, если остаток от деления количества единиц на 2 равен 1.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, которое превышает 54 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе.
Ответ: ___________________________.
А | В | С | D | Е | F | |
Ответ: ___________________________.
C++ | Паскаль |
#include <iostream> using namespace std; int main(){ int s = 0, k = 1; while (s < 66) { k = k + 3; s = s + k; } cout << k << endl; return 0; } | var k, s: integer; begin s:=0; k:=1; while s < 66 do begin k:=k+3; s:=s+k; end; write(k); end. |
Python | Бейсик |
s = 0 k = 1 while s < 66: k = k + 1 s = s + k print(k) | DIM S, N AS INTEGER S = 0 K = 1 WHILE S < 66 K = K + 1 S = S + K WEND PRINT K |
Ответ: ___________________________.
Ответ: ___________________________.
Ответ: ___________________________.
C++ | Паскаль |
using namespace std; void F(int n){ cout << n << endl; if(n < 6){ cout << n << endl; F(n + 2); F(n * 3); } | procedure F(n: integer); begin writeln(n); if n < 6 then begin writeln(n); F(n+2); F(n*3) end end; |
Python | Бейсик |
def F(n): print(n) if n < 6: print(n) F(n + 2) F(n * 3) | SUB F(N) PRINT N IF N < 6 THEN PRINT N F(n + 2) F(n * 3) END IF END SUB |
Ответ: ___________________________.
IP-адрес: 140.37.235.224 Маска: 255.255.240.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A | B | C | D | E | F | G | H |
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A | B | C | D | E | F | G | H |
В этом случае правильный ответ будет HBAF.
Ответ: ___________________________.
Ответ: ___________________________.
Заменить (v, w)
Нашлось (v)
Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Если цепочки v в строке нет, эта команда не изменяет строку. Вторая команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение "истина", в противном случае возвращает значение "ложь".
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (111)
заменить (111, 2)
заменить (222, 3)
заменить (333, 1)
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой программы к строке вида 1…13…3 (2019 единиц и 2019 троек)?
Ответ: ___________________________.
А |
Б |
Д |
Е |
З |
И |
К |
Н |
Т |
В |
Г |
Ж |
Л |
М |
O |
Ответ: ___________________________.
Ответ: ___________________________.
Запрос | Количество страниц (тыс.) |
Пушкин | Лермонтов | 5200 |
Лермонтов | 3000 |
Пушкин & Лермонтов | 1200 |
Сколько страниц (в тысячах) будет найдено по запросу
Пушкин
Ответ: ___________________________.
((x Î A) ®(x 2£ 64)) Ù ((x 2 – 48£ 2 x) ® (x Î A))
тождественно истинна (то есть принимает значение 1 при всех вещественных значениях переменной x). Какую наименьшую длину может иметь отрезок A?
Ответ: ___________________________.
C++ | Паскаль |
for(i=0; i<=10; i = i + 1) A[i] = 2*i; for(i=0; i<=10; i = i + 1){ A[10-i] = A[i] - 1; A[i] = A[10-i] – 1; } | for i:=0 to 10 do A[i]:=2*i; for i:=0 to 4 do begin A[10-i]:=A[i]-1; A[i]:=A[10-i]-1; end; |
Python | Бейсик |
for i in range(11): A[i] = 2*i for i in range(5): A[10-i] = A[i] – 1 A[i] = A[10-i] - 1 | FOR I = 0 TO N A(I) = 2*I NEXT I FOR I = 0 TO 4 A[10-i] = A[i] – 1 A[i] = A[10-i] – 1 NEXT I |
Ответ: ___________________________.
C++ | Паскаль |
#include <iostream> using namespace std; int main(){ long int x, a, b; cin >> x; a = 0; b = 0; while(x > 0){ a = a + 1; b = b + (x % 100); x = x / 100; } cout << a << endl << b; return 0; } | var x, a, b: longint; begin readln(x); a:= 0; b:= 0; while x > 0 do begin a:= a+1; b:= b+(x mod 100); x:= x div 100; end; writeln(a); write(b); end. |
Python | Бейсик |
x = int(input()) a, b = 0, 0 while x > 0: a = a + 1 b = b + (x % 100) x = x // 100 print a print b | DIM X, A, B AS INTEGER INPUT X A = 0 B = 0 WHILE X > 0 A = A + 1 B = B + (X % 100) X = X \ 100 WEND PRINT A PRINT B |
Ответ: ___________________________.
C++ | Паскаль |
#include <iostream> using namespace std; int F(int x){ return 3*(9-x)*(9-x)+12 } int main(){ int i, b, t, N, p; a = -10; b = 10; p = 25; N = 0; for(t=a; i<=b; i=i+1) if(F(t) > p) N = N + 1; cout << N; } | var a, b, t, N, P:integer; Function F(x: integer): integer; begin F:= 3*(9-x)*(9-x)+12; end; BEGIN a:= -10; b:= 10; P:= 25; N:= 0; for t:= a to b do begin if (F(t) > P) then begin N:= N+1; end; end; write(N); END |
Python | Бейсик |
def F(x): return 3*(9-x)*(9-x)+12 a = -10b = 10p = 25N = 0for t in range(a, b+1): if F(t) > p: N = N + 1print N | DIM A, B, T, N, P AS INTEGER; A = 10 B = 10 P = 25 N = 0 FOR T=A TO B IF F(T) > P THEN N = N + 1 END IF NEXT I FUNCTION F(X) F = 3*(9-x)*9-x)+12 END FUNCTION |
Ответ: ___________________________.
Прибавить 1
Прибавить 2
Умножить на 3
Сколько существует программ, для которых при исходном числе 2 результатом является число 16 и при этом траектория вычислений содержит число 14?
Ответ: ___________________________.
((x1ºy1)®(x2ºy2)) Ù (x1®x2) Ù (y1®y2) =1
((x2ºy2)®(x3ºy3)) Ù (x2®x3) Ù (y2®y3) =1
…
((x7ºy7)®(x8ºy8)) Ù (x7®x8) Ù (y7®y8) =1
где x1,x2,…,x8, у1,у2,…,у8 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Ответ: ___________________________.
Не забудьте перенести все ответы в бланк ответов № 1 в соответствии с инструкцией по выполнению работы.
Часть 2
Для записи ответов на задания этой части (24–27) используйте БЛАНК ОТВЕТОВ № 2. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво.
Бейсик | Паскаль |
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 END IF K = K + 1 WEND 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. |
Python | C++ |
m,n = map(int,input().split())k = 1t = 1while k*k*k <= n: if k*k*k > m: t = t + 1 k = k + 1print(t) | #include <iostream> using namespace std; int main(){ int n, m, k, t; cin >> m >> n; k = 1; t = 1; while(k*k*k <= n){ if(k*k*k > m) t = t + 1; k = k + 1; } cout << t << endl; } |
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе M = 10 и N = 100.
2. Приведите пример таких чисел M и N, при вводе которых программа выведет верный ответ. Укажите этот ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.
Обратите внимание: вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
Бейсик | Паскаль |
CONST N=70 DIM A(N) AS INTEGER DIM I, J, X, Y AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END | const N=70; var a: array [1..N] of integer; i, j, x, y: integer; begin for i:=1 to N do readln(a[i]); … end. |
Python | C++ |
#допускается использовать #целочисленных переменных #j, k и sа = [] n = 70for і in range(n): a.append(int(input())) | #include <iostream> using namespace std; int main() { const int N=70; int a[N]; int i, j, x, y; for (i=0; i<N; i++) cin >> a[i]; … } |
добавить в слово две буквы Г или две буквы А