SlideShare uma empresa Scribd logo
1 de 205
Baixar para ler offline
4
Инструкция по выполнению работы
Работа состоит из двух частей, включающих в себя 27 заданий. Часть 1
содержит 23 задания с кратким ответом. Часть 2 содержит 4 задания
с развёрнутым ответом.
На выполнение работы отводится 3 часа 55 минут (235 минут).
Ответы к заданиям 1–23 записываются в виде числа,
последовательности букв или цифр.
Для выполнения заданий 24–27 Вам необходимо написать развёрнутый
ответ в произвольной форме.
При выполнении заданий можно пользоваться черновиком. Записи
в черновике не учитываются при оценивании работы.
Баллы, полученные Вами за выполненные задания, суммируются.
Постарайтесь выполнить как можно больше заданий и набрать наибольшее
количество баллов.
Желаем успеха!
5
В заданиях используются следующие соглашения.
1. Обозначения для логических связок (операций):
a) отрицание (инверсия, логическое НЕ) обозначается ¬ (например, ¬А);
b) конъюнкция (логическое умножение, логическое И) обозначается /
(например, А / В) либо & (например, А & В);
c) дизъюнкция (логическое сложение, логическое ИЛИ) обозначается /
(например, А / В) либо | (например, А | В);
d) следование (импликация) обозначается → (например, А → В);
e) тождество обозначается ≡ (например, A ≡ B); выражение A ≡ B истинно
тогда и только тогда, когда значения A и B совпадают (либо они оба
истинны, либо они оба ложны);
f) символ 1 используется для обозначения истины (истинного высказывания);
символ 0 – для обозначения лжи (ложного высказывания).
2. Два логических выражения, содержащие переменные, называются
равносильными (эквивалентными), если значения этих выражений совпадают
при любых значениях переменных. Так, выражения А → В и (¬А) / В
равносильны, а А / В и А / В неравносильны (значения выражений разные,
например, при А = 1, В = 0).
3. Приоритеты логических операций: инверсия (отрицание), конъюнкция
(логическое умножение), дизъюнкция (логическое сложение), импликация
(следование), тождество. Таким образом, ¬А / В / С / D означает то же, что
и ((¬А) / В) / (С / D).
Возможна запись А / В / С вместо (А / В) / С. То же относится и
к дизъюнкции: возможна запись А / В / С вместо (А / В) / С.
4. Обозначения Мбайт и Кбайт используются в традиционном для информа-
тики смысле – как обозначения единиц измерения, соотношение которых
с единицей «байт» выражается степенью двойки.
6
Вариант 1
Часть 1
Ответами к заданиям 1–23 являются число, последовательность букв
или цифр. Запишите ответы в указанном месте без пробелов, запятых и
других дополнительных символов.
Вычислите: 101011102 – 2568 + A16.
Ответ запишите в десятичной системе счисления. В ответе запишите только
число, основание системы счисления писать не нужно.
Ответ: ___________________________.
Логическая функция F задаётся выражением
¬y / (x / ¬z).
Ниже приведён фрагмент таблицы истинности функции F, содержащий все
наборы аргументов, при которых функция F истинна.
Определите, какому столбцу таблицы истинности функции F соответствует
каждая из переменных x, y, z.
Переменная 1 Переменная 2 Переменная 3 Функция
??? ??? ??? F
0 0 0 1
0 1 0 1
0 1 1 1
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие
им столбцы (сначала буква, соответствующая первому столбцу, затем буква,
соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд,
никаких разделителей между буквами ставить не нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x
и y, и таблица истинности.
Переменная 1 Переменная 2 Функция
??? ??? F
0 0 1
0 1 0
1 0 1
1 1 1
Тогда первому столбцу соответствует переменная y, а второму столбцу
соответствует переменная x. В ответе нужно написать yx.
Ответ: ___________________________.
1
2
Вариант 1
7
На рисунке схема дорог Н-ского района изображена в виде графа, в таблице
содержатся сведения о длине этих дорог в километрах.
   П1  П2 П3 П4 П5 П6 П7 П8 
П1  15   20      18  
П2  15   25         
П3     25       24 22 
П4  20            12  
П5            13 16 17  
П6       24   13 15 
П7        12 16    
П8  18      22    17 15
Так как таблицу и схему рисовали независимо друг от друга, нумерация
населённых пунктов в таблице никак не связана с буквенными
обозначениями на графе. Определите длину дороги из пункта В в пункт Е.
В ответе запишите целое число.
ВНИМАНИЕ! Длины отрезков на схеме не отражают длины дорог.
Ответ: ___________________________.
3
Вариант 1
8
В фрагменте базы данных представлены сведения о родственных
отношениях. На основании приведённых данных определите
идентификационный номер (ID) родной сестры Ландау М.А.
Таблица 1 Таблица 2
ID Фамилия_И.О. Пол ID_Родителя ID_Ребёнка
2272 Диковец А.Б. Ж 2227 2272
2228 Диковец Б.Ф. М 2227 2299
2299 Диковец И.Б. М 2228 2272
2378 Диковец П.И. М 2228 2299
2356 Диковец Т.И. Ж 2272 2240
2265 Тесла А.И. Ж 2272 1202
2331 Тесла А.П. М 2272 1217
2261 Тесла Л.А. Ж 2299 2356
1217 Тесла П.А. М 2299 2378
1202 Ландау М.А. Ж 2322 2356
2227 Решко Д.А. Ж 2322 2378
2240 Решко В.А. Ж 2331 2240
2246 Месяц К.Г. М 2331 1202
2387 Лукина Р.Г. Ж 2331 1217
2293 Фокс П.А. Ж 2387 2261
2322 Друк Г.Р. Ж 2387 2293
… … … … …
Ответ: ___________________________.
По каналу связи передаются сообщения, содержащие только шесть букв:
А, B, C, D, E, F. Для передачи используется неравномерный двоичный код,
удовлетворяющий условию Фано. Для букв A, B, C используются такие
кодовые слова: А – 11, B – 101, C – 0.
Укажите кодовое слово наименьшей возможной длины, которое можно
использовать для буквы F. Если таких слов несколько, укажите то из них,
которое соответствует наименьшему возможному двоичному числу.
Примечание. Условие Фано означает, что ни одно кодовое слово не является
началом другого кодового слова. Коды, удовлетворяющие условию Фано,
допускают однозначное декодирование.
Ответ: ___________________________.
4
5
Вариант 1
9
Автомат получает на вход четырёхзначное десятичное число, в котором все
цифры нечётные. По этому числу строится новое число по следующим
правилам.
1. Складываются первая и вторая, а также третья и четвёртая цифры.
2. Полученные два числа записываются друг за другом в порядке
неубывания (без разделителей).
Пример. Исходное число: 7511. Суммы: 7 + 5 = 12; 1 + 1 = 2. Результат: 212.
Сколько существует чисел, в результате обработки которых автомат выдаст
число 616?
Ответ: ___________________________.
В некоторые ячейки электронной таблицы записаны числа, как показано на
рисунке.
A B C D E F
1 0 1 2 3 4 5
2 10
3 20
4 30
5 40
6 50
В ячейке D3 записали формулу =$A3–D$1. После этого ячейку D3
скопировали в ячейку E6. Какое число будет показано в ячейке E6?
Примечание. Знак $ используется для обозначения абсолютной адресации.
Ответ: ___________________________.
Запишите число, которое будет напечатано в результате выполнения
следующей программы. Для Вашего удобства программа представлена
на пяти языках программирования.
Бейсик Python
DIM S, N AS INTEGER
S = 0
N = 1
WHILE S < 165
S = S + 15
N = N * 2
WEND
PRINT N
s = 0
n = 1
while s < 165:
s = s + 15
n = n * 2
print(n)
6
7
8
Вариант 1
10
Алгоритмический язык Паскаль
алг
нач
цел s, n
s := 0
n := 1
нц пока s < 165
s := s + 15
n := n * 2
кц
вывод n
кон
var s, n: integer;
begin
s := 0;
n := 1;
while s < 165 do
begin
s := s + 15;
n := n * 2
end;
writeln(n)
end.
Си
#include <stdio.h>
int main()
{
int s = 0;
int n = 1;
while (s < 165) {
s = s + 15;
n = n * 2;
}
printf("%dn", n);
return 0;
}
Ответ: ___________________________.
Производится двухканальная (стерео) звукозапись с частотой дискретизации
32 кГц и 32-битным разрешением. Результаты записываются в файл, сжатие
данных не производится; размер полученного файла – 90 Мбайт. Определите
приблизительно время записи (в минутах). В качестве ответа укажите
ближайшее ко времени записи целое число.
Ответ: ___________________________.
Иван составляет таблицу кодовых слов для передачи сообщений, каждому
сообщению соответствует своё кодовое слово. В качестве кодовых слов Иван
использует все пятибуквенные слова в алфавите {A, B, C, D, E},
удовлетворяющие такому условию: кодовое слово не может начинаться
с буквы E и не может заканчиваться буквой A. Сколько различных кодовых
слов может использовать Иван?
Ответ: ___________________________.
9
10
Вариант 1
11
Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1) + F(n-2)
ELSE
G = 3-n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n-1) + G(n-2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n-1) + F(n-2)
else
G := 3-n;
end;
Си Алгоритмический язык
int F(int n) {
if (n > 2)
return F(n-1) + G(n-2);
else return n;
}
int G(int n) {
if (n > 2)
return G(n-1) + F(n-2);
else return 3-n;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1) + G(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1) + F(n-2)
иначе
знач := 3-n
все
кон
Python
def F(n):
if n > 2:
return F(n-1) + G(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1) + F(n-2)
else: return 3-n
Чему будет равно значение, вычисленное при выполнении вызова G(6)?
Ответ: ___________________________.
11
Вариант 1
12
В терминологии сетей TCP/IP маской сети называется двоичное число,
определяющее, какая часть IP-адреса узла сети относится к адресу сети, а
какая – к адресу самого узла в этой сети. При этом в двоичном представлении
маски сначала (в старших разрядах) стоят единицы, а затем с некоторого
разряда – нули. Обычно маска записывается по тем же правилам, что и
IP-адрес, – в виде четырёх байт, причём каждый байт записывается в виде
десятичного числа. Адрес сети получается в результате применения
поразрядной конъюнкции к IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна
255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 218.159.208.24 адрес сети равен 218.159.192.0. Чему
равно наибольшее возможное значение третьего слева байта маски? Ответ
запишите в виде десятичного числа.
Ответ: ___________________________.
При регистрации в компьютерной системе каждому пользователю выдаётся
пароль, состоящий из 20 символов и содержащий только заглавные буквы
латинского алфавита – всего 26 возможных символов. В базе данных для
хранения сведений о каждом пользователе отведено одинаковое
минимально возможное целое число байт. При этом используют
посимвольное кодирование паролей, все символы кодируют одинаковым
минимально возможным количеством бит. Кроме собственно пароля для
каждого пользователя в системе хранятся дополнительные сведения, для чего
выделено целое число байт, одно и то же для всех пользователей.
Для хранения сведений о 25 пользователях потребовалось 500 байт. Сколько
байт выделено для хранения дополнительных сведений об одном
пользователе? В ответе запишите только целое число – количество байт.
Ответ: ___________________________.
Исполнитель Редактор получает на вход строку цифр и преобразует её.
Редактор может выполнять две команды, в обеих командах v и w обозначают
цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на
цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить
(v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя
Редактор. Если она встречается, то команда возвращает логическое значение
«истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
12
13
14
Вариант 1
13
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Ниже приведена программа для исполнителя Редактор.
НАЧАЛО
ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999)
заменить (19, 2)
заменить (299, 3)
заменить (3999, 1)
КОНЕЦ ПОКА
КОНЕЦ
На вход этой программе подаётся строка длины 101, состоящая из цифры 2,
за которой следуют 100 идущих подряд цифр 9.
Какая строка получится в результате применения программы к этой строке?
Ответ: ___________________________.
На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К,
Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном
направлении, указанном стрелкой.
Сколько существует различных путей из города А в город Т?
Ответ: ___________________________.
А
Б
Е М Н Т
П
РЛ
Д
В
Г
К
15
Вариант 1
14
Восьмеричное число 77 в некоторой системе счисления записывается как 53.
Определите основание системы счисления.
Ответ: ___________________________.
В языке запросов поискового сервера для обозначения логической операции
«ИЛИ» используется символ «|», а для логической операции «И» – символ
«&».
В таблице приведены запросы и количество найденных по ним страниц
некоторого сегмента сети Интернет.
Запрос
Найдено страниц
(в тысячах)
Сириус & Вега 260
Вега & (Сириус | Арктур) 467
Сириус & Вега & Арктур 119
Какое количество страниц (в тысячах) будет найдено по запросу
Вега & Арктур ?
Считается, что все запросы выполнялись практически одновременно, так что
набор страниц, содержащих все искомые слова, не изменялся за время
выполнения запросов.
Ответ: ___________________________.
Обозначим через m & n поразрядную конъюнкцию неотрицательных целых
чисел m и n. Например, 14 & 5 = 11102 & 01012 = 01002 = 4.
Для какого наименьшего неотрицательного целого числа А формула
x&33 = 0 → (x&45≠0 → x&А ≠ 0)
тождественно истинна (т. е. принимает значение 1 при любом
неотрицательном целом значении переменной х)?
Ответ: ___________________________.
16
17
18
Вариант 1
15
В программе используется одномерный целочисленный массив A
с индексами от 0 до 10. Значения элементов равны 4, 3, 16, 24, 35, 18, 4, 72,
10, 99, 44 соответственно, т. е. A[0] = 4, A[1] = 3 и т. д.
Определите значение переменной c после выполнения следующего
фрагмента программы, записанного ниже на пяти языках программирования.
Бейсик Python
c = 0
FOR i = 1 TO 9
IF A(i) MOD 10 = A(0) THEN
c = c + 1
t = A(i+1)
A(i+1) = A(i)
A(i) = t
END IF
NEXT i
c = 0
for i in range(1,10):
if A[i]%10 == A[0]:
c = c + 1
t = A[i+1]
A[i+1] = A[i]
A[i] = t
Алгоритмический язык Паскаль
c := 0
нц для i от 1 до 9
если mod(A[i],10) = A[0] то
c := c + 1
t := A[i+1]
A[i+1] := A[i]
A[i] := t
все
кц
c := 0;
for i := 1 to 9 do begin
if A[i] mod 10 = A[0] then
begin
c := c + 1;
t := A[i+1];
A[i+1] := A[i];
A[i] := t;
end;
end;
Си
c = 0;
for (i = 1; i < 10; i++) {
if (A[i]%10 == A[0]) {
c++;
t = A[i+1];
A[i+1] = A[i];
A[i] = t;
}
}
Ответ: ___________________________.
Ниже на пяти языках программирования записан алгоритм. Получив на вход
число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите
наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм
печатает 30.
19
20
Вариант 1
16
Бейсик Python
DIM X, L, M AS INTEGER
INPUT X
L = 2*X-30
M = 2*X+30
WHILE L <> M
IF L > M THEN
L = L - M
ELSE
M = M - L
END IF
WEND
PRINT M
x = int(input())
L = 2*x-30
M = 2*x+30
while L != M:
if L > M:
L = L - M
else:
M = M - L
print(M)
Алгоритмический язык Паскаль
алг
нач
цел x, L, M
ввод x
L := 2*x-30
M := 2*x+30
нц пока L <> M
если L > M
то
L := L - M
иначе
M := M - L
все
кц
вывод M
кон
var x, L, M: integer;
begin
readln(x);
L := 2*x-30;
M := 2*x+30;
while L <> M do begin
if L > M then
L := L - M
else
M := M - L;
end;
writeln(M);
end.
Си
#include <stdio.h>
int main()
{
int x, L, M;
scanf("%d", &x);
L = 2*x-30;
M = 2*x+30;
while (L != M) {
if (L > M)
L = L - M;
else
M = M - L;
}
printf("%d", M);
return 0;
}
Ответ: ___________________________.
Вариант 1
17
Определите число, которое напечатает программа. Для Вашего удобства
программа приведена на пяти языках программирования.
Бейсик Python
DIM I AS LONG
I = 1
WHILE F(I) < G(I)
I = I * 2
WEND
PRINT I
FUNCTION F(N)
F = N * N * N
END FUNCTION
FUNCTION G(N)
G = 1000*N*N + 3
END FUNCTION
def f(n):
return n*n*n
def g(n):
return 1000*n*n + 3
i = 1
while f(i) < g(i):
i*=2
print (i)
Алгоритмический язык Паскаль
алг
нач
цел i
i := 1
нц пока f(i) < g(i)
i := i * 2
кц
вывод i
кон
алг цел f(цел n)
нач
знач := n * n * n
кон
алг цел g(цел n)
нач
знач := 1000*n*n + 3
кон
var
i : longint;
function f(n: longint): longint;
begin
f := n * n * n;
end;
function g(n: longint): longint;
begin
g := 1000*n*n + 3;
end;
begin
i := 1;
while f(i) < g(i) do
i := i*2;
writeln(i)
end.
21
Вариант 1
18
Си
#include <stdio.h>
long f(long n) {
return n * n * n;
}
long g(long n) {
return 1000*n * n + 3;
}
int main()
{
long i;
i = 1;
while (f(i) < g(i))
i = i*2;
printf("%ld", i);
return 0;
}
Ответ: ___________________________.
Исполнитель Осень16 преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
1) прибавить 1;
2) прибавить 2;
3) прибавить 3.
Первая команда увеличивает число на экране на 1, вторая увеличивает его
на 2, третья – увеличивает на 3.
Программа для исполнителя Осень16 – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1
результатом является число 15 и при этом траектория вычислений содержит
число 8?
Траектория вычислений программы – это последовательность результатов
выполнения всех команд программы. Например, для программы 121 при
исходном числе 7 траектория будет состоять из чисел 8, 10, 11.
Ответ: ___________________________.
Сколько существует различных наборов значений логических переменных x1,
x2, x3, x4, x5, x6, x7, x8, которые удовлетворяют всем перечисленным ниже
условиям:
((x1 → x2) → (x3 → x4)) / ((x3 → x4) → (x5 → x6)) / ((x5 → x6) → (x7 → x8)) = 1;
x1 / x3 / x5 / x7 = 1?
В ответе не нужно перечислять все различные наборы значений переменных
x1, x2, x3, x4, x5, x6, x7, x8, при которых выполнена данная система равенств.
В качестве ответа Вам нужно указать количество таких наборов.
Ответ: ___________________________.
22
23
Вариант 1
19
Часть 2
Для записи ответов на задания этой части (24–27) используйте
отдельный лист. Запишите сначала номер задания (24, 25 и т. д.),
а затем полное решение. Ответы записывайте чётко и разборчиво.
Дано натуральное число N > 10, в десятичной записи которого нет нулей.
Необходимо определить максимальное двузначное число, которое можно
увидеть в десятичной записи N. Например, для N = 1984 нужно получить
результат 98, а для N = 271 828 – результат 82.
Для решения этой задачи ученик написал программу, но, к сожалению, его
программа неправильная.
Ниже эта программа для Вашего удобства приведена на пяти языках
программирования.
Бейсик Python
DIM N, K AS INTEGER
INPUT N
K = 0
WHILE N > 100
IF N MOD 100 > K THEN
K = N MOD 100
END IF
N = N  100
WEND
PRINT K
END
n = int(input())
k = 0
while n > 100:
if n%100 > k:
k = n%100
n = n // 100
print(k)
Алгоритмический язык Паскаль
алг
нач
цел n, k
ввод n
k := 0
нц пока n > 100
если mod(n,100) > k
то k:=mod(n,100)
все
n:=div(n,100)
кц
вывод k
кон
var n, k: integer;
begin
read(n);
k := 0;
while n > 100 do begin
if n mod 100 > k
then k := n mod 100;
n := n div 100;
end;
writeln(k)
end.
24
Вариант 1
20
Си
#include <stdio.h>
int main(){
int n, k;
scanf("%d", &n);
k = 0;
while (n > 100) {
if (n%100 > k)
k = n%100;
n = n/100;
}
printf("%d", k);
return 0;
}
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 9876.
2. Приведите два возможных значения N, при вводе которых программа
выведет верный ответ. Укажите этот ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и
приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка
программирования.
Обратите внимание: Вам нужно исправить приведённую программу, а не
написать свою. Вы можете только заменять ошибочные строки, но не можете
удалять строки или добавлять новые. Заменять следует только ошибочные
строки: за исправления, внесённые в строки, не содержащие ошибок, баллы
будут снижаться.
Вариант 1
21
Дан массив, содержащий 2016 положительных целых чисел, не
превышающих 1000. Необходимо найти и вывести максимальный из тех
элементов этого массива, шестнадцатеричная запись которых заканчивается
символом B. Если таких чисел в массиве нет, ответ считается равным нулю.
Исходные данные объявлены так, как показано ниже. Запрещается
использовать переменные, не описанные ниже, но разрешается не
использовать часть из описанных переменных.
Бейсик Python
CONST N=2016
DIM A(N) AS INTEGER
DIM I, M, K AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
…
END
# допускается также использо-
# вание целочисленных
# переменных m, k
a = []
N = 2016
for i in range(0, N):
a.append(int(input()))
…
Алгоритмический язык Паскаль
алг
нач
цел N=2016
целтаб a[1:N]
цел i, m, k
нц для i от 1 до N
ввод a[i]
кц
…
кон
const
N=2016;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);
…
end.
Си
#include <stdio.h>
#define N 2016
int main(){
int a[N];
int i, m, k;
for (i=0; i<N; i++)
scanf("%d", &a[i]);
…
return 0;
}
В качестве ответа Вам необходимо привести фрагмент программы, который
должен находиться на месте многоточия. Вы можете записать решение также
на другом языке программирования (укажите название и версию языка
программирования). В этом случае Вы должны использовать те же самые
исходные данные и переменные, какие были предложены в условии.
25
Вариант 1
22
Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит
куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход
игрок может добавить в кучу один камень или увеличить количество камней
в куче в три раза. Например, имея кучу из 15 камней, за один ход можно
получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать ходы,
есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится
не менее 33. Если при этом в куче оказалось не более 89 камней, то
победителем считается игрок, сделавший последний ход. В противном случае
победителем становится его противник. Например, если в куче было 30
камней и Паша утроит количество камней в куче, то игра закончится и
победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 32.
Будем говорить, что игрок имеет выигрышную стратегию, если он может
выиграть при любых ходах противника. Описать стратегию игрока –
значит описать, какой ход он должен сделать в любой ситуации, которая
ему может встретиться при различной игре противника.
Выполните следующие задания.
1. а) При каких значениях числа S Паша может выиграть в один ход?
Укажите все такие значения и соответствующие ходы Паши.
б) У кого из игроков есть выигрышная стратегия при S = 31; 30; 29?
Опишите выигрышные стратегии для этих случаев.
2. У кого из игроков есть выигрышная стратегия при S = 10; 9? Опишите
соответствующие выигрышные стратегии.
3. У кого из игроков есть выигрышная стратегия при S = 8? Постройте
дерево всех партий, возможных при этой выигрышной стратегии
(в виде рисунка или таблицы). На рёбрах дерева указывайте, кто
делает ход, в узлах – количество камней в позиции.
Дан набор из N целых положительных чисел. Необходимо выбрать из набора
произвольное количество чисел так, чтобы их сумма была как можно больше
и при этом не делилась на 6. В ответе нужно указать количество выбранных
чисел и их сумму, сами числа выводить не надо. Если получить нужную
сумму невозможно, считается, что выбрано 0 чисел и их сумма равна 0.
Напишите эффективную по времени и по памяти программу для решения
этой задачи.
Программа считается эффективной по времени, если при увеличении
количества исходных чисел N в k раз время работы программы увеличивается
не более чем в k раз.
Программа считается эффективной по памяти, если память, необходимая для
хранения всех переменных программы, не превышает 1 килобайт и не
увеличивается с ростом N.
26
27
Вариант 1
23
Максимальная оценка за правильную (не содержащую синтаксических
ошибок и дающую правильный ответ при любых допустимых входных
данных) программу, эффективную по времени и по памяти, – 4 балла.
Максимальная оценка за правильную программу, эффективную только по
времени или только по памяти, – 3 балла.
Максимальная оценка за правильную программу, не удовлетовряющую
требованиям эффективности, – 2 балла.
Вы можете сдать одну или две программы решения задачи. Если Вы сдадите
две программы, каждая из них будет оцениваться независимо от другой,
итоговой станет бо́льшая из двух оценок.
Перед текстом программы кратко опишите алгоритм решения. Укажите
использованный язык программирования и его версию.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000).
В каждой из последующих N строк записано одно натуральное число, не
превышающее 10 000.
Пример входных данных:
3
1
2
3
В результате работы программа должна вывести два числа: сначала
количество выбранных чисел, затем их сумму.
Пример выходных данных для приведённого выше примера входных данных:
2 5
В данном случае из предложенного набора нужно выбрать два числа (2 и 3),
их сумма равна 5.
24
Вариант 2
Часть 1
Ответами к заданиям 1–23 являются число, последовательность букв
или цифр. Запишите ответы в указанном месте без пробелов, запятых и
других дополнительных символов.
Вычислите: 101011012 – 2558 + D16.
Ответ запишите в десятичной системе счисления. В ответе запишите только
число, основание системы счисления писать не нужно.
Ответ: ___________________________.
Логическая функция F задается выражением
¬z / (¬x / y).
Ниже приведён фрагмент таблицы истинности функции F, содержащий все
наборы аргументов, при которых функция F истинна.
Определите, какому столбцу таблицы истинности функции F соответствует
каждая из переменных x, y, z.
Переменная 1 Переменная 2 Переменная 3 Функция
??? ??? ??? F
0 0 0 1
0 0 1 1
0 1 1 1
В ответе напишите буквы x, y, z в том порядке, в котором идут
соответствующие им столбцы (сначала буква, соответствующая первому
столбцу, затем буква, соответствующая второму столбцу, и т. д.). Буквы
в ответе пишите подряд, никаких разделителей между буквами ставить не
нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x
и y, и таблица истинности.
Переменная 1 Переменная 2 Функция
??? ??? F
0 0 1
0 1 0
1 0 1
1 1 1
Тогда первому столбцу соответствует переменная y, а второму столбцу
соответствует переменная x. В ответе нужно написать yx.
Ответ: ___________________________.
1
2
Вариант 2
25
На рисунке схема дорог Н-ского района изображена в виде графа, в таблице
содержатся сведения о длине этих дорог в километрах.
  П1  П2 П3 П4 П5 П6 П7 П8
П1  15   20     18
П2  15  25        
П3    25     24 22
П4  20          12  
П5          13 16 17
П6      24   13 15
П7        12 16    
П8  18    22   17 15
Так как таблицу и схему рисовали независимо друг от друга, нумерация
населённых пунктов в таблице никак не связана с буквенными
обозначениями на графе. Определите длину дороги из пункта Е в пункт Л.
В ответе запишите целое число.
ВНИМАНИЕ! Длины отрезков на схеме не отражают длины дорог.
Ответ: ___________________________.
3
Вариант 2
26
Во фрагменте базы данных представлены сведения о родственных
отношениях. На основании приведённых данных определите
идентификационный номер (ID) родного брата Ландау М.А.
Таблица 1 Таблица 2
ID Фамилия_И.О. Пол ID_Родителя ID_Ребёнка
2272 Диковец А.Б. Ж 2227 2272
2228 Диковец Б.Ф. М 2227 2299
2299 Диковец И.Б. М 2228 2272
2378 Диковец П.И. М 2228 2299
2356 Диковец Т.И. Ж 2272 2240
2265 Тесла А.И. Ж 2272 1202
2331 Тесла А.П. М 2272 1259
2261 Тесла Л.А. Ж 2299 2356
1259 Тесла П.А. М 2299 2378
1202 Ландау М.А. Ж 2322 2356
2227 Решко Д.А. Ж 2322 2378
2240 Решко В.А. Ж 2331 2240
2246 Месяц К.Г. М 2331 1202
2387 Лукина Р.Г. Ж 2331 1259
2293 Фокс П.А. Ж 2387 2261
2322 Друк Г.Р. Ж 2387 2293
… … … … …
Ответ: ___________________________.
По каналу связи передаются сообщения, содержащие только шесть букв:
А, B, C, D, E, F. Для передачи используется неравномерный двоичный код,
удовлетворяющий условию Фано. Для букв A, B, C используются такие
кодовые слова: А – 11, B – 101, C – 0.
Укажите кодовое слово наименьшей возможной длины, которое можно
использовать для буквы F. Если таких слов несколько, укажите то из них,
которое соответствует наибольшему возможному двоичному числу.
Примечание. Условие Фано означает, что ни одно кодовое слово не является
началом другого кодового слова. Коды, удовлетворяющие условию Фано,
допускают однозначное декодирование.
Ответ: ___________________________.
4
5
Вариант 2
27
Автомат получает на вход четырёхзначное десятичное число, в котором все
цифры нечётные. По этому числу строится новое число по следующим
правилам.
1. Складываются первая и вторая, а также третья и четвёртая цифры.
2. Полученные два числа записываются друг за другом в порядке
неубывания (без разделителей).
Пример. Исходное число: 7511. Суммы: 7+5 = 12; 1+1 = 2. Результат: 212.
Сколько существует чисел, в результате обработки которых автомат выдаст
число 414?
Ответ: ___________________________.
В некоторые ячейки электронной таблицы записаны числа, как показано на
рисунке.
A B C D E F
1 0 1 2 3 4 5
2 10
3 20
4 30
5 40
6 50
В ячейке D3 записали формулу =$A3 – D$1. После этого ячейку D3
скопировали в ячейку C5. Какое число будет показано в ячейке C5?
Примечание. Знак $ используется для обозначения абсолютной адресации.
Ответ: ___________________________.
Запишите число, которое будет напечатано в результате выполнения
следующей программы. Для Вашего удобства программа представлена
на пяти языках программирования.
Бейсик Python
DIM S, N AS INTEGER
S = 0
N = 1
WHILE S < 150
S = S + 15
N = N * 2
WEND
PRINT N
s = 0
n = 1
while s < 150:
s = s + 15
n = n * 2
print(n)
6
7
8
Вариант 2
28
Алгоритмический язык Паскаль
алг
нач
цел s, n
s := 0
n := 1
нц пока s < 150
s := s + 15
n := n * 2
кц
вывод n
кон
var s, n: integer;
begin
s := 0;
n := 1;
while s < 150 do
begin
s := s + 15;
n := n * 2
end;
writeln(n)
end.
Си
#include <stdio.h>
int main()
{
int s = 0;
int n = 1;
while (s < 150) {
s = s + 15;
n = n * 2;
}
printf("%dn", n);
return 0;
}
Ответ: ___________________________.
Производится четырёхканальная (квадро) звукозапись с частотой
дискретизации 32 кГц и 32-битным разрешением. Результаты записываются
в файл, сжатие данных не производится; размер полученного файла –
90 Мбайт. Определите приблизительно время записи (в минутах). В качестве
ответа укажите ближайшее к времени записи целое число.
Ответ: ___________________________.
Пётр составляет таблицу кодовых слов для передачи сообщений, каждому
сообщению соответствует своё кодовое слово. В качестве кодовых слов Пётр
использует все пятибуквенные слова в алфавите {A, B, C, D, E, F},
удовлетворяющие такому условию: кодовое слово не может начинаться
с буквы F и не может заканчиваться буквой A. Сколько различных кодовых
слов может использовать Пётр?
Ответ: ___________________________.
9
10
Вариант 2
29
Ниже на пяти языках программирования записаны рекурсивные функции F и G.
Бейсик Паскаль
FUNCTION F(n)
IF n > 2 THEN
F = F(n-1) + G(n-2)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 2 THEN
G = G(n-1) + F(n-2)
ELSE
G = 3-n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 2 then
F := F(n-1) + G(n-2)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 2 then
G := G(n-1) + F(n-2)
else
G := 3-n;
end;
Си Алгоритмический язык
int F(int n) {
if (n > 2)
return F(n-1) + G(n-2);
else return n;
}
int G(int n) {
if (n > 2)
return G(n-1) + F(n-2);
else return 3-n;
}
алг цел F(цел n)
нач
если n > 2
то
знач := F(n-1) + G(n-2)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 2
то
знач := G(n-1) + F(n-2)
иначе
знач := 3-n
все
кон
Python
def F(n):
if n > 2:
return F(n-1) + G(n-2)
else: return n
def G(n):
if n > 2:
return G(n-1) + F(n-2)
else: return 3-n
Чему будет равно значение, вычисленное при выполнении вызова F(6)?
Ответ: ___________________________.
11
Вариант 2
30
В терминологии сетей TCP/IP маской сети называется двоичное число,
определяющее, какая часть IP-адреса узла сети относится к адресу сети, а
какая – к адресу самого узла в этой сети. При этом в двоичном представлении
маски сначала (в старших разрядах) стоят единицы, а затем с некоторого
разряда – нули. Обычно маска записывается по тем же правилам, что и
IP-адрес, – в виде четырёх байт, причём каждый байт записывается в виде
десятичного числа. Адрес сети получается в результате применения
поразрядной конъюнкции к IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна
255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 136.128.196.48 адрес сети равен 136.128.192.0. Чему
равно наибольшее возможное значение третьего слева байта маски? Ответ
запишите в виде десятичного числа.
Ответ: ___________________________.
При регистрации в компьютерной системе каждому пользователю выдаётся
пароль, состоящий из 20 символов и содержащий только заглавные буквы
латинского алфавита – всего 26 возможных символов. В базе данных для
хранения сведений о каждом пользователе отведено одинаковое
минимально возможное целое число байт. При этом используют
посимвольное кодирование паролей, все символы кодируют одинаковым
минимально возможным количеством бит. Кроме собственно пароля для
каждого пользователя в системе хранятся дополнительные сведения, для чего
выделено целое число байт, одно и то же для всех пользователей.
Для хранения сведений о 30 пользователях потребовалось 750 байт. Сколько
байт выделено для хранения дополнительных сведений об одном
пользователе? В ответе запишите только целое число – количество байт.
Ответ: ___________________________.
Исполнитель Редактор получает на вход строку цифр и преобразует её.
Редактор может выполнять две команды, в обеих командах v и w обозначают
цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на
цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить
(v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя
Редактор. Если она встречается, то команда возвращает логическое значение
«истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
12
13
14
Вариант 2
31
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
Ниже приведена программа для исполнителя Редактор.
НАЧАЛО
ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999)
заменить (19, 2)
заменить (299, 3)
заменить (3999, 1)
КОНЕЦ ПОКА
КОНЕЦ
На вход этой программе подаётся строка длины 94, состоящая из цифры 3, за
которой следуют 93 идущие подряд цифры 9.
Какая строка получится в результате применения программы к этой строке?
Ответ: ___________________________.
На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К,
Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном
направлении, указанном стрелкой.
Сколько существует различных путей из города А в город Т?
Ответ: ___________________________.
А
Б
Е М Н Т
П
РЛ
Д
В
Г
К
15
Вариант 2
32
Восьмеричное число 77 в некоторой системе счисления записывается как 70.
Определите основание системы счисления.
Ответ: ___________________________.
В языке запросов поискового сервера для обозначения логической операции
«ИЛИ» используется символ «|», а для логической операции «И» – символ «&».
В таблице приведены запросы и количество найденных по ним страниц
некоторого сегмента сети Интернет.
Запрос
Найдено страниц
(в тысячах)
Сириус & Вега 260
Вега & (Сириус | Арктур) 467
Сириус & Вега & Арктур 131
Какое количество страниц (в тысячах) будет найдено по запросу
Вега & Арктур ?
Считается, что все запросы выполнялись практически одновременно, так что
набор страниц, содержащих все искомые слова, не изменялся за время
выполнения запросов.
Ответ: ___________________________.
Обозначим через m & n поразрядную конъюнкцию неотрицательных целых
чисел m и n. Например, 14 & 5 = 11102 & 01012 = 01002 = 4.
Для какого наименьшего неотрицательного целого числа А формула
x&77 ≠ 0 → (x&12 = 0 → x&А ≠ 0)
тождественно истинна (т. е. принимает значение 1 при любом
неотрицательном целом значении переменной х)?
Ответ: ___________________________.
16
17
18
Вариант 2
33
В программе используется одномерный целочисленный массив A
с индексами от 0 до 10. Значения элементов равны 8, 3, 16, 24, 35, 18, 4, 72, 8,
99, 44 соответственно, т. е. A[0] = 8, A[1] = 3 и т. д.
Определите значение переменной c после выполнения следующего
фрагмента программы, записанного ниже на пяти языках программирования.
Бейсик Python
c = 0
FOR i = 1 TO 9
IF A(i) MOD 10 = A(0) THEN
c = c + 1
t = A(i+1)
A(i+1) = A(i)
A(i) = t
END IF
NEXT i
c = 0
for i in range(1,10):
if A[i]%10 == A[0]:
c = c + 1
t = A[i+1]
A[i+1] = A[i]
A[i] = t
Алгоритмический язык Паскаль
c := 0
нц для i от 1 до 9
если mod(A[i],10) = A[0] то
c := c + 1
t := A[i+1]
A[i+1] := A[i]
A[i] := t
все
кц
c := 0;
for i := 1 to 9 do begin
if A[i] mod 10 = A[0] then
begin
c := c + 1;
t := A[i+1];
A[i+1] := A[i];
A[i] := t;
end;
end;
Си
c = 0;
for (i = 1; i < 10; i++) {
if (A[i]%10 == A[0]) {
c++;
t = A[i+1];
A[i+1] = A[i];
A[i] = t;
}
}
Ответ: ___________________________.
19
Вариант 2
34
Ниже на пяти языках программирования записан алгоритм. Получив на вход
число x, этот алгоритм печатает число M. Известно, что x > 150. Укажите
наименьшее такое (т. е. большее 150) число x, при вводе которого алгоритм
печатает 30.
Бейсик Python
DIM X, L, M AS INTEGER
INPUT X
L = 2*X-30
M = 2*X+30
WHILE L <> M
IF L > M THEN
L = L - M
ELSE
M = M - L
END IF
WEND
PRINT M
x = int(input())
L = 2*x-30
M = 2*x+30
while L != M:
if L > M:
L = L - M
else:
M = M - L
print(M)
Алгоритмический язык Паскаль
алг
нач
цел x, L, M
ввод x
L := 2*x-30
M := 2*x+30
нц пока L <> M
если L > M
то
L := L - M
иначе
M := M - L
все
кц
вывод M
кон
var x, L, M: integer;
begin
readln(x);
L := 2*x-30;
M := 2*x+30;
while L <> M do begin
if L > M then
L := L - M
else
M := M - L;
end;
writeln(M);
end.
20
Вариант 2
35
Си
#include <stdio.h>
int main()
{
int x, L, M;
scanf("%d", &x);
L = 2*x-30;
M = 2*x+30;
while (L != M) {
if (L > M)
L = L - M;
else
M = M - L;
}
printf("%d", M);
return 0;
}
Ответ: ___________________________.
Определите число, которое напечатает программа. Для Вашего удобства
программа приведена на пяти языках программирования.
Бейсик Python
DIM I AS LONG
I = 1
WHILE F(I) < G(I)
I = I * 2
WEND
PRINT I
FUNCTION F(N)
F = N * N * N
END FUNCTION
FUNCTION G(N)
G = 500 * N * N + 3
END FUNCTION
def f(n):
return n*n*n
def g(n):
return 500 * n * n +3
i = 1
while f(i) < g(i):
i*=2
print (i)
21
Вариант 2
36
Алгоритмический язык Паскаль
алг
нач
цел i
i := 1
нц пока f(i) < g(i)
i := i * 2
кц
вывод i
кон
алг цел f(цел n)
нач
знач := n * n * n
кон
алг цел g(цел n)
нач
знач := 500 * n * n + 3
кон
var
i : longint;
function f(n: longint): longint;
begin
f := n * n * n;
end;
function g(n: longint): longint;
begin
g := 500 * n * n + 3;
end;
begin
i := 1;
while f(i) < g(i) do
i := i*2;
writeln(i)
end.
Си
#include <stdio.h>
long f(long n) {
return n * n * n;
}
long g(long n) {
return 500 * n * n + 3;
}
int main()
{
long i;
i = 1;
while (f(i) < g(i))
i = i*2;
printf("%ld", i);
return 0;
}
Ответ: ___________________________.
Вариант 2
37
Исполнитель Осень16 преобразует число на экране.
У исполнителя есть три команды, которым присвоены номера:
1) прибавить 1;
2) прибавить 2;
3) прибавить 4.
Первая команда увеличивает число на экране на 1, вторая увеличивает его на
2, третья – увеличивает на 4.
Программа для исполнителя Осень16 – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1
результатом является число 15 и при этом траектория вычислений содержит
число 8?
Траектория вычислений программы – это последовательность результатов
выполнения всех команд программы. Например, для программы 121 при
исходном числе 7 траектория будет состоять из чисел 8, 10, 11.
Ответ: ___________________________.
Сколько существует различных наборов значений логических переменных x1,
x2, x3, x4, x5, x6, x7, x8, x9, x10, которые удовлетворяют всем перечисленным
ниже условиям:
((x1 → x2) → (x3 → x4)) / ((x3 → x4) → (x5 → x6)) = 1;
((x5 → x6) → (x7 → x8 )) / ((x7 → x8) → (x9 → x10 )) = 1;
x1 / x3 / x5 / x7 / x9 = 1?
В ответе не нужно перечислять все различные наборы значений переменных
x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, при которых выполнена данная система
равенств. В качестве ответа Вам нужно указать количество таких наборов.
Ответ: ___________________________.
Часть 2
Для записи ответов на задания этой части (24–27) используйте
отдельный лист. Запишите сначала номер задания (24, 25 и т. д.),
а затем полное решение. Ответы записывайте чётко и разборчиво.
Дано натуральное число N > 10, в десятичной записи которого нет нулей.
Необходимо определить минимальное двузначное число, которое можно
увидеть в десятичной записи N. Например, для N = 1984 нужно получить
результат 19, а для N = 271 828 – результат 18.
Для решения этой задачи ученик написал программу, но, к сожалению, его
программа неправильная.
Ниже эта программа для Вашего удобства приведена на пяти языках
программирования.
22
23
24
Вариант 2
38
Бейсик Python
DIM N, K AS INTEGER
INPUT N
K = 100
WHILE N > 100
IF N MOD 100 < K THEN
K = N MOD 100
END IF
N = N  100
WEND
PRINT K
END
n = int(input())
k = 100
while n > 100:
if n%100 < k:
k = n%100
n = n // 100
print(k)
Алгоритмический язык Паскаль
алг
нач
цел n, k
ввод n
k := 100
нц пока n > 100
если mod(n,100) < k
то k:=mod(n,100)
все
n:=div(n,100)
кц
вывод k
кон
var n, k: integer;
begin
read(n);
k := 100;
while n > 100 do begin
if n mod 100 < k
then k := n mod 100;
n := n div 100;
end;
writeln(k)
end.
Си
#include <stdio.h>
int main(){
int n, k;
scanf("%d", &n);
k = 100;
while (n > 100) {
if (n%100 < k)
k = n%100;
n = n/100;
}
printf("%d", k);
return 0;
}
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе N = 6789.
2. Приведите два возможных значения N, при вводе которых программа
выведет верный ответ. Укажите этот ответ.
3. Найдите в программе все ошибки (их может быть одна или несколько).
Для каждой ошибки выпишите строку, в которой она допущена, и
приведите эту же строку в исправленном виде.
Достаточно указать ошибки и способ их исправления для одного языка
программирования.
Вариант 2
39
Обратите внимание: Вам нужно исправить приведённую программу, а не
написать свою. Вы можете только заменять ошибочные строки, но не можете
удалять строки или добавлять новые. Заменять следует только ошибочные
строки: за исправления, внесённые в строки, не содержащие ошибок, баллы
будут снижаться.
Дан массив, содержащий 2016 положительных целых чисел, не
превышающих 1000. Необходимо найти и вывести максимальный из тех
элементов этого массива, шестнадцатеричная запись которых заканчивается
символом E. Если таких чисел в массиве нет, ответ считается равным нулю.
Исходные данные объявлены так, как показано ниже. Запрещается
использовать переменные, не описанные ниже, но разрешается не
использовать часть из описанных переменных.
Бейсик Python
CONST N=2016
DIM A(N) AS INTEGER
DIM I, M, K AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
…
END
# допускается также использо-
# вание целочисленных
# переменных m, k
a = []
N = 2016
for i in range(0, N):
a.append(int(input()))
…
Алгоритмический язык Паскаль
алг
нач
цел N=2016
целтаб a[1:N]
цел i, m, k
нц для i от 1 до N
ввод a[i]
кц
…
кон
const
N=2016;
var
a: array [1..N] of integer;
i, m, k: integer;
begin
for i:=1 to N do
readln(a[i]);
…
end.
Си
#include <stdio.h>
#define N 2016
int main(){
int a[N];
int i, m, k;
for (i=0; i<N; i++)
scanf("%d", &a[i]);
…
return 0;
}
25
Вариант 2
40
В качестве ответа Вам необходимо привести фрагмент программы, который
должен находиться на месте многоточия. Вы можете записать решение также
на другом языке программирования (укажите название и версию языка
программирования). В этом случае Вы должны использовать те же самые
исходные данные и переменные, какие были предложены в условии.
Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит
куча камней. Игроки ходят по очереди, первый ход делает Паша. За один
ход игрок может добавить в кучу один камень или увеличить количество
камней в куче в три раза. Например, имея кучу из 15 камней, за один ход
можно получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать
ходы, есть неограниченное количество камней.
Игра завершается в тот момент, когда количество камней в куче становится
не менее 36. Если при этом в куче оказалось не более 98 камней, то
победителем считается игрок, сделавший последний ход. В противном
случае победителем становится его противник. Например, если в куче было
33 камня и Паша утроит количество камней в куче, то игра закончится и
победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 35.
Будем говорить, что игрок имеет выигрышную стратегию, если он
может выиграть при любых ходах противника. Описать стратегию
игрока – значит описать, какой ход он должен сделать в любой
ситуации, которая ему может встретиться при различной игре
противника.
Выполните следующие задания.
1. а) При каких значениях числа S Паша может выиграть в один ход?
Укажите все такие значения и соответствующие ходы Паши.
б) У кого из игроков есть выигрышная стратегия при S = 34; 33; 32?
Опишите выигрышные стратегии для этих случаев.
2. У кого из игроков есть выигрышная стратегия при S = 11; 10?
Опишите соответствующие выигрышные стратегии.
3. У кого из игроков есть выигрышная стратегия при S = 9? Постройте
дерево всех партий, возможных при этой выигрышной стратегии
(в виде рисунка или таблицы). На рёбрах дерева указывайте, кто
делает ход, в узлах – количество камней в позиции.
26
Вариант 2
41
Дан набор из N целых положительных чисел. Необходимо выбрать из набора
произвольное количество чисел так, чтобы их сумма была как можно больше
и при этом не делилась на 8. В ответе нужно указать количество выбранных
чисел и их сумму, сами числа выводить не надо. Если получить нужную
сумму невозможно, считается, что выбрано 0 чисел и их сумма равна 0.
Напишите эффективную по времени и по памяти программу для решения
этой задачи.
Программа считается эффективной по времени, если при увеличении
количества исходных чисел N в k раз время работы программы увеличивается
не более чем в k раз.
Программа считается эффективной по памяти, если память, необходимая для
хранения всех переменных программы, не превышает 1 килобайт и не
увеличивается с ростом N.
Максимальная оценка за правильную (не содержащую синтаксических
ошибок и дающую правильный ответ при любых допустимых входных
данных) программу, эффективную по времени и по памяти, – 4 балла.
Максимальная оценка за правильную программу, эффективную только по
времени или только по памяти, – 3 балла.
Максимальная оценка за правильную программу, не удовлетовряющую
требованиям эффективности, – 2 балла.
Вы можете сдать одну или две программы решения задачи. Если Вы сдадите
две программы, каждая из них будет оцениваться независимо от другой,
итоговой станет бо́льшая из двух оценок.
Перед текстом программы кратко опишите алгоритм решения. Укажите
использованный язык программирования и его версию.
Описание входных и выходных данных
В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000).
В каждой из последующих N строк записано одно натуральное число, не
превышающее 10 000.
Пример входных данных:
3
1
2
5
В результате работы программа должна вывести два числа: сначала
количество выбранных чисел, затем их сумму.
Пример выходных данных для приведённого выше примера входных данных:
2 7
В данном случае из предложенного набора нужно выбрать два числа (2 и 5),
их сумма равна 7.
27
42
Вариант 3
Часть 1
Ответами к заданиям 1–23 являются число, последовательность букв
или цифр. Запишите ответы в указанном месте без пробелов, запятых и
других дополнительных символов.
Вычислите: 101010102 – 2508 + 716.
Ответ запишите в десятичной системе счисления. В ответе запишите только
число, основание системы счисления писать не нужно.
Ответ: ___________________________.
Логическая функция F задаётся выражением
(x / y / z) / (x / ¬z).
Ниже приведён фрагмент таблицы истинности функции F, содержащий все
наборы аргументов, при которых функция F истинна.
Определите, какому столбцу таблицы истинности функции F соответствует
каждая из переменных x, y, z.
Переменная 1 Переменная 2 Переменная 3 Функция
??? ??? ??? F
0 0 1 1
1 0 1 1
1 1 1 1
В ответе напишите буквы x, y, z в том порядке, в котором идут
соответствующие им столбцы (сначала буква, соответствующая первому
столбцу, затем буква, соответствующая второму столбцу, и т. д.). Буквы
в ответе пишите подряд, никаких разделителей между буквами ставить не
нужно.
Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y,
и таблица истинности.
Переменная 1 Переменная 2 Функция
??? ??? F
0 0 1
0 1 0
1 0 1
1 1 1
Тогда первому столбцу соответствует переменная y, а второму столбцу
соответствует переменная x. В ответе нужно написать yx.
Ответ: ___________________________.
1
2
Вариант 3
43
На рисунке схема дорог Н-ского района изображена в виде графа,
в таблице содержатся сведения о длине этих дорог в километрах.
П1 П2 П3 П4 П5 П6 П7
П1 10
П2 20
П3 10 20 8
П4 8 15 12
П5 15
П6 12 18
П7 18
Так как таблицу и схему рисовали независимо друг от друга, нумерация
населённых пунктов в таблице никак не связана с буквенными обозначениями
на графе. Определите длину дороги из пункта Б в пункт Г. В ответе запишите
целое число.
ВНИМАНИЕ! Длины отрезков на схеме не отражают длины дорог.
Ответ: ___________________________.
А
Б
В
Г
Д Е К
3
Вариант 3
44
В фрагменте базы данных представлены сведения о родственных
отношениях. На основании приведённых данных определите
идентификационный номер (ID) тёти Решко П.И.
Пояснение. Тётей считается сестра отца или матери.
Таблица 1 Таблица 2
ID Фамилия_И.О. Пол ID_Родителя ID_Ребёнка
745 Решко А.К. М 4318 894
894 Решко Т.И. Ж 4464 894
1474 Лагидзе С.А. Ж 4328 1474
2178 Муромец А.А. М 6321 1474
3470 Мороз А.А. Ж 4328 4177
4177 Седых П.А. М 6321 4177
4178 Микоян Н.А. Ж 4318 4179
4179 Решко П.И. М 4464 4179
4318 Решко И.А. М 745 4318
4328 Решко Е.А. Ж 5887 4318
4464 Решко С.Х. Ж 745 4328
5178 Микоян В.А. Ж 5887 4328
5887 Муромец Л.П. Ж 4328 5178
6321 Седых А.П. М 6321 5178
… … … … …
Ответ: ___________________________.
Для кодирования некоторой последовательности, состоящей из букв А, Б, В,
Г, Д, Е, решили использовать неравномерный двоичный код,
удовлетворяющий условию Фано. Для букв А, Б, В, Г использовали
соответственно кодовые слова 000, 001, 10, 11. Укажите кратчайшее
возможное кодовое слово для буквы Д, при котором код будет допускать
однозначное декодирование. Если таких кодов несколько, укажите код
с наименьшим числовым значением.
Примечание. Условие Фано означает, что никакое кодовое слово не является
началом другого кодового слова. Коды, удовлетворящие условию Фано,
допускают однозначное декодирование.
Ответ: ___________________________.
4
5
Вариант 3
45
Автомат получает на вход нечётное число X. По этому числу строится
трёхзначное число Y по следующим правилам.
1. Первая цифра числа Y (разряд сотен) – остаток от деления X на 4.
2. Вторая цифра числа Y (разряд десятков) – остаток от деления X на 3.
3. Третья цифра числа Y (разряд единиц) – остаток от деления X на 2.
Пример. Исходное число: 63179. Остаток от деления на 4 равен 3; остаток от
деления на 3 равен 2; остаток от деления на 2 равен 1. Результат работы
автомата: 321.
Укажите наименьшее двузначное число, при обработке которого автомат
выдаёт результат 101.
Ответ: ___________________________.
Дан фрагмент электронной таблицы. Из ячейки A2 в ячейку B3 была
скопирована формула. При копировании адреса ячеек в формуле
автоматически изменились. Каким стало числовое значение формулы
в ячейке B3?
А В С D E
1 40 5 100 10 1
2 =C$2+$D2 6 200 20 2
3 20 300 30 3
4 10 8 400 40 4
Примечание. Знак $ обозначает абсолютную адресацию.
Ответ: ___________________________.
Запишите число, которое будет напечатано в результате выполнения
следующей программы. Для Вашего удобства программа представлена
на пяти языках программирования.
Бейсик Python
DIM S, N AS INTEGER
S = 0
N = 0
WHILE 2*S*S <= 10*S
S = S + 1
N = N + 2
WEND
PRINT N
s = 0
n = 0
while 2*s*s <= 10*s:
s = s + 1
n = n + 2
print(n)
6
7
8
Вариант 3
46
Алгоритмический язык Паскаль
алг
нач
цел n, s
n := 0
s := 0
нц пока 2*s*s <= 10*s
s := s + 1
n := n + 2
кц
вывод n
кон
var s, n: integer;
begin
s := 0;
n := 0;
while 2*s*s <= 10*s do
begin
s := s + 1;
n := n + 2
end;
writeln(n)
end.
Си
#include <stdio.h>
int main()
{
int s = 0, n = 0;
while (2*s*s <= 10*s) {
s = s + 1;
n = n + 2;
}
printf("%dn", n);
return 0;
}
Ответ: ___________________________.
Производится двухканальная (стерео) звукозапись с частотой дискретизации
32 кГц и 32-битным разрешением. Запись длится 2 минуты, её результаты
записываются в файл, сжатие данных не производится. Определите
приблизительно размер полученного файла (в мегабайтах). В качестве ответа
укажите ближайшее к размеру файла целое число, кратное 10.
Ответ: ___________________________.
Игорь составляет таблицу кодовых слов для передачи сообщений, каждому
сообщению соответствует своё кодовое слово. В качестве кодовых слов
Игорь использует 6-буквенные слова, в которых есть только буквы A, B, X,
причём буква X появляется ровно один раз. Каждая из букв A, B может
встречаться в кодовом слове любое количество раз или не встречаться
совсем. Сколько различных кодовых слов может использовать Игорь?
Ответ: ___________________________.
9
10
Вариант 3
47
Ниже на пяти языках программирования записаны рекурсивные функции: F и G.
Бейсик Паскаль
FUNCTION F(n)
IF n > 1 THEN
F = F(n - 1) + G(n - 1)
ELSE
F = n
END IF
END FUNCTION
FUNCTION G(n)
IF n > 1 THEN
G = G(n - 1) + F(n)
ELSE
G = n
END IF
END FUNCTION
function F(n: integer): integer;
begin
if n > 1 then
F := F(n - 1) + G(n - 1)
else
F := n;
end;
function G(n: integer): integer;
begin
if n > 1 then
G := G(n - 1) + F(n)
else
G := n;
end;
Си Алгоритмический язык
int F(int n)
{
if (n > 1)
return F(n-1) + G(n-1);
else return n;
}
int G(int n)
{
if (n > 1)
return G(n-1) + F(n);
else return n;
}
алг цел F(цел n)
нач
если n > 1
то
знач := F(n - 1)+G(n - 1)
иначе
знач := n
все
кон
алг цел G(цел n)
нач
если n > 1
то
знач := G(n - 1)+F(n)
иначе
знач := n
все
кон
Python
def F(n):
if n > 1:
return F(n-1) + G(n-1)
else: return n
def G(n):
if n > 1:
return G(n-1) + F(n)
else: return n
Чему будет равно значение, вычисленное при выполнении вызова F(5)?
Ответ: ___________________________.
11
Вариант 3
48
В терминологии сетей TCP/IP маской сети называется двоичное число, опреде-
ляющее, какая часть IP-адреса узла сети относится к адресу сети, а какая –
к адресу самого узла в этой сети. При этом в двоичном представлении маски
сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда –
нули. Обычно маска записывается по тем же правилам, что и IP-адрес, –
в виде четырёх байтов, причём каждый байт записывается в виде
десятичного числа. Адрес сети получается в результате применения
поразрядной конъюнкции к заданным IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна
255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 119.83.208.27 адрес сети равен 119.83.192.0.
Каково наибольшее возможное количество единиц в разрядах маски?
Ответ: ___________________________.
При регистрации в компьютерной системе каждому пользователю выдаётся
пароль, состоящий из 20 символов и содержащий только прописные символы
латинского алфавита (всего 26 возможных символов). В базе данных для
хранения сведений о каждом пользователе отведено одинаковое минимально
возможное целое число байт. При этом используют посимвольное
кодирование паролей, все символы кодируют одинаковым минимально
возможным количеством бит. Кроме собственно пароля для каждого
пользователя в системе хранятся дополнительные сведения, для чего
выделено целое число байт, одно и то же для всех пользователей.
Для хранения сведений о 20 пользователях потребовалось 400 байт. Сколько
байт выделено для хранения дополнительных сведений об одном
пользователе? В ответе запишите только целое число – количество байт.
Ответ: ___________________________.
12
13
Вариант 3
49
Исполнитель Редактор получает на вход строку цифр и преобразует её.
Редактор может выполнять две команды, в обеих командах v и w обозначают
цепочки цифр.
А) заменить (v, w).
Эта команда заменяет в строке первое слева вхождение цепочки v на
цепочку w. Например, выполнение команды
заменить (111, 27)
преобразует строку 05111150 в строку 0527150.
Если в строке нет вхождений цепочки v, то выполнение команды заменить
(v, w) не меняет эту строку.
Б) нашлось (v).
Эта команда проверяет, встречается ли цепочка v в строке исполнителя
Редактор. Если она встречается, то команда возвращает логическое значение
«истина», в противном случае возвращает значение «ложь». Строка
исполнителя при этом не изменяется.
Цикл
ПОКА условие
последовательность команд
КОНЕЦ ПОКА
выполняется, пока условие истинно.
В конструкции
ЕСЛИ условие
ТО команда1
ИНАЧЕ команда2
КОНЕЦ ЕСЛИ
выполняется команда1 (если условие истинно) или команда2 (если условие
ложно).
Ниже приведена программа для исполнителя Редактор.
НАЧАЛО
ПОКА нашлось (81) ИЛИ нашлось (882) ИЛИ нашлось (8883)
ЕСЛИ нашлось (81)
ТО заменить (81, 2)
ИНАЧЕ ЕСЛИ нашлось (882)
ТО заменить (882, 3)
ИНАЧЕ заменить (8883, 1)
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
На вход этой программе подаётся строка длины 101, в которой первый и
последний символ – это цифры 2, а остальные символы – цифры 8. Какая
строка получится в результате применения программы к этой строке?
Ответ: ___________________________.
14
Вариант 3
50
На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К,
Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном
направлении, указанном стрелкой. Сколько существует различных путей из
города А в город Т?
Ответ: ___________________________.
Известно, что 152N = 125N + 1. Определите значение числа N.
Ответ: ___________________________.
В языке запросов поискового сервера для обозначения логической операции
«ИЛИ» используется символ «|», а для обозначения логической операции
«И» – символ «&».
В таблице приведены запросы и количество найденных по ним страниц
некоторого сегмента сети Интернет.
Запрос
Найдено страниц
(в тысячах)
Мадрид & Севилья 290
Мадрид & (Барселона | Севилья) 465
Мадрид & Барселона 355
Какое количество страниц (в тысячах) будет найдено по запросу
Мадрид & Барселона & Севилья?
Считается, что все запросы выполнялись практически одновременно, так что
набор страниц, содержащих все искомые слова, не изменялся за время
выполнения запросов.
Ответ: ___________________________.
15
16
17
Вариант 3
51
Обозначим через m&n поразрядную конъюнкцию неотрицательных целых
чисел m и n. Например, 14&5 = 11102&01012 = 01002 = 4.
Для какого наименьшего неотрицательного целого числа А формула
x&25 ≠ 0 → (x&19 = 0 → x&А ≠ 0)
тождественно истинна (т. е. принимает значение 1 при любом неотрицательном
целом значении переменной х)?
Ответ: ___________________________.
В программе используется одномерный целочисленный массив A с индексами
от 0 до 9. Значения элементов равны 1, 2, 18, 8, 14, 9, 23, 7, 51, 99
соответственно, т. е. A[0] = 1, A[1] = 2 и т. д.
Определите значение переменной t после выполнения следующего
фрагмента программы, записанного ниже на разных языках
программирования.
Бейсик Python
i = 0: j = 9
WHILE A(i) < 10
i = i + 1
WEND
WHILE A(j) > 10
j = j - 1
WEND
t = A(i) - A(j)
i = 0
j = 9
while A[i] < 10:
i += 1
while A[j] > 10:
j -= 1
t = A[i] - A[j]
Алгоритмический язык Паскаль
i := 0; j := 9
нц пока A[i] < 10
i := i + 1
кц
нц пока A[j] > 10
j := j - 1
кц
t := A[i] - A[j]
i := 0; j := 9;
while A[i] < 10 do
i := i + 1;
while A[j] > 10 do
j := j - 1;
t := A[i] - A[j];
Си
i = 0; j = 9;
while (A[i] < 10)
i += 1;
while (A[j] > 10)
j -= 1;
t = A[i] - A[j];
Ответ: ___________________________.
18
19
Вариант 3
52
Ниже на пяти языках программирования записан алгоритм. Получив на вход
натуральное число x, этот алгоритм печатает число S. Укажите наименьшее
число x, при вводе которого алгоритм печатает пятизначное число.
Бейсик Python
DIM X, D, R, S AS LONG
INPUT X
S = X
R = 0
WHILE X>0
D = X MOD 2
R = 10*R + D
X = X  2
WEND
S = R + S
PRINT S
x = int(input())
S = x
R = 0
while x>0:
d = x % 2
R = 10*R + d
x = x // 2
S = R + S
print(S)
Алгоритмический язык Паскаль
алг
нач
цел x, d, R, S
ввод x
S := x
R := 0
нц пока x>0
d := mod(x, 2)
R := 10*R + d
x := div(x, 2)
кц
S := R + S
вывод S
кон
var
x, d, R, S: longint;
begin
readln(x);
S := x;
R := 0;
while x>0 do
begin
d := x mod 2;
R := 10*R + d;
x := x div 2
end;
S := R + S;
writeln(S)
end.
Си
#include <stdio.h>
int main()
{
long x, d, R, S;
scanf("%ld", &x);
S = x;
R = 0;
while (x>0) {
d = x % 2;
R = 10*R + d;
x = x / 2;
}
S = R + S;
printf("%ld", S);
return 0;
}
Ответ: ___________________________.
20
Вариант 3
53
Напишите в ответе наименьшее значение входной переменной k, при
котором программа выдаёт ответ 29. Для Вашего удобства программа
приведена на пяти языках программирования.
Бейсик Python
DIM K, I AS LONG
INPUT K
I = 1
WHILE F(I) < K*G(I)
I = I + 1
WEND
PRINT I
FUNCTION F(N)
F = N * N * N
END FUNCTION
FUNCTION G(N)
G = N * N
END FUNCTION
def f(n):
return n*n*n
def g(n):
return n*n
k = int(input())
i = 1
while f(i) < k*g(i):
i += 1
print (i)
Алгоритмический язык Паскаль
алг
нач
цел i, k
ввод k
i := 1
нц пока f(i) < k*g(i)
i := i + 1
кц
вывод i
кон
алг цел f(цел n)
нач
знач := n * n * n
кон
алг цел g(цел n)
нач
знач := n * n
кон
var
k, i : longint;
function f(n: longint): longint;
begin
f := n * n * n;
end;
function g(n: longint): longint;
begin
g := n*n;
end;
begin
readln(k);
i := 1;
while f(i) < k*g(i) do
i := i+1;
writeln(i)
end.
21
Вариант 3
54
Си
#include <stdio.h>
long f(long n) {
return n*n*n;
}
long g(long n) {
return n*n;
}
int main()
{
long k, i;
scanf("%ld", &k);
i = 1;
while (f(i) < k*g(i))
i++;
printf("%ld", i);
return 0;
}
Ответ: ___________________________.
Исполнитель Май17 преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1) прибавить 1;
2) прибавить 3.
Первая команда увеличивает число на экране на 1, вторая увеличивает
его на 3.
Программа для исполнителя Май17 – это последовательность команд.
Сколько существует программ, для которых при исходном числе 1
результатом является число 15 и при этом траектория вычислений содержит
число 8?
Траектория вычислений программы – это последовательность результатов
выполнения всех команд программы. Например, для программы 121
при исходном числе 7 траектория будет состоять из чисел 8, 11, 12.
Ответ: ___________________________.
22
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

Mais conteúdo relacionado

Mais procurados

Kratnye i dvojnye_integraly
Kratnye i dvojnye_integralyKratnye i dvojnye_integraly
Kratnye i dvojnye_integralyIvanchik5
 
34021 7c93acbd9a46c5519dd9388c9d162fcc
34021 7c93acbd9a46c5519dd9388c9d162fcc34021 7c93acbd9a46c5519dd9388c9d162fcc
34021 7c93acbd9a46c5519dd9388c9d162fccrobinbad123100
 
558 1 математика. 9кл.-латотин, чеботаревский_минск, 2014 -397с
558 1  математика. 9кл.-латотин, чеботаревский_минск, 2014 -397с558 1  математика. 9кл.-латотин, чеботаревский_минск, 2014 -397с
558 1 математика. 9кл.-латотин, чеботаревский_минск, 2014 -397сdfdkfjs
 
Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)Eza2008
 
Демоверсии ЕГЭ-2016: информатика и ИКТ
Демоверсии ЕГЭ-2016: информатика и ИКТДемоверсии ЕГЭ-2016: информатика и ИКТ
Демоверсии ЕГЭ-2016: информатика и ИКТNewtonew
 
Gia 2013 god_modul_algebra_zadacha_3
Gia 2013 god_modul_algebra_zadacha_3Gia 2013 god_modul_algebra_zadacha_3
Gia 2013 god_modul_algebra_zadacha_3Иван Иванов
 
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕGarik Yenokyan
 
Разбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика lРазбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика lDEVTYPE
 
6. Теория графов ll
6. Теория графов ll6. Теория графов ll
6. Теория графов llDEVTYPE
 
Разбор задач пятого модуля
Разбор задач пятого модуляРазбор задач пятого модуля
Разбор задач пятого модуляDEVTYPE
 
Элементы дискретной математики для программистов
Элементы дискретной математики для программистовЭлементы дискретной математики для программистов
Элементы дискретной математики для программистовDEVTYPE
 
Линейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуляЛинейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуляDEVTYPE
 
04
0404
04JIuc
 
Скорость роста функций
Скорость роста функцийСкорость роста функций
Скорость роста функцийDEVTYPE
 
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачDEVTYPE
 

Mais procurados (20)

Kratnye i dvojnye_integraly
Kratnye i dvojnye_integralyKratnye i dvojnye_integraly
Kratnye i dvojnye_integraly
 
34021 7c93acbd9a46c5519dd9388c9d162fcc
34021 7c93acbd9a46c5519dd9388c9d162fcc34021 7c93acbd9a46c5519dd9388c9d162fcc
34021 7c93acbd9a46c5519dd9388c9d162fcc
 
127_1
127_1127_1
127_1
 
558 1 математика. 9кл.-латотин, чеботаревский_минск, 2014 -397с
558 1  математика. 9кл.-латотин, чеботаревский_минск, 2014 -397с558 1  математика. 9кл.-латотин, чеботаревский_минск, 2014 -397с
558 1 математика. 9кл.-латотин, чеботаревский_минск, 2014 -397с
 
Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)Алгебра и начала анализа (решение задач)
Алгебра и начала анализа (решение задач)
 
Демоверсии ЕГЭ-2016: информатика и ИКТ
Демоверсии ЕГЭ-2016: информатика и ИКТДемоверсии ЕГЭ-2016: информатика и ИКТ
Демоверсии ЕГЭ-2016: информатика и ИКТ
 
Gia 2013 god_modul_algebra_zadacha_3
Gia 2013 god_modul_algebra_zadacha_3Gia 2013 god_modul_algebra_zadacha_3
Gia 2013 god_modul_algebra_zadacha_3
 
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
ДОПОЛНИТЕЛЬНЫЕ САМОСТОЯТЕЛЬНЫЕ РАБОТЫ ПО АЛГЕБРЕ
 
Разбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика lРазбор задач модуля Комбинаторика l
Разбор задач модуля Комбинаторика l
 
8 a mak_2013
8 a mak_20138 a mak_2013
8 a mak_2013
 
6. Теория графов ll
6. Теория графов ll6. Теория графов ll
6. Теория графов ll
 
Разбор задач пятого модуля
Разбор задач пятого модуляРазбор задач пятого модуля
Разбор задач пятого модуля
 
Элементы дискретной математики для программистов
Элементы дискретной математики для программистовЭлементы дискретной математики для программистов
Элементы дискретной математики для программистов
 
Линейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуляЛинейная алгебра ll. Разбор задач второго модуля
Линейная алгебра ll. Разбор задач второго модуля
 
7 gdz a_b_ru
7 gdz a_b_ru7 gdz a_b_ru
7 gdz a_b_ru
 
Induksija
InduksijaInduksija
Induksija
 
04
0404
04
 
Скорость роста функций
Скорость роста функцийСкорость роста функций
Скорость роста функций
 
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задач
 
777
777777
777
 

Semelhante a 1

пробное информатика ОГЭ 2023 1 вариант.docx
пробное информатика ОГЭ 2023 1 вариант.docxпробное информатика ОГЭ 2023 1 вариант.docx
пробное информатика ОГЭ 2023 1 вариант.docxIvanZhdanov3
 
Демо-вариант ЕГЭ-2016 по информатике
Демо-вариант ЕГЭ-2016 по информатикеДемо-вариант ЕГЭ-2016 по информатике
Демо-вариант ЕГЭ-2016 по информатикеNewtonew
 
34081 8fa728fdc47f5183f620dd69adc7d469
34081 8fa728fdc47f5183f620dd69adc7d46934081 8fa728fdc47f5183f620dd69adc7d469
34081 8fa728fdc47f5183f620dd69adc7d469robinbad123100
 
оператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и выводаоператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и выводаliza2209
 
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...2berkas
 
Презентация2
Презентация2Презентация2
Презентация2larionova
 
егэ часть а
егэ часть аегэ часть а
егэ часть аdasha2012
 
математика 07.02.12
математика 07.02.12математика 07.02.12
математика 07.02.12vova123367
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Technopark
 
Презентация на тему: Программирование ветвлений на QBasic
Презентация на тему: Программирование ветвлений на QBasicПрезентация на тему: Программирование ветвлений на QBasic
Презентация на тему: Программирование ветвлений на QBasic2berkas
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.sharikdp
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlinComputer Science Club
 
логические задачи с арифметическими неравенствами
логические задачи с арифметическими неравенствамилогические задачи с арифметическими неравенствами
логические задачи с арифметическими неравенствамиЕлена Ключева
 

Semelhante a 1 (20)

инф 9 демо 2015
инф 9 демо 2015инф 9 демо 2015
инф 9 демо 2015
 
пробное информатика ОГЭ 2023 1 вариант.docx
пробное информатика ОГЭ 2023 1 вариант.docxпробное информатика ОГЭ 2023 1 вариант.docx
пробное информатика ОГЭ 2023 1 вариант.docx
 
Демо-вариант ЕГЭ-2016 по информатике
Демо-вариант ЕГЭ-2016 по информатикеДемо-вариант ЕГЭ-2016 по информатике
Демо-вариант ЕГЭ-2016 по информатике
 
34081 8fa728fdc47f5183f620dd69adc7d469
34081 8fa728fdc47f5183f620dd69adc7d46934081 8fa728fdc47f5183f620dd69adc7d469
34081 8fa728fdc47f5183f620dd69adc7d469
 
Blok
BlokBlok
Blok
 
D12mat92
D12mat92D12mat92
D12mat92
 
инф демо 2015
инф демо 2015инф демо 2015
инф демо 2015
 
оператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и выводаоператор присваивания и процедуры ввода и вывода
оператор присваивания и процедуры ввода и вывода
 
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
Презентация на тему: Методика подготовки учащихся к итоговой аттестации по ин...
 
Презентация2
Презентация2Презентация2
Презентация2
 
презентация1
презентация1презентация1
презентация1
 
егэ часть а
егэ часть аегэ часть а
егэ часть а
 
математика 07.02.12
математика 07.02.12математика 07.02.12
математика 07.02.12
 
Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8Алгоритмы и структуры данных осень 2013 лекция 8
Алгоритмы и структуры данных осень 2013 лекция 8
 
Презентация на тему: Программирование ветвлений на QBasic
Презентация на тему: Программирование ветвлений на QBasicПрезентация на тему: Программирование ветвлений на QBasic
Презентация на тему: Программирование ветвлений на QBasic
 
паскаль
паскальпаскаль
паскаль
 
чернякова г.в.
чернякова г.в.чернякова г.в.
чернякова г.в.
 
9 ср1
9 ср19 ср1
9 ср1
 
20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin20111023 circuit complexity_seminar_lecture04_mihajlin
20111023 circuit complexity_seminar_lecture04_mihajlin
 
логические задачи с арифметическими неравенствами
логические задачи с арифметическими неравенствамилогические задачи с арифметическими неравенствами
логические задачи с арифметическими неравенствами
 

Mais de ssusera868ff (20)

Trigonometricheskie uravneniya
Trigonometricheskie uravneniyaTrigonometricheskie uravneniya
Trigonometricheskie uravneniya
 
777
777777
777
 
A6c
A6cA6c
A6c
 
111
111111
111
 
Trigonometria
TrigonometriaTrigonometria
Trigonometria
 
777
777777
777
 
Kontrolynyh rabot-po-matematike
Kontrolynyh rabot-po-matematikeKontrolynyh rabot-po-matematike
Kontrolynyh rabot-po-matematike
 
555
555555
555
 
777
777777
777
 
Prakticheskih rabot-ppkrs
Prakticheskih rabot-ppkrsPrakticheskih rabot-ppkrs
Prakticheskih rabot-ppkrs
 
23
2323
23
 
111
111111
111
 
23
2323
23
 
23
2323
23
 
555
555555
555
 
23
2323
23
 
777
777777
777
 
23
2323
23
 
23
2323
23
 
23
2323
23
 

1

  • 1. 4 Инструкция по выполнению работы Работа состоит из двух частей, включающих в себя 27 заданий. Часть 1 содержит 23 задания с кратким ответом. Часть 2 содержит 4 задания с развёрнутым ответом. На выполнение работы отводится 3 часа 55 минут (235 минут). Ответы к заданиям 1–23 записываются в виде числа, последовательности букв или цифр. Для выполнения заданий 24–27 Вам необходимо написать развёрнутый ответ в произвольной форме. При выполнении заданий можно пользоваться черновиком. Записи в черновике не учитываются при оценивании работы. Баллы, полученные Вами за выполненные задания, суммируются. Постарайтесь выполнить как можно больше заданий и набрать наибольшее количество баллов. Желаем успеха!
  • 2. 5 В заданиях используются следующие соглашения. 1. Обозначения для логических связок (операций): a) отрицание (инверсия, логическое НЕ) обозначается ¬ (например, ¬А); b) конъюнкция (логическое умножение, логическое И) обозначается / (например, А / В) либо & (например, А & В); c) дизъюнкция (логическое сложение, логическое ИЛИ) обозначается / (например, А / В) либо | (например, А | В); d) следование (импликация) обозначается → (например, А → В); e) тождество обозначается ≡ (например, A ≡ B); выражение A ≡ B истинно тогда и только тогда, когда значения A и B совпадают (либо они оба истинны, либо они оба ложны); f) символ 1 используется для обозначения истины (истинного высказывания); символ 0 – для обозначения лжи (ложного высказывания). 2. Два логических выражения, содержащие переменные, называются равносильными (эквивалентными), если значения этих выражений совпадают при любых значениях переменных. Так, выражения А → В и (¬А) / В равносильны, а А / В и А / В неравносильны (значения выражений разные, например, при А = 1, В = 0). 3. Приоритеты логических операций: инверсия (отрицание), конъюнкция (логическое умножение), дизъюнкция (логическое сложение), импликация (следование), тождество. Таким образом, ¬А / В / С / D означает то же, что и ((¬А) / В) / (С / D). Возможна запись А / В / С вместо (А / В) / С. То же относится и к дизъюнкции: возможна запись А / В / С вместо (А / В) / С. 4. Обозначения Мбайт и Кбайт используются в традиционном для информа- тики смысле – как обозначения единиц измерения, соотношение которых с единицей «байт» выражается степенью двойки.
  • 3. 6 Вариант 1 Часть 1 Ответами к заданиям 1–23 являются число, последовательность букв или цифр. Запишите ответы в указанном месте без пробелов, запятых и других дополнительных символов. Вычислите: 101011102 – 2568 + A16. Ответ запишите в десятичной системе счисления. В ответе запишите только число, основание системы счисления писать не нужно. Ответ: ___________________________. Логическая функция F задаётся выражением ¬y / (x / ¬z). Ниже приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z. Переменная 1 Переменная 2 Переменная 3 Функция ??? ??? ??? F 0 0 0 1 0 1 0 1 0 1 1 1 В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу, затем буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и таблица истинности. Переменная 1 Переменная 2 Функция ??? ??? F 0 0 1 0 1 0 1 0 1 1 1 1 Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать yx. Ответ: ___________________________. 1 2
  • 4. Вариант 1 7 На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах.    П1  П2 П3 П4 П5 П6 П7 П8  П1  15   20      18   П2  15   25          П3     25       24 22  П4  20            12   П5            13 16 17   П6       24   13 15  П7        12 16     П8  18      22    17 15 Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите длину дороги из пункта В в пункт Е. В ответе запишите целое число. ВНИМАНИЕ! Длины отрезков на схеме не отражают длины дорог. Ответ: ___________________________. 3
  • 5. Вариант 1 8 В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите идентификационный номер (ID) родной сестры Ландау М.А. Таблица 1 Таблица 2 ID Фамилия_И.О. Пол ID_Родителя ID_Ребёнка 2272 Диковец А.Б. Ж 2227 2272 2228 Диковец Б.Ф. М 2227 2299 2299 Диковец И.Б. М 2228 2272 2378 Диковец П.И. М 2228 2299 2356 Диковец Т.И. Ж 2272 2240 2265 Тесла А.И. Ж 2272 1202 2331 Тесла А.П. М 2272 1217 2261 Тесла Л.А. Ж 2299 2356 1217 Тесла П.А. М 2299 2378 1202 Ландау М.А. Ж 2322 2356 2227 Решко Д.А. Ж 2322 2378 2240 Решко В.А. Ж 2331 2240 2246 Месяц К.Г. М 2331 1202 2387 Лукина Р.Г. Ж 2331 1217 2293 Фокс П.А. Ж 2387 2261 2322 Друк Г.Р. Ж 2387 2293 … … … … … Ответ: ___________________________. По каналу связи передаются сообщения, содержащие только шесть букв: А, B, C, D, E, F. Для передачи используется неравномерный двоичный код, удовлетворяющий условию Фано. Для букв A, B, C используются такие кодовые слова: А – 11, B – 101, C – 0. Укажите кодовое слово наименьшей возможной длины, которое можно использовать для буквы F. Если таких слов несколько, укажите то из них, которое соответствует наименьшему возможному двоичному числу. Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова. Коды, удовлетворяющие условию Фано, допускают однозначное декодирование. Ответ: ___________________________. 4 5
  • 6. Вариант 1 9 Автомат получает на вход четырёхзначное десятичное число, в котором все цифры нечётные. По этому числу строится новое число по следующим правилам. 1. Складываются первая и вторая, а также третья и четвёртая цифры. 2. Полученные два числа записываются друг за другом в порядке неубывания (без разделителей). Пример. Исходное число: 7511. Суммы: 7 + 5 = 12; 1 + 1 = 2. Результат: 212. Сколько существует чисел, в результате обработки которых автомат выдаст число 616? Ответ: ___________________________. В некоторые ячейки электронной таблицы записаны числа, как показано на рисунке. A B C D E F 1 0 1 2 3 4 5 2 10 3 20 4 30 5 40 6 50 В ячейке D3 записали формулу =$A3–D$1. После этого ячейку D3 скопировали в ячейку E6. Какое число будет показано в ячейке E6? Примечание. Знак $ используется для обозначения абсолютной адресации. Ответ: ___________________________. Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования. Бейсик Python DIM S, N AS INTEGER S = 0 N = 1 WHILE S < 165 S = S + 15 N = N * 2 WEND PRINT N s = 0 n = 1 while s < 165: s = s + 15 n = n * 2 print(n) 6 7 8
  • 7. Вариант 1 10 Алгоритмический язык Паскаль алг нач цел s, n s := 0 n := 1 нц пока s < 165 s := s + 15 n := n * 2 кц вывод n кон var s, n: integer; begin s := 0; n := 1; while s < 165 do begin s := s + 15; n := n * 2 end; writeln(n) end. Си #include <stdio.h> int main() { int s = 0; int n = 1; while (s < 165) { s = s + 15; n = n * 2; } printf("%dn", n); return 0; } Ответ: ___________________________. Производится двухканальная (стерео) звукозапись с частотой дискретизации 32 кГц и 32-битным разрешением. Результаты записываются в файл, сжатие данных не производится; размер полученного файла – 90 Мбайт. Определите приблизительно время записи (в минутах). В качестве ответа укажите ближайшее ко времени записи целое число. Ответ: ___________________________. Иван составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Иван использует все пятибуквенные слова в алфавите {A, B, C, D, E}, удовлетворяющие такому условию: кодовое слово не может начинаться с буквы E и не может заканчиваться буквой A. Сколько различных кодовых слов может использовать Иван? Ответ: ___________________________. 9 10
  • 8. Вариант 1 11 Ниже на пяти языках программирования записаны рекурсивные функции F и G. Бейсик Паскаль FUNCTION F(n) IF n > 2 THEN F = F(n-1) + G(n-2) ELSE F = n END IF END FUNCTION FUNCTION G(n) IF n > 2 THEN G = G(n-1) + F(n-2) ELSE G = 3-n END IF END FUNCTION function F(n: integer): integer; begin if n > 2 then F := F(n-1) + G(n-2) else F := n; end; function G(n: integer): integer; begin if n > 2 then G := G(n-1) + F(n-2) else G := 3-n; end; Си Алгоритмический язык int F(int n) { if (n > 2) return F(n-1) + G(n-2); else return n; } int G(int n) { if (n > 2) return G(n-1) + F(n-2); else return 3-n; } алг цел F(цел n) нач если n > 2 то знач := F(n-1) + G(n-2) иначе знач := n все кон алг цел G(цел n) нач если n > 2 то знач := G(n-1) + F(n-2) иначе знач := 3-n все кон Python def F(n): if n > 2: return F(n-1) + G(n-2) else: return n def G(n): if n > 2: return G(n-1) + F(n-2) else: return 3-n Чему будет равно значение, вычисленное при выполнении вызова G(6)? Ответ: ___________________________. 11
  • 9. Вариант 1 12 В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в двоичном представлении маски сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к IP-адресу узла и маске. Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0. Для узла с IP-адресом 218.159.208.24 адрес сети равен 218.159.192.0. Чему равно наибольшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа. Ответ: ___________________________. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 20 символов и содержащий только заглавные буквы латинского алфавита – всего 26 возможных символов. В базе данных для хранения сведений о каждом пользователе отведено одинаковое минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым минимально возможным количеством бит. Кроме собственно пароля для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт, одно и то же для всех пользователей. Для хранения сведений о 25 пользователях потребовалось 500 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт. Ответ: ___________________________. Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. 12 13 14
  • 10. Вариант 1 13 Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. Ниже приведена программа для исполнителя Редактор. НАЧАЛО ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999) заменить (19, 2) заменить (299, 3) заменить (3999, 1) КОНЕЦ ПОКА КОНЕЦ На вход этой программе подаётся строка длины 101, состоящая из цифры 2, за которой следуют 100 идущих подряд цифр 9. Какая строка получится в результате применения программы к этой строке? Ответ: ___________________________. На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Т? Ответ: ___________________________. А Б Е М Н Т П РЛ Д В Г К 15
  • 11. Вариант 1 14 Восьмеричное число 77 в некоторой системе счисления записывается как 53. Определите основание системы счисления. Ответ: ___________________________. В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» – символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет. Запрос Найдено страниц (в тысячах) Сириус & Вега 260 Вега & (Сириус | Арктур) 467 Сириус & Вега & Арктур 119 Какое количество страниц (в тысячах) будет найдено по запросу Вега & Арктур ? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов. Ответ: ___________________________. Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n. Например, 14 & 5 = 11102 & 01012 = 01002 = 4. Для какого наименьшего неотрицательного целого числа А формула x&33 = 0 → (x&45≠0 → x&А ≠ 0) тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной х)? Ответ: ___________________________. 16 17 18
  • 12. Вариант 1 15 В программе используется одномерный целочисленный массив A с индексами от 0 до 10. Значения элементов равны 4, 3, 16, 24, 35, 18, 4, 72, 10, 99, 44 соответственно, т. е. A[0] = 4, A[1] = 3 и т. д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на пяти языках программирования. Бейсик Python c = 0 FOR i = 1 TO 9 IF A(i) MOD 10 = A(0) THEN c = c + 1 t = A(i+1) A(i+1) = A(i) A(i) = t END IF NEXT i c = 0 for i in range(1,10): if A[i]%10 == A[0]: c = c + 1 t = A[i+1] A[i+1] = A[i] A[i] = t Алгоритмический язык Паскаль c := 0 нц для i от 1 до 9 если mod(A[i],10) = A[0] то c := c + 1 t := A[i+1] A[i+1] := A[i] A[i] := t все кц c := 0; for i := 1 to 9 do begin if A[i] mod 10 = A[0] then begin c := c + 1; t := A[i+1]; A[i+1] := A[i]; A[i] := t; end; end; Си c = 0; for (i = 1; i < 10; i++) { if (A[i]%10 == A[0]) { c++; t = A[i+1]; A[i+1] = A[i]; A[i] = t; } } Ответ: ___________________________. Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т. е. большее 100) число x, при вводе которого алгоритм печатает 30. 19 20
  • 13. Вариант 1 16 Бейсик Python DIM X, L, M AS INTEGER INPUT X L = 2*X-30 M = 2*X+30 WHILE L <> M IF L > M THEN L = L - M ELSE M = M - L END IF WEND PRINT M x = int(input()) L = 2*x-30 M = 2*x+30 while L != M: if L > M: L = L - M else: M = M - L print(M) Алгоритмический язык Паскаль алг нач цел x, L, M ввод x L := 2*x-30 M := 2*x+30 нц пока L <> M если L > M то L := L - M иначе M := M - L все кц вывод M кон var x, L, M: integer; begin readln(x); L := 2*x-30; M := 2*x+30; while L <> M do begin if L > M then L := L - M else M := M - L; end; writeln(M); end. Си #include <stdio.h> int main() { int x, L, M; scanf("%d", &x); L = 2*x-30; M = 2*x+30; while (L != M) { if (L > M) L = L - M; else M = M - L; } printf("%d", M); return 0; } Ответ: ___________________________.
  • 14. Вариант 1 17 Определите число, которое напечатает программа. Для Вашего удобства программа приведена на пяти языках программирования. Бейсик Python DIM I AS LONG I = 1 WHILE F(I) < G(I) I = I * 2 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = 1000*N*N + 3 END FUNCTION def f(n): return n*n*n def g(n): return 1000*n*n + 3 i = 1 while f(i) < g(i): i*=2 print (i) Алгоритмический язык Паскаль алг нач цел i i := 1 нц пока f(i) < g(i) i := i * 2 кц вывод i кон алг цел f(цел n) нач знач := n * n * n кон алг цел g(цел n) нач знач := 1000*n*n + 3 кон var i : longint; function f(n: longint): longint; begin f := n * n * n; end; function g(n: longint): longint; begin g := 1000*n*n + 3; end; begin i := 1; while f(i) < g(i) do i := i*2; writeln(i) end. 21
  • 15. Вариант 1 18 Си #include <stdio.h> long f(long n) { return n * n * n; } long g(long n) { return 1000*n * n + 3; } int main() { long i; i = 1; while (f(i) < g(i)) i = i*2; printf("%ld", i); return 0; } Ответ: ___________________________. Исполнитель Осень16 преобразует число на экране. У исполнителя есть три команды, которым присвоены номера: 1) прибавить 1; 2) прибавить 2; 3) прибавить 3. Первая команда увеличивает число на экране на 1, вторая увеличивает его на 2, третья – увеличивает на 3. Программа для исполнителя Осень16 – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 8? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 10, 11. Ответ: ___________________________. Сколько существует различных наборов значений логических переменных x1, x2, x3, x4, x5, x6, x7, x8, которые удовлетворяют всем перечисленным ниже условиям: ((x1 → x2) → (x3 → x4)) / ((x3 → x4) → (x5 → x6)) / ((x5 → x6) → (x7 → x8)) = 1; x1 / x3 / x5 / x7 = 1? В ответе не нужно перечислять все различные наборы значений переменных x1, x2, x3, x4, x5, x6, x7, x8, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов. Ответ: ___________________________. 22 23
  • 16. Вариант 1 19 Часть 2 Для записи ответов на задания этой части (24–27) используйте отдельный лист. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво. Дано натуральное число N > 10, в десятичной записи которого нет нулей. Необходимо определить максимальное двузначное число, которое можно увидеть в десятичной записи N. Например, для N = 1984 нужно получить результат 98, а для N = 271 828 – результат 82. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. Бейсик Python DIM N, K AS INTEGER INPUT N K = 0 WHILE N > 100 IF N MOD 100 > K THEN K = N MOD 100 END IF N = N 100 WEND PRINT K END n = int(input()) k = 0 while n > 100: if n%100 > k: k = n%100 n = n // 100 print(k) Алгоритмический язык Паскаль алг нач цел n, k ввод n k := 0 нц пока n > 100 если mod(n,100) > k то k:=mod(n,100) все n:=div(n,100) кц вывод k кон var n, k: integer; begin read(n); k := 0; while n > 100 do begin if n mod 100 > k then k := n mod 100; n := n div 100; end; writeln(k) end. 24
  • 17. Вариант 1 20 Си #include <stdio.h> int main(){ int n, k; scanf("%d", &n); k = 0; while (n > 100) { if (n%100 > k) k = n%100; n = n/100; } printf("%d", k); return 0; } Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 9876. 2. Приведите два возможных значения N, при вводе которых программа выведет верный ответ. Укажите этот ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования. Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться.
  • 18. Вариант 1 21 Дан массив, содержащий 2016 положительных целых чисел, не превышающих 1000. Необходимо найти и вывести максимальный из тех элементов этого массива, шестнадцатеричная запись которых заканчивается символом B. Если таких чисел в массиве нет, ответ считается равным нулю. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных. Бейсик Python CONST N=2016 DIM A(N) AS INTEGER DIM I, M, K AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END # допускается также использо- # вание целочисленных # переменных m, k a = [] N = 2016 for i in range(0, N): a.append(int(input())) … Алгоритмический язык Паскаль алг нач цел N=2016 целтаб a[1:N] цел i, m, k нц для i от 1 до N ввод a[i] кц … кон const N=2016; var a: array [1..N] of integer; i, m, k: integer; begin for i:=1 to N do readln(a[i]); … end. Си #include <stdio.h> #define N 2016 int main(){ int a[N]; int i, m, k; for (i=0; i<N; i++) scanf("%d", &a[i]); … return 0; } В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии. 25
  • 19. Вариант 1 22 Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в три раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 33. Если при этом в куче оказалось не более 89 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. Например, если в куче было 30 камней и Паша утроит количество камней в куче, то игра закончится и победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 32. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Выполните следующие задания. 1. а) При каких значениях числа S Паша может выиграть в один ход? Укажите все такие значения и соответствующие ходы Паши. б) У кого из игроков есть выигрышная стратегия при S = 31; 30; 29? Опишите выигрышные стратегии для этих случаев. 2. У кого из игроков есть выигрышная стратегия при S = 10; 9? Опишите соответствующие выигрышные стратегии. 3. У кого из игроков есть выигрышная стратегия при S = 8? Постройте дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход, в узлах – количество камней в позиции. Дан набор из N целых положительных чисел. Необходимо выбрать из набора произвольное количество чисел так, чтобы их сумма была как можно больше и при этом не делилась на 6. В ответе нужно указать количество выбранных чисел и их сумму, сами числа выводить не надо. Если получить нужную сумму невозможно, считается, что выбрано 0 чисел и их сумма равна 0. Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз. Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайт и не увеличивается с ростом N. 26 27
  • 20. Вариант 1 23 Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, – 4 балла. Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, – 3 балла. Максимальная оценка за правильную программу, не удовлетовряющую требованиям эффективности, – 2 балла. Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок. Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию. Описание входных и выходных данных В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000. Пример входных данных: 3 1 2 3 В результате работы программа должна вывести два числа: сначала количество выбранных чисел, затем их сумму. Пример выходных данных для приведённого выше примера входных данных: 2 5 В данном случае из предложенного набора нужно выбрать два числа (2 и 3), их сумма равна 5.
  • 21. 24 Вариант 2 Часть 1 Ответами к заданиям 1–23 являются число, последовательность букв или цифр. Запишите ответы в указанном месте без пробелов, запятых и других дополнительных символов. Вычислите: 101011012 – 2558 + D16. Ответ запишите в десятичной системе счисления. В ответе запишите только число, основание системы счисления писать не нужно. Ответ: ___________________________. Логическая функция F задается выражением ¬z / (¬x / y). Ниже приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z. Переменная 1 Переменная 2 Переменная 3 Функция ??? ??? ??? F 0 0 0 1 0 0 1 1 0 1 1 1 В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу, затем буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и таблица истинности. Переменная 1 Переменная 2 Функция ??? ??? F 0 0 1 0 1 0 1 0 1 1 1 1 Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать yx. Ответ: ___________________________. 1 2
  • 22. Вариант 2 25 На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах.   П1  П2 П3 П4 П5 П6 П7 П8 П1  15   20     18 П2  15  25         П3    25     24 22 П4  20          12   П5          13 16 17 П6      24   13 15 П7        12 16     П8  18    22   17 15 Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите длину дороги из пункта Е в пункт Л. В ответе запишите целое число. ВНИМАНИЕ! Длины отрезков на схеме не отражают длины дорог. Ответ: ___________________________. 3
  • 23. Вариант 2 26 Во фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите идентификационный номер (ID) родного брата Ландау М.А. Таблица 1 Таблица 2 ID Фамилия_И.О. Пол ID_Родителя ID_Ребёнка 2272 Диковец А.Б. Ж 2227 2272 2228 Диковец Б.Ф. М 2227 2299 2299 Диковец И.Б. М 2228 2272 2378 Диковец П.И. М 2228 2299 2356 Диковец Т.И. Ж 2272 2240 2265 Тесла А.И. Ж 2272 1202 2331 Тесла А.П. М 2272 1259 2261 Тесла Л.А. Ж 2299 2356 1259 Тесла П.А. М 2299 2378 1202 Ландау М.А. Ж 2322 2356 2227 Решко Д.А. Ж 2322 2378 2240 Решко В.А. Ж 2331 2240 2246 Месяц К.Г. М 2331 1202 2387 Лукина Р.Г. Ж 2331 1259 2293 Фокс П.А. Ж 2387 2261 2322 Друк Г.Р. Ж 2387 2293 … … … … … Ответ: ___________________________. По каналу связи передаются сообщения, содержащие только шесть букв: А, B, C, D, E, F. Для передачи используется неравномерный двоичный код, удовлетворяющий условию Фано. Для букв A, B, C используются такие кодовые слова: А – 11, B – 101, C – 0. Укажите кодовое слово наименьшей возможной длины, которое можно использовать для буквы F. Если таких слов несколько, укажите то из них, которое соответствует наибольшему возможному двоичному числу. Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова. Коды, удовлетворяющие условию Фано, допускают однозначное декодирование. Ответ: ___________________________. 4 5
  • 24. Вариант 2 27 Автомат получает на вход четырёхзначное десятичное число, в котором все цифры нечётные. По этому числу строится новое число по следующим правилам. 1. Складываются первая и вторая, а также третья и четвёртая цифры. 2. Полученные два числа записываются друг за другом в порядке неубывания (без разделителей). Пример. Исходное число: 7511. Суммы: 7+5 = 12; 1+1 = 2. Результат: 212. Сколько существует чисел, в результате обработки которых автомат выдаст число 414? Ответ: ___________________________. В некоторые ячейки электронной таблицы записаны числа, как показано на рисунке. A B C D E F 1 0 1 2 3 4 5 2 10 3 20 4 30 5 40 6 50 В ячейке D3 записали формулу =$A3 – D$1. После этого ячейку D3 скопировали в ячейку C5. Какое число будет показано в ячейке C5? Примечание. Знак $ используется для обозначения абсолютной адресации. Ответ: ___________________________. Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования. Бейсик Python DIM S, N AS INTEGER S = 0 N = 1 WHILE S < 150 S = S + 15 N = N * 2 WEND PRINT N s = 0 n = 1 while s < 150: s = s + 15 n = n * 2 print(n) 6 7 8
  • 25. Вариант 2 28 Алгоритмический язык Паскаль алг нач цел s, n s := 0 n := 1 нц пока s < 150 s := s + 15 n := n * 2 кц вывод n кон var s, n: integer; begin s := 0; n := 1; while s < 150 do begin s := s + 15; n := n * 2 end; writeln(n) end. Си #include <stdio.h> int main() { int s = 0; int n = 1; while (s < 150) { s = s + 15; n = n * 2; } printf("%dn", n); return 0; } Ответ: ___________________________. Производится четырёхканальная (квадро) звукозапись с частотой дискретизации 32 кГц и 32-битным разрешением. Результаты записываются в файл, сжатие данных не производится; размер полученного файла – 90 Мбайт. Определите приблизительно время записи (в минутах). В качестве ответа укажите ближайшее к времени записи целое число. Ответ: ___________________________. Пётр составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Пётр использует все пятибуквенные слова в алфавите {A, B, C, D, E, F}, удовлетворяющие такому условию: кодовое слово не может начинаться с буквы F и не может заканчиваться буквой A. Сколько различных кодовых слов может использовать Пётр? Ответ: ___________________________. 9 10
  • 26. Вариант 2 29 Ниже на пяти языках программирования записаны рекурсивные функции F и G. Бейсик Паскаль FUNCTION F(n) IF n > 2 THEN F = F(n-1) + G(n-2) ELSE F = n END IF END FUNCTION FUNCTION G(n) IF n > 2 THEN G = G(n-1) + F(n-2) ELSE G = 3-n END IF END FUNCTION function F(n: integer): integer; begin if n > 2 then F := F(n-1) + G(n-2) else F := n; end; function G(n: integer): integer; begin if n > 2 then G := G(n-1) + F(n-2) else G := 3-n; end; Си Алгоритмический язык int F(int n) { if (n > 2) return F(n-1) + G(n-2); else return n; } int G(int n) { if (n > 2) return G(n-1) + F(n-2); else return 3-n; } алг цел F(цел n) нач если n > 2 то знач := F(n-1) + G(n-2) иначе знач := n все кон алг цел G(цел n) нач если n > 2 то знач := G(n-1) + F(n-2) иначе знач := 3-n все кон Python def F(n): if n > 2: return F(n-1) + G(n-2) else: return n def G(n): if n > 2: return G(n-1) + F(n-2) else: return 3-n Чему будет равно значение, вычисленное при выполнении вызова F(6)? Ответ: ___________________________. 11
  • 27. Вариант 2 30 В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в двоичном представлении маски сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к IP-адресу узла и маске. Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0. Для узла с IP-адресом 136.128.196.48 адрес сети равен 136.128.192.0. Чему равно наибольшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа. Ответ: ___________________________. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 20 символов и содержащий только заглавные буквы латинского алфавита – всего 26 возможных символов. В базе данных для хранения сведений о каждом пользователе отведено одинаковое минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым минимально возможным количеством бит. Кроме собственно пароля для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт, одно и то же для всех пользователей. Для хранения сведений о 30 пользователях потребовалось 750 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт. Ответ: ___________________________. Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. 12 13 14
  • 28. Вариант 2 31 Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. Ниже приведена программа для исполнителя Редактор. НАЧАЛО ПОКА нашлось (19) ИЛИ нашлось (299) ИЛИ нашлось (3999) заменить (19, 2) заменить (299, 3) заменить (3999, 1) КОНЕЦ ПОКА КОНЕЦ На вход этой программе подаётся строка длины 94, состоящая из цифры 3, за которой следуют 93 идущие подряд цифры 9. Какая строка получится в результате применения программы к этой строке? Ответ: ___________________________. На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Т? Ответ: ___________________________. А Б Е М Н Т П РЛ Д В Г К 15
  • 29. Вариант 2 32 Восьмеричное число 77 в некоторой системе счисления записывается как 70. Определите основание системы счисления. Ответ: ___________________________. В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» – символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет. Запрос Найдено страниц (в тысячах) Сириус & Вега 260 Вега & (Сириус | Арктур) 467 Сириус & Вега & Арктур 131 Какое количество страниц (в тысячах) будет найдено по запросу Вега & Арктур ? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов. Ответ: ___________________________. Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n. Например, 14 & 5 = 11102 & 01012 = 01002 = 4. Для какого наименьшего неотрицательного целого числа А формула x&77 ≠ 0 → (x&12 = 0 → x&А ≠ 0) тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной х)? Ответ: ___________________________. 16 17 18
  • 30. Вариант 2 33 В программе используется одномерный целочисленный массив A с индексами от 0 до 10. Значения элементов равны 8, 3, 16, 24, 35, 18, 4, 72, 8, 99, 44 соответственно, т. е. A[0] = 8, A[1] = 3 и т. д. Определите значение переменной c после выполнения следующего фрагмента программы, записанного ниже на пяти языках программирования. Бейсик Python c = 0 FOR i = 1 TO 9 IF A(i) MOD 10 = A(0) THEN c = c + 1 t = A(i+1) A(i+1) = A(i) A(i) = t END IF NEXT i c = 0 for i in range(1,10): if A[i]%10 == A[0]: c = c + 1 t = A[i+1] A[i+1] = A[i] A[i] = t Алгоритмический язык Паскаль c := 0 нц для i от 1 до 9 если mod(A[i],10) = A[0] то c := c + 1 t := A[i+1] A[i+1] := A[i] A[i] := t все кц c := 0; for i := 1 to 9 do begin if A[i] mod 10 = A[0] then begin c := c + 1; t := A[i+1]; A[i+1] := A[i]; A[i] := t; end; end; Си c = 0; for (i = 1; i < 10; i++) { if (A[i]%10 == A[0]) { c++; t = A[i+1]; A[i+1] = A[i]; A[i] = t; } } Ответ: ___________________________. 19
  • 31. Вариант 2 34 Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 150. Укажите наименьшее такое (т. е. большее 150) число x, при вводе которого алгоритм печатает 30. Бейсик Python DIM X, L, M AS INTEGER INPUT X L = 2*X-30 M = 2*X+30 WHILE L <> M IF L > M THEN L = L - M ELSE M = M - L END IF WEND PRINT M x = int(input()) L = 2*x-30 M = 2*x+30 while L != M: if L > M: L = L - M else: M = M - L print(M) Алгоритмический язык Паскаль алг нач цел x, L, M ввод x L := 2*x-30 M := 2*x+30 нц пока L <> M если L > M то L := L - M иначе M := M - L все кц вывод M кон var x, L, M: integer; begin readln(x); L := 2*x-30; M := 2*x+30; while L <> M do begin if L > M then L := L - M else M := M - L; end; writeln(M); end. 20
  • 32. Вариант 2 35 Си #include <stdio.h> int main() { int x, L, M; scanf("%d", &x); L = 2*x-30; M = 2*x+30; while (L != M) { if (L > M) L = L - M; else M = M - L; } printf("%d", M); return 0; } Ответ: ___________________________. Определите число, которое напечатает программа. Для Вашего удобства программа приведена на пяти языках программирования. Бейсик Python DIM I AS LONG I = 1 WHILE F(I) < G(I) I = I * 2 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = 500 * N * N + 3 END FUNCTION def f(n): return n*n*n def g(n): return 500 * n * n +3 i = 1 while f(i) < g(i): i*=2 print (i) 21
  • 33. Вариант 2 36 Алгоритмический язык Паскаль алг нач цел i i := 1 нц пока f(i) < g(i) i := i * 2 кц вывод i кон алг цел f(цел n) нач знач := n * n * n кон алг цел g(цел n) нач знач := 500 * n * n + 3 кон var i : longint; function f(n: longint): longint; begin f := n * n * n; end; function g(n: longint): longint; begin g := 500 * n * n + 3; end; begin i := 1; while f(i) < g(i) do i := i*2; writeln(i) end. Си #include <stdio.h> long f(long n) { return n * n * n; } long g(long n) { return 500 * n * n + 3; } int main() { long i; i = 1; while (f(i) < g(i)) i = i*2; printf("%ld", i); return 0; } Ответ: ___________________________.
  • 34. Вариант 2 37 Исполнитель Осень16 преобразует число на экране. У исполнителя есть три команды, которым присвоены номера: 1) прибавить 1; 2) прибавить 2; 3) прибавить 4. Первая команда увеличивает число на экране на 1, вторая увеличивает его на 2, третья – увеличивает на 4. Программа для исполнителя Осень16 – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 8? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 10, 11. Ответ: ___________________________. Сколько существует различных наборов значений логических переменных x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, которые удовлетворяют всем перечисленным ниже условиям: ((x1 → x2) → (x3 → x4)) / ((x3 → x4) → (x5 → x6)) = 1; ((x5 → x6) → (x7 → x8 )) / ((x7 → x8) → (x9 → x10 )) = 1; x1 / x3 / x5 / x7 / x9 = 1? В ответе не нужно перечислять все различные наборы значений переменных x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов. Ответ: ___________________________. Часть 2 Для записи ответов на задания этой части (24–27) используйте отдельный лист. Запишите сначала номер задания (24, 25 и т. д.), а затем полное решение. Ответы записывайте чётко и разборчиво. Дано натуральное число N > 10, в десятичной записи которого нет нулей. Необходимо определить минимальное двузначное число, которое можно увидеть в десятичной записи N. Например, для N = 1984 нужно получить результат 19, а для N = 271 828 – результат 18. Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная. Ниже эта программа для Вашего удобства приведена на пяти языках программирования. 22 23 24
  • 35. Вариант 2 38 Бейсик Python DIM N, K AS INTEGER INPUT N K = 100 WHILE N > 100 IF N MOD 100 < K THEN K = N MOD 100 END IF N = N 100 WEND PRINT K END n = int(input()) k = 100 while n > 100: if n%100 < k: k = n%100 n = n // 100 print(k) Алгоритмический язык Паскаль алг нач цел n, k ввод n k := 100 нц пока n > 100 если mod(n,100) < k то k:=mod(n,100) все n:=div(n,100) кц вывод k кон var n, k: integer; begin read(n); k := 100; while n > 100 do begin if n mod 100 < k then k := n mod 100; n := n div 100; end; writeln(k) end. Си #include <stdio.h> int main(){ int n, k; scanf("%d", &n); k = 100; while (n > 100) { if (n%100 < k) k = n%100; n = n/100; } printf("%d", k); return 0; } Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе N = 6789. 2. Приведите два возможных значения N, при вводе которых программа выведет верный ответ. Укажите этот ответ. 3. Найдите в программе все ошибки (их может быть одна или несколько). Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде. Достаточно указать ошибки и способ их исправления для одного языка программирования.
  • 36. Вариант 2 39 Обратите внимание: Вам нужно исправить приведённую программу, а не написать свою. Вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые. Заменять следует только ошибочные строки: за исправления, внесённые в строки, не содержащие ошибок, баллы будут снижаться. Дан массив, содержащий 2016 положительных целых чисел, не превышающих 1000. Необходимо найти и вывести максимальный из тех элементов этого массива, шестнадцатеричная запись которых заканчивается символом E. Если таких чисел в массиве нет, ответ считается равным нулю. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных переменных. Бейсик Python CONST N=2016 DIM A(N) AS INTEGER DIM I, M, K AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I … END # допускается также использо- # вание целочисленных # переменных m, k a = [] N = 2016 for i in range(0, N): a.append(int(input())) … Алгоритмический язык Паскаль алг нач цел N=2016 целтаб a[1:N] цел i, m, k нц для i от 1 до N ввод a[i] кц … кон const N=2016; var a: array [1..N] of integer; i, m, k: integer; begin for i:=1 to N do readln(a[i]); … end. Си #include <stdio.h> #define N 2016 int main(){ int a[N]; int i, m, k; for (i=0; i<N; i++) scanf("%d", &a[i]); … return 0; } 25
  • 37. Вариант 2 40 В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и версию языка программирования). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии. Два игрока, Паша и Валя, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в три раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16 или 45 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 36. Если при этом в куче оказалось не более 98 камней, то победителем считается игрок, сделавший последний ход. В противном случае победителем становится его противник. Например, если в куче было 33 камня и Паша утроит количество камней в куче, то игра закончится и победителем будет Валя. В начальный момент в куче было S камней, 1 ≤ S ≤ 35. Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Выполните следующие задания. 1. а) При каких значениях числа S Паша может выиграть в один ход? Укажите все такие значения и соответствующие ходы Паши. б) У кого из игроков есть выигрышная стратегия при S = 34; 33; 32? Опишите выигрышные стратегии для этих случаев. 2. У кого из игроков есть выигрышная стратегия при S = 11; 10? Опишите соответствующие выигрышные стратегии. 3. У кого из игроков есть выигрышная стратегия при S = 9? Постройте дерево всех партий, возможных при этой выигрышной стратегии (в виде рисунка или таблицы). На рёбрах дерева указывайте, кто делает ход, в узлах – количество камней в позиции. 26
  • 38. Вариант 2 41 Дан набор из N целых положительных чисел. Необходимо выбрать из набора произвольное количество чисел так, чтобы их сумма была как можно больше и при этом не делилась на 8. В ответе нужно указать количество выбранных чисел и их сумму, сами числа выводить не надо. Если получить нужную сумму невозможно, считается, что выбрано 0 чисел и их сумма равна 0. Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз. Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 килобайт и не увеличивается с ростом N. Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, – 4 балла. Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, – 3 балла. Максимальная оценка за правильную программу, не удовлетовряющую требованиям эффективности, – 2 балла. Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок. Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию. Описание входных и выходных данных В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000). В каждой из последующих N строк записано одно натуральное число, не превышающее 10 000. Пример входных данных: 3 1 2 5 В результате работы программа должна вывести два числа: сначала количество выбранных чисел, затем их сумму. Пример выходных данных для приведённого выше примера входных данных: 2 7 В данном случае из предложенного набора нужно выбрать два числа (2 и 5), их сумма равна 7. 27
  • 39. 42 Вариант 3 Часть 1 Ответами к заданиям 1–23 являются число, последовательность букв или цифр. Запишите ответы в указанном месте без пробелов, запятых и других дополнительных символов. Вычислите: 101010102 – 2508 + 716. Ответ запишите в десятичной системе счисления. В ответе запишите только число, основание системы счисления писать не нужно. Ответ: ___________________________. Логическая функция F задаётся выражением (x / y / z) / (x / ¬z). Ниже приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z. Переменная 1 Переменная 2 Переменная 3 Функция ??? ??? ??? F 0 0 1 1 1 0 1 1 1 1 1 1 В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала буква, соответствующая первому столбцу, затем буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. Пример. Пусть задано выражение x → y, зависящее от двух переменных x и y, и таблица истинности. Переменная 1 Переменная 2 Функция ??? ??? F 0 0 1 0 1 0 1 0 1 1 1 1 Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать yx. Ответ: ___________________________. 1 2
  • 40. Вариант 3 43 На рисунке схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длине этих дорог в километрах. П1 П2 П3 П4 П5 П6 П7 П1 10 П2 20 П3 10 20 8 П4 8 15 12 П5 15 П6 12 18 П7 18 Так как таблицу и схему рисовали независимо друг от друга, нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите длину дороги из пункта Б в пункт Г. В ответе запишите целое число. ВНИМАНИЕ! Длины отрезков на схеме не отражают длины дорог. Ответ: ___________________________. А Б В Г Д Е К 3
  • 41. Вариант 3 44 В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите идентификационный номер (ID) тёти Решко П.И. Пояснение. Тётей считается сестра отца или матери. Таблица 1 Таблица 2 ID Фамилия_И.О. Пол ID_Родителя ID_Ребёнка 745 Решко А.К. М 4318 894 894 Решко Т.И. Ж 4464 894 1474 Лагидзе С.А. Ж 4328 1474 2178 Муромец А.А. М 6321 1474 3470 Мороз А.А. Ж 4328 4177 4177 Седых П.А. М 6321 4177 4178 Микоян Н.А. Ж 4318 4179 4179 Решко П.И. М 4464 4179 4318 Решко И.А. М 745 4318 4328 Решко Е.А. Ж 5887 4318 4464 Решко С.Х. Ж 745 4328 5178 Микоян В.А. Ж 5887 4328 5887 Муромец Л.П. Ж 4328 5178 6321 Седых А.П. М 6321 5178 … … … … … Ответ: ___________________________. Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв А, Б, В, Г использовали соответственно кодовые слова 000, 001, 10, 11. Укажите кратчайшее возможное кодовое слово для буквы Д, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением. Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Коды, удовлетворящие условию Фано, допускают однозначное декодирование. Ответ: ___________________________. 4 5
  • 42. Вариант 3 45 Автомат получает на вход нечётное число X. По этому числу строится трёхзначное число Y по следующим правилам. 1. Первая цифра числа Y (разряд сотен) – остаток от деления X на 4. 2. Вторая цифра числа Y (разряд десятков) – остаток от деления X на 3. 3. Третья цифра числа Y (разряд единиц) – остаток от деления X на 2. Пример. Исходное число: 63179. Остаток от деления на 4 равен 3; остаток от деления на 3 равен 2; остаток от деления на 2 равен 1. Результат работы автомата: 321. Укажите наименьшее двузначное число, при обработке которого автомат выдаёт результат 101. Ответ: ___________________________. Дан фрагмент электронной таблицы. Из ячейки A2 в ячейку B3 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Каким стало числовое значение формулы в ячейке B3? А В С D E 1 40 5 100 10 1 2 =C$2+$D2 6 200 20 2 3 20 300 30 3 4 10 8 400 40 4 Примечание. Знак $ обозначает абсолютную адресацию. Ответ: ___________________________. Запишите число, которое будет напечатано в результате выполнения следующей программы. Для Вашего удобства программа представлена на пяти языках программирования. Бейсик Python DIM S, N AS INTEGER S = 0 N = 0 WHILE 2*S*S <= 10*S S = S + 1 N = N + 2 WEND PRINT N s = 0 n = 0 while 2*s*s <= 10*s: s = s + 1 n = n + 2 print(n) 6 7 8
  • 43. Вариант 3 46 Алгоритмический язык Паскаль алг нач цел n, s n := 0 s := 0 нц пока 2*s*s <= 10*s s := s + 1 n := n + 2 кц вывод n кон var s, n: integer; begin s := 0; n := 0; while 2*s*s <= 10*s do begin s := s + 1; n := n + 2 end; writeln(n) end. Си #include <stdio.h> int main() { int s = 0, n = 0; while (2*s*s <= 10*s) { s = s + 1; n = n + 2; } printf("%dn", n); return 0; } Ответ: ___________________________. Производится двухканальная (стерео) звукозапись с частотой дискретизации 32 кГц и 32-битным разрешением. Запись длится 2 минуты, её результаты записываются в файл, сжатие данных не производится. Определите приблизительно размер полученного файла (в мегабайтах). В качестве ответа укажите ближайшее к размеру файла целое число, кратное 10. Ответ: ___________________________. Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует 6-буквенные слова, в которых есть только буквы A, B, X, причём буква X появляется ровно один раз. Каждая из букв A, B может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь? Ответ: ___________________________. 9 10
  • 44. Вариант 3 47 Ниже на пяти языках программирования записаны рекурсивные функции: F и G. Бейсик Паскаль FUNCTION F(n) IF n > 1 THEN F = F(n - 1) + G(n - 1) ELSE F = n END IF END FUNCTION FUNCTION G(n) IF n > 1 THEN G = G(n - 1) + F(n) ELSE G = n END IF END FUNCTION function F(n: integer): integer; begin if n > 1 then F := F(n - 1) + G(n - 1) else F := n; end; function G(n: integer): integer; begin if n > 1 then G := G(n - 1) + F(n) else G := n; end; Си Алгоритмический язык int F(int n) { if (n > 1) return F(n-1) + G(n-1); else return n; } int G(int n) { if (n > 1) return G(n-1) + F(n); else return n; } алг цел F(цел n) нач если n > 1 то знач := F(n - 1)+G(n - 1) иначе знач := n все кон алг цел G(цел n) нач если n > 1 то знач := G(n - 1)+F(n) иначе знач := n все кон Python def F(n): if n > 1: return F(n-1) + G(n-1) else: return n def G(n): if n > 1: return G(n-1) + F(n) else: return n Чему будет равно значение, вычисленное при выполнении вызова F(5)? Ответ: ___________________________. 11
  • 45. Вариант 3 48 В терминологии сетей TCP/IP маской сети называется двоичное число, опреде- ляющее, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу самого узла в этой сети. При этом в двоичном представлении маски сначала (в старших разрядах) стоят единицы, а затем с некоторого разряда – нули. Обычно маска записывается по тем же правилам, что и IP-адрес, – в виде четырёх байтов, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданным IP-адресу узла и маске. Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0. Для узла с IP-адресом 119.83.208.27 адрес сети равен 119.83.192.0. Каково наибольшее возможное количество единиц в разрядах маски? Ответ: ___________________________. При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 20 символов и содержащий только прописные символы латинского алфавита (всего 26 возможных символов). В базе данных для хранения сведений о каждом пользователе отведено одинаковое минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым минимально возможным количеством бит. Кроме собственно пароля для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт, одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 400 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт. Ответ: ___________________________. 12 13
  • 46. Вариант 3 49 Исполнитель Редактор получает на вход строку цифр и преобразует её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. А) заменить (v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить (111, 27) преобразует строку 05111150 в строку 0527150. Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку. Б) нашлось (v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл ПОКА условие последовательность команд КОНЕЦ ПОКА выполняется, пока условие истинно. В конструкции ЕСЛИ условие ТО команда1 ИНАЧЕ команда2 КОНЕЦ ЕСЛИ выполняется команда1 (если условие истинно) или команда2 (если условие ложно). Ниже приведена программа для исполнителя Редактор. НАЧАЛО ПОКА нашлось (81) ИЛИ нашлось (882) ИЛИ нашлось (8883) ЕСЛИ нашлось (81) ТО заменить (81, 2) ИНАЧЕ ЕСЛИ нашлось (882) ТО заменить (882, 3) ИНАЧЕ заменить (8883, 1) КОНЕЦ ЕСЛИ КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ На вход этой программе подаётся строка длины 101, в которой первый и последний символ – это цифры 2, а остальные символы – цифры 8. Какая строка получится в результате применения программы к этой строке? Ответ: ___________________________. 14
  • 47. Вариант 3 50 На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М, Н, П, Р, Т. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Т? Ответ: ___________________________. Известно, что 152N = 125N + 1. Определите значение числа N. Ответ: ___________________________. В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для обозначения логической операции «И» – символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет. Запрос Найдено страниц (в тысячах) Мадрид & Севилья 290 Мадрид & (Барселона | Севилья) 465 Мадрид & Барселона 355 Какое количество страниц (в тысячах) будет найдено по запросу Мадрид & Барселона & Севилья? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов. Ответ: ___________________________. 15 16 17
  • 48. Вариант 3 51 Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n. Например, 14&5 = 11102&01012 = 01002 = 4. Для какого наименьшего неотрицательного целого числа А формула x&25 ≠ 0 → (x&19 = 0 → x&А ≠ 0) тождественно истинна (т. е. принимает значение 1 при любом неотрицательном целом значении переменной х)? Ответ: ___________________________. В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 1, 2, 18, 8, 14, 9, 23, 7, 51, 99 соответственно, т. е. A[0] = 1, A[1] = 2 и т. д. Определите значение переменной t после выполнения следующего фрагмента программы, записанного ниже на разных языках программирования. Бейсик Python i = 0: j = 9 WHILE A(i) < 10 i = i + 1 WEND WHILE A(j) > 10 j = j - 1 WEND t = A(i) - A(j) i = 0 j = 9 while A[i] < 10: i += 1 while A[j] > 10: j -= 1 t = A[i] - A[j] Алгоритмический язык Паскаль i := 0; j := 9 нц пока A[i] < 10 i := i + 1 кц нц пока A[j] > 10 j := j - 1 кц t := A[i] - A[j] i := 0; j := 9; while A[i] < 10 do i := i + 1; while A[j] > 10 do j := j - 1; t := A[i] - A[j]; Си i = 0; j = 9; while (A[i] < 10) i += 1; while (A[j] > 10) j -= 1; t = A[i] - A[j]; Ответ: ___________________________. 18 19
  • 49. Вариант 3 52 Ниже на пяти языках программирования записан алгоритм. Получив на вход натуральное число x, этот алгоритм печатает число S. Укажите наименьшее число x, при вводе которого алгоритм печатает пятизначное число. Бейсик Python DIM X, D, R, S AS LONG INPUT X S = X R = 0 WHILE X>0 D = X MOD 2 R = 10*R + D X = X 2 WEND S = R + S PRINT S x = int(input()) S = x R = 0 while x>0: d = x % 2 R = 10*R + d x = x // 2 S = R + S print(S) Алгоритмический язык Паскаль алг нач цел x, d, R, S ввод x S := x R := 0 нц пока x>0 d := mod(x, 2) R := 10*R + d x := div(x, 2) кц S := R + S вывод S кон var x, d, R, S: longint; begin readln(x); S := x; R := 0; while x>0 do begin d := x mod 2; R := 10*R + d; x := x div 2 end; S := R + S; writeln(S) end. Си #include <stdio.h> int main() { long x, d, R, S; scanf("%ld", &x); S = x; R = 0; while (x>0) { d = x % 2; R = 10*R + d; x = x / 2; } S = R + S; printf("%ld", S); return 0; } Ответ: ___________________________. 20
  • 50. Вариант 3 53 Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт ответ 29. Для Вашего удобства программа приведена на пяти языках программирования. Бейсик Python DIM K, I AS LONG INPUT K I = 1 WHILE F(I) < K*G(I) I = I + 1 WEND PRINT I FUNCTION F(N) F = N * N * N END FUNCTION FUNCTION G(N) G = N * N END FUNCTION def f(n): return n*n*n def g(n): return n*n k = int(input()) i = 1 while f(i) < k*g(i): i += 1 print (i) Алгоритмический язык Паскаль алг нач цел i, k ввод k i := 1 нц пока f(i) < k*g(i) i := i + 1 кц вывод i кон алг цел f(цел n) нач знач := n * n * n кон алг цел g(цел n) нач знач := n * n кон var k, i : longint; function f(n: longint): longint; begin f := n * n * n; end; function g(n: longint): longint; begin g := n*n; end; begin readln(k); i := 1; while f(i) < k*g(i) do i := i+1; writeln(i) end. 21
  • 51. Вариант 3 54 Си #include <stdio.h> long f(long n) { return n*n*n; } long g(long n) { return n*n; } int main() { long k, i; scanf("%ld", &k); i = 1; while (f(i) < k*g(i)) i++; printf("%ld", i); return 0; } Ответ: ___________________________. Исполнитель Май17 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1) прибавить 1; 2) прибавить 3. Первая команда увеличивает число на экране на 1, вторая увеличивает его на 3. Программа для исполнителя Май17 – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 15 и при этом траектория вычислений содержит число 8? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 11, 12. Ответ: ___________________________. 22