Академический Документы
Профессиональный Документы
Культура Документы
Желаем успеха!
Часть 1
3 На рисунке слева изображена схема дорог N-ского района. В таблице
Ответами к заданиям 1–23 являются число, последовательность букв звёздочкой обозначено наличие дороги из одного населённого пункта
или цифр, которые следует записать в БЛАНК ОТВЕТОВ № 1 справа от в другой. Отсутствие звёздочки означает, что такой дороги нет.
номера соответствующего задания, начиная с первой клеточки, без
пробелов, запятых и других дополнительных символов. Каждый символ Номер пункта
пишите в отдельной клеточке в соответствии с приведёнными в бланке 1 2 3 4 5 6 7
образцами. 1 * *
Номер пункта
2 * * * *
1 Сколько единиц в двоичной записи шестнадцатеричного числа E1F016? 3 * *
4 * * *
Ответ: ___________________________. 5 * * *
&%
6 * * *
7 * * *
2 Миша заполнял таблицу истинности функции (x /\ ¬y) \/ (x ≡ z) \/ ¬w, но успел
заполнить лишь фрагмент из трёх различных её строк, даже не указав, Каждому населённому пункту на схеме соответствует его номер в таблице,
какому столбцу таблицы соответствует каждая из переменных w, x, y, z. но неизвестно, какой именно номер. Определите, какие номера населённых
пунктов в таблице могут соответствовать населённым пунктам E и G на
схеме. В ответе запишите эти два номера в возрастающем порядке без
(x /\ ¬y) \/ (x ≡ z) \/ ¬w пробелов и знаков препинания.
0 1 1 0 0
0 0 Ответ: ___________________________.
1 0 1 0 &%
Ответ: ___________________________.
&%
микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и 6 На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему
об одном из его родителей. Информация представлена значением поля ID в новое число следующим образом.
соответствующей строке таблицы 1. Определите на основании приведённых 1) Строится двоичная запись числа N.
данных, у скольких детей на момент их рождения матерям было меньше 2) К этой записи дописываются справа ещё два разряда по
27 полных лет. При вычислении ответа учитывайте только информацию из следующему правилу: если N чётное, в конец числа (справа) дописываются
приведённых фрагментов таблиц. два нуля, в противном случае справа дописываются две единицы. Например,
двоичная запись 1001 числа 9 будет преобразована в 100111.
Таблица 1 Таблица 2
Полученная таким образом запись (в ней на два разряда больше, чем в записи
ID Фамилия_И.О. Пол Год_рождения ID_Родителя ID_Ребёнка исходного числа N) является двоичной записью числа – результата работы
14 Краснова Н.А. Ж 1933 24 25 данного алгоритма.
24 Кузьминых И.П. М 1934 44 25 Укажите минимальное число N, для которого результат работы алгоритма
будет больше 134. В ответе это число запишите в десятичной системе
25 Кузьминых П.И. М 1964 25 26 счисления.
26 Кузьминых П.П. М 1985 64 26
34 Красняк А.И. Ж 1955 24 34 Ответ: ___________________________.
35 Красняк В.С. Ж 1978 44 34 &%
36 Красняк С.С. М 1955 34 35 7 Дан фрагмент электронной таблицы. Из ячейки A3 в ячейку C4 была
44 Воевода А.С. Ж 1932 36 35 скопирована формула. При копировании адреса ячеек в формуле
автоматически изменились. Какова сумма числовых значений формул
45 Воевода В.А. М 1944 14 36 в ячейках A3 и C4?
46 Макаренко О.С. Ж 1980 34 46
47 Макаренко П.О. М 2000 36 46 А В С D E
54 Клычко А.П. Ж 1984 25 54 1 1 2 3 4 5
64 Крот П.А. Ж 1955 64 54 2 6 7 8 9 10
… … … … … …
3 =$C1+A$1 12 13 14 15
Ответ: ___________________________. 4 16 17 19 20
&%
Примечание. Знак $ обозначает абсолютную адресацию.
5 По каналу связи передаются сообщения, содержащие только четыре буквы: Ответ: ___________________________.
А, Б, В, Г; для передачи используется двоичный код, удовлетворяющий
условию Фано. Для букв Б, В, Г используются такие кодовые слова: Б – 101;
В – 110; Г – 0.
Укажите кратчайшее кодовое слово для буквы А, при котором код будет
допускать однозначное декодирование. Если таких кодов несколько, укажите
код с наибольшим числовым значением.
Примечание. Условие Фано означает, что никакое кодовое слово не является
началом другого кодового слова. Это обеспечивает возможность
однозначной расшифровки закодированных сообщений.
Ответ: ___________________________.
© 2020 Федеральная служба по надзору в сфере образования и науки
Открытый вариант 1 ИНФОРМАТИКА И ИКТ 4 / 13 Открытый вариант 1
&% &%
8 Запишите число, которое будет напечатано в результате выполнения 9 Музыкальный фрагмент был записан в формате квадро (четырёхканальная
следующей программы. Для Вашего удобства программа представлена на запись), оцифрован и сохранён в виде файла без использования сжатия
пяти языках программирования. данных. Размер полученного файла без учёта размера заголовка файла –
12 Мбайт. Затем тот же музыкальный фрагмент был записан повторно
Бейсик Python в формате моно и оцифрован с разрешением в 2 раза выше и частотой
DIM S, N AS INTEGER s = 175 дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных
S = 175 n = 0
N = 0 while s + n < 325:
не производилось. Укажите размер в Мбайт файла, полученного при
WHILE S + N < 325 s = s - 10 повторной записи. В ответе запишите только целое число, единицу
S = S - 10 n = n + 30 измерения писать не нужно. Искомый объём не учитывает размера заголовка
N = N + 30 print(s) файла.
WEND
PRINT S
Ответ: ___________________________.
Алгоритмический язык Паскаль
&%
#include <iostream>
using namespace std;
int main() {
int s = 175, n = 0;
while (s + n < 325) {
s = s - 10;
n = n + 30;
}
cout << s << endl;
return 0;
}
Ответ: ___________________________.
11 Ниже на пяти языках программирования записан рекурсивный алгоритм F. 12 В терминологии сетей TCP/IP маской сети называется двоичное число,
Бейсик Python определяющее, какая часть IP-адреса узла сети относится к адресу сети,
а какая – к адресу самого узла в этой сети. Обычно маска записывается
SUB F(n) def F(n):
IF n > 0 THEN if n > 0: по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый
PRINT n, print(n) байт записывается в виде десятичного числа. При этом в маске сначала
F(n - 3) F(n - 3) (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули.
F(n \ 2) F(n // 2) Адрес сети получается в результате применения поразрядной конъюнкции
END IF к заданному IP-адресу узла и маске.
END SUB
Например, если IP-адрес узла равен 231.32.255.131, а маска равна
Алгоритмический язык Паскаль 255.255.240.0, то адрес сети равен 231.32.240.0.
алг F(цел n) procedure F(n: integer);
нач begin Для узла с IP-адресом 117.191.176.37 адрес сети равен 117.191.160.0. Чему
если n > 0 то if n > 0 then равен третий слева байт маски? Ответ запишите в виде десятичного числа.
вывод n begin
F(n - 3) write(n);
F(div(n, 2)) F(n - 3); Ответ: ___________________________.
все F(n div 2) &%
кон end
end; 13 При регистрации в компьютерной системе каждому пользователю выдаётся
С++ пароль, состоящий из 25 символов и содержащий только символы из
void F(int n){
7-символьного набора: С, Д, А, М, Е, Г, Э. В базе данных для хранения
if (n > 0){ сведений о каждом пользователе отведено одинаковое и минимально
std::cout << n; возможное целое число байт. При этом используют посимвольное
F(n - 3); кодирование паролей, все символы кодируют одинаковым и минимально
F(n / 2); возможным количеством бит. Кроме собственно пароля, для каждого
}
пользователя в системе хранятся дополнительные сведения, для чего
}
выделено целое число байт; это число одно и то же для всех пользователей.
Запишите подряд без пробелов и разделителей все числа, которые будут Для хранения сведений о 50 пользователях потребовалось 1200 байт.
выведены на экран при выполнении вызова F(7). Числа должны быть Сколько байт выделено для хранения дополнительных сведений об одном
записаны в том же порядке, в котором они выводятся на экран. пользователе? В ответе запишите только целое число – количество байт.
Ответ: ___________________________.
Ответ: ___________________________.
&%
&%
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно).
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие
ложно).
15 На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, 17 В языке запросов поискового сервера для обозначения логической
Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном операции «ИЛИ» используется символ «|», а для обозначения логической
направлении, указанном стрелкой. операции «И» – символ «&».
Какова длина самого длинного пути из города А в город М? Длиной пути В таблице приведены запросы и количество найденных по ним страниц
считать количество дорог, составляющих этот путь. некоторого сегмента сети Интернет.
Найдено страниц
Запрос
(в сотнях тысяч)
Физика 46
Квант 34
Ньютон 34
Ньютон | Физика | Квант 90
Ньютон & Физика 12
Ньютон & Квант 0
Ответ: ___________________________.
Какое количество страниц (в сотнях тысяч) будет найдено по запросу
Физика & Квант?
&%
16 Значение арифметического выражения: 911×320 – 39 – 27 – записали в системе Считается, что все запросы выполнялись практически одновременно, так что
счисления с основанием 3. Сколько цифр 2 содержится в этой записи? набор страниц, содержащих все искомые слова, не изменялся за время
выполнения запросов.
Ответ: ___________________________.
&% Ответ: ___________________________.
&%
Ответ: ___________________________.
&%
19 В программе используется одномерный целочисленный массив A с 20 Ниже на пяти языках программирования записан алгоритм. Получив на вход
индексами от 0 до 11. Значения элементов массива A[i] приведены в таблице. натуральное десятичное число x, этот алгоритм печатает два числа: L и M.
Укажите наибольшее число x, при вводе которого алгоритм выводит сначала
i 0 1 2 3 4 5 6 7 8 9 10 11 2, а потом 3.
A[i] 14 13 15 8 4 12 30 21 22 16 5 9
Бейсик Python
DIM X, L, M AS INTEGER x = int(input())
Определите значение переменной s после выполнения следующего INPUT X L = 0
фрагмента этой программы (записанного ниже на пяти языках L = 0 M = 0
программирования). M = 0 while x > 0:
WHILE X > 0 M = M + 1
Бейсик Python M = M + 1 if x % 2 != 0:
IF X MOD 2 <> 0 THEN L = L + x % 8
s = 0 s = 0 L = L + X MOD 8 x = x // 8
n = 1 n = 1 END IF print(L)
FOR i = 0 TO 11 for i in range(0, 12): X = X \ 8 print(M)
IF A(i) > A(n) THEN if A[i] > A[n]: WEND
s = s + A(i) + i s += A[i] + i PRINT L
ELSE else: PRINT M
A(n) = A(i) A[n] = A[i]
END IF Алгоритмический язык Паскаль
NEXT i алг var x, L, M: integer;
нач begin
Алгоритмический язык Паскаль цел x, L, M readln(x);
s := 0 s := 0; ввод x L := 0;
n := 1 n := 1; L := 0 M := 0;
нц для i от 0 до 11 for i := 0 to 11 do M := 0 while x > 0 do
если A[i] > A[n] то if A[i] > A[n] then нц пока x > 0 begin
s := s + A[i] + i s := s + A[i] + i M := M + 1 M := M + 1;
иначе else если mod(x, 2) <> 0 if x mod 2 <> 0 then
A[n] := A[i] A[n] := A[i]; то L := L + x mod 8;
все L := L + mod(x, 8) x := x div 8
кц все end;
x := div(x, 8) writeln(L);
С++ кц writeln(M)
s = 0; вывод L, нс, M end.
n = 1; кон
for (int i = 0; i < 12; i++)
{
if (A[i] > A[n])
s += A[i] + i;
else
A[n] = A[i];
}
Ответ: ___________________________.
&%
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2.
Программа для Вычислителя – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1
результатом является число 21 и при этом траектория вычислений содержит
число 10 и не содержит числа 18?
Траектория вычислений программы – это последовательность результатов
выполнения всех команд программы. Например, для программы 121
при исходном числе 7 траектория будет состоять из чисел 8, 16, 17.
Ответ: ___________________________.
&%
С++
Часть 2 #include <iostream>
Для записи ответов на задания этой части (24–27) используйте БЛАНК using namespace std;
ОТВЕТОВ № 2. Запишите сначала номер задания (24, 25 и т. д.), а затем
полное решение. Ответы записывайте чётко и разборчиво. int main()
{
long int N;
24 Требовалось написать программу, которая получает на вход натуральное int R, d;
cin >> N;
число N, не превосходящее 109, и выводит число, равное количеству цифр 4
R = 0;
в десятичной записи числа N. Программист написал программу while (N > 0) {
неправильно. Ниже эта написанная им программа для Вашего удобства d = N % 10;
приведена на пяти языках программирования. if (d != 4) {
R = R + d;
Бейсик Python }
DIM N AS LONG N = int(input()) N = N / 10;
DIM R, d AS INTEGER R = 0 }
INPUT N while N > 0: cout << R << endl;
R = 0 d = N % 10 return 0;
WHILE N > 0 if d != 4: }
d = N MOD 10 R = R + d
IF d <> 4 THEN N = N // 10 Последовательно выполните следующее.
R = R + d print(R) 1. Напишите, что выведет эта программа при вводе числа 241.
END IF 2. Приведите пример входного числа N, при котором приведённая программа,
N = N \ 10
WEND
несмотря на ошибки, выдаёт верный ответ.
PRINT R 3. Найдите допущенные программистом ошибки и исправьте их.
END Исправление ошибки должно затрагивать только строку, в которой находится
Алгоритмический язык Паскаль ошибка. Для каждой ошибки:
алг var N: longint; 1) выпишите строку, в которой сделана ошибка;
нач R, d: integer; 2) укажите, как исправить ошибку, т.е. приведите правильный вариант
цел N, R, d begin строки.
ввод N readln(N);
R := 0 R := 0;
Известно, что в тексте программы нужно исправить не более двух строк так,
нц пока N > 0 while N > 0 do begin чтобы она стала работать правильно.
d := mod(N, 10) d := N mod 10; Достаточно указать ошибки и способ их исправления для одного языка
если d <> 4 то if d <> 4 then программирования.
R := R + d R := R + d; Обратите внимание на то, что требуется найти ошибки в имеющейся
все N := N div 10;
программе, а не написать свою, возможно, использующую другой алгоритм
N := div(N, 10) end;
кц writeln(R); решения.
вывод R end. &%
кон
25 Дан целочисленный массив из 30 элементов. Элементы массива могут Алгоритмический язык Паскаль
принимать целые значения от 0 до 10 000 включительно. Опишите на одном алг const
из языков программирования алгоритм, который находит количество нач N = 30;
цел N = 30 var
элементов массива, больших 100 и при этом не кратных 4, а затем заменяет целтаб a[1:N] a: array [1..N] of longint;
каждый такой элемент на число, равное найденному количеству. цел i, j, k i, j, k: longint;
Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве нц для i от 1 до N begin
результата необходимо вывести изменённый массив, каждый элемент ввод a[i] for i := 1 to N do
выводится с новой строчки. кц readln(a[i]);
... ...
Например, для исходного массива из шести элементов:
141 кон end.
256
92 C++
148 #include <iostream>
511 using namespace std;
const int N = 30;
4 int main() {
программа должна вывести следующий массив: long a[N];
2 long i, j, k;
256 for (i = 0; i < N; i++)
92 cin >> a[i];
...
148 return 0;
2 }
4
В качестве ответа Вам необходимо привести фрагмент программы, который
должен находиться на месте многоточия. Вы можете записать решение также
Исходные данные объявлены так, как показано ниже на примерах для пяти
на другом языке программирования (укажите название и используемую
языков программирования. Запрещается использовать переменные, не
версию языка программирования, например Free Pascal 2.6). В этом случае
описанные ниже, но разрешается не использовать некоторые из описанных
Вы должны использовать те же самые исходные данные и переменные, какие
переменных.
были предложены в условии (например, в образце, записанном на
Бейсик Python Алгоритмическом языке).
CONST N AS INTEGER = 30 # допускается также
DIM A (1 TO N) AS LONG # использовать две
DIM I AS LONG, # целочисленные переменные j и k
J AS LONG, a = []
K AS LONG n = 30
for i in range(0, n):
FOR I = 1 TO N a.append(int(input()))
INPUT A(I) ...
NEXT I
...
END