1.(1 балл) В одной из кодировок Unicode каждый символ кодируется 16 битами. Иван написал текст (в нём нет лишних пробелов):
Рак, Весы, Орион, Дракон, Козерог, Близнецы, Андромеда, Наугольник – созвездия.
Ученик вычеркнул из списка название одного созвездия. Заодно он вычеркнул ставшие лишними запятые и пробелы – два пробела не должны идти подряд. При этом размер нового предложения в данной кодировке оказался на 10 байт меньше, чем размер исходного предложения. Запишите в ответе вычеркнутое название созвездия.
Ответ: ___________________________.
2.(1 балл) Охотник из африканского племени Хауса оставил для соплеменников послание из зарубок на дереве:
/ / / / / /
В послании использовались только буквы A,B,E,I,K,N,O. Коды каждой из букв представлены в таблице.
ABEIKNO
/ / / \ / / // / / /
Расшифруйте сообщение. Запишите в ответе послание.
Ответ: ________________________________________
3.(1 балл) Переведите число 1101110 из двоичной системы счисления в десятичную систему счисления.
Ответ: ___________________________.
4.(1 балл) Переведите число 131 из десятичной системы счисления в двоичную систему счисления. Сколько единиц содержит полученное число? В ответе укажите одно число — количество единиц.
Ответ: ___________________________.
5.(1 балл) Для какого из указанных слов ложно высказывание:
НЕ (1-я буква гласная) ИЛИ ((2-я буква согласная) И (последняя буква согласная)):
1) ямтхунд
2) уиппет
3) саиди
4) азавак
Ответ: ___________________________.
6.(1 балл) Запишите наименьшее число x, для которого истинно высказывание:
(x >= 50) И НЕ (x – чётное).
Ответ: ___________________________.
7.(1 балл) На уроке информатики ученики познакомились с этапами создания презентации. Расставь их в правильной последовательности.
1.Разработка сценария
2.Выбор подходящего шаблона
3.Монтаж презентации
4.Выбор темы и подбор материала
5.Репетиция выступления
Ответ: ___________________________.
8.(1 балл) У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. вычти 2
Первая из них возводит число на экране во вторую степень, вторая — вычитает из числа 2. Составьте алгоритм получения из числа 10 числа 92, содержащий не более 5 команд. В ответе запишите только номера команд. Если таких алгоритмов более одного, то запишите любой из них.
Ответ: ___________________________.
9.(1 балл) У исполнителя Бета две команды, которым присвоены номера:
1. прибавь b
2. умножь на 2
Выполняя первую из них, Бета увеличивает число на экране на 1, а выполняя вторую, умножает это число на b (b – неизвестное натуральное число; b ≥2). Программа для исполнителя Бета – это последовательность номеров команд. Известно, что программа 11221 переводит число 2 в число 63. Определите значение b.
Ответ: ___________________________.
Прикрепляю файл с сохранением форматирования. Его же можно переименовать в файл с расширением .py и запустить в интерпретаторе, проверить работоспособность.
И да, единица тоже является степенью двойки, так что checkBy2(1) выдаст «да»
def reverseNumber(x, n=0):
s = list(str(x)) if type(x) == int else x
if n*2 >= len(s):
return int(».join(s))
else:
s[n],s[len(s)-n-1] = s[len(s)-n-1],s[n]
return reverseNumber(s, n+1)
# Сложность O(n), где n — количество символов в строковом представлении x
# либо, если n воспринимать как число, O(logn)
print(reverseNumber(12345))
def printBelow(x, current=1):
if x > 0 and current <= x:
print(current)
printBelow(x, current+1)
# Сложность O(n), если считать сложность перевода числа в строку константной
printBelow(10)
def checkBy2(x):
if x == 1:
print(«Да»)
elif x % 2 != 0 or x < 1:
print(«Нет»)
else:
checkBy2(x//2)
# Сложность O(logn), если не используется длинная арифметика, т.к. в худшем случае
# для увеличения рекурсивных вызовов на n нужно увеличить число в 2^n раз
checkBy2(31)
checkBy2(32)