Задание 1
В одной из кодировок Unicode каждый символ кодируется 16 битами. Миша написал текст (в нем нет лишних пробелов):
«Хром, серебро, титан, марганец, тантал, медь, резерфордий, мейтнерий, цинк являются щелочными металлами».
Ученик вычеркнул из списка название одного из металлов. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 14 байт меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название металла.
Решение:
Для начала нам нужно перевести в одни единицы измерения. В условиях задачи есть и биты так и байты. Переведем все в байты «каждый символ кодируется 16 битами.» 1 байт = 8 бит, соответственно 16/8 = 2 байта. Каждый символ кодируется 2 байтами. Определяем размер слова, но при этом учитываем, что помимо слова ученик вычеркнул запятые и пробелы, а это еще два символа. 14/2 = 7 байт это размер всего, что вычеркнул Миша, а нам нужно определить слово, помним, что нам нужно еще убрать два символа (пробел и запятую). И получаем 7-2=5 символов. Ищем слово, которое состоит из 5 символов и обнаруживаем, что это слово титан. Ответ: титан.
Задание 2
От разведчика было получено сообщение:
1100110010011000
В этом сообщении зашифрован пароль — последовательность русских букв. В пароле использовались только буквы Д, О, И, Т, Р, К; каждая буква кодировалась двоичным словом по текущей таблице:
Расшифруйте сообщение. Запишите в ответе пароль.
Решение:
Методом подбора внимательно подставляем буквы в наше сообщение, пока не получится подставить все буквы в сообщение полностью. Идем слева направо, на единицу у нас начинается только буква «Д» это «11». Отделяем ее
11|00110010011000
Смотрим дальше, подходит только буква «И», она шифруется как «001», отделяем ее
11|001|10010011000
И дальше по такому принципу ищем соответствия и пишем буквы и получаем:
Не всегда в ответе может получится внятное слово, может быть также и набор букв. Ответ: диктор.
Задание 3
Напишите наибольшее целое число x, для которого истинно высказывание: (x ≥ 11) И НЕ (x ≥ 29).
Решение:
«И» в логических выражениях это тоже самое что и умножение, соответственно, чтобы получить истину (1), нам нужно, чтобы в скобках была тоже истина, если где-то будет ложное выражение (0), то в конечном итоге мы тоже получим ложь, потому что это будет умножение на ноль.
Также для удобства избавимся от «НЕ» — отрицания. Для этого мы меняем знак в скобках на противоположный. Таже нужно запомнить, если у нас в знаке присутствует знак равно, то мы его убираем, точно также и в противоположном случае если в знаке нет «равно», то при сокращении отрицания мы его добавляем. Например «НЕ ≥» будет равно «<». И соответственно «НЕ >» будет равно «≤». Отрицание это полная противоположность. Исходя из всего этого НЕ (x ≥ 29) равняется (x < 29). Подставляем и получаем (x ≥ 11) и (x < 29). Нам нужно найти максимальное значение x, а это будет 28. Не 29, потому что у нас в знаке нет равенства. Ответ: 28.
Задание 4
Между населёнными пунктами А, В, С, D и E построены дороги, протяжённость которых приведена в таблице. (Прочерк в таблице означает, что прямой дороги между пунктами нет.)
Определите длину кратчайшего пути между пунктами A и E, проходящего через пункт C. Передвигаться можно только по дорогам, протяженность которых указана в таблице, два раза посещать один пункт нельзя.
Решение:
Здесь самое главное начертить грамотно граф. Также нужно обратить внимание, что нам нужно найти путь который обязательно проходит через город C. Для начала расставим наши города на чертеже, для удобства город «С» мы начертим по центру, потому что он обязательно будет задействован.
Далее рисуем пути и подписываем длину каждого пути:
Если вы не понимаете как получить такой чертеж, то спросите у меня как его делать. Далее анализируем свой граф и ищем наименьший путь. А это путь А→D→C→B→E = 3+5+9+4 = 21. Ответ: 21
Задание 5
У исполнителя Вычислитель имеются две команды:
1) прибавь 1
2) умножь на x
(x — неизвестное натуральное число; x ≥ 2).
Выполняя первую из них, Вычислитель прибавляет к числу на экране 1, а выполняя вторую, умножает это число на x. Программа для исполнителя Вычислитель — это последовательность номеров команд. Известно, что программа 11121 переводит число 5 в число 73.
Решение:
1) Действие первое: 5+1 =6
2) Действие второе: 6+1 =7
3) Действие третье: 7+1 =8
4) Действие четвертое: здесь у нас уже идет умножение на неизвестное число, которое больше и равно двум, нам нужно число 8 как можно ближе приблизить к 73. Возьмем число 9. Получаем 8*9 = 72.
5) Действие пятое: 72+1=73
Мы в x подставили число 9. Соответственно ответ: 9
Задание 6
Ниже приведён алгоритм, записанный на языке программирования Python (*не вижу смысла мне переписывать здесь все пять языков):
s = int(input()) k = int(input()) if s < 6 and k < 4: print("ДА") else: print("НЕТ")
Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел: (11, 3); (6, 2); (5, 4); (4, 1); (-8, 0); (5, -6); (4, 4); (0, 0); (-5, -5). Сколько было запусков, при которых программа напечатала «ДА» ?
Решение:
Смотрим условие, при котором у нас выводится «ДА», а это s < 6 и k < 4. Также как и в третьем задании у нас здесь логическое умножение, потому что в коде написано «and», а это «и». Соответственно для того, чтобы код выводил сообщение «ДА» нам нужно, чтобы выполнялись два условия, у нас s должно быть меньше 6 и k должно быть меньше 4, только при выполнении всех этих условий код будет печатать «ДА». Логически это можно представить так: s < 6 ^ k < 4 = 1 (ИСТИНА).
Проверяем каждые пары чисел.
1) (11, 3); — выведет «НЕТ», не выполняется первое условие s < 6
2) (6, 2); — выведет «НЕТ», не выполняется первое условие s < 6
3) (5, 4); — выведет «НЕТ», не выполняется второе условие k < 4
4) (4, 1); — выведет «ДА», выполняются оба условия s < 6 ^ k < 4 = 1
5) (-8, 0); — выведет «ДА», выполняются оба условия s < 6 ^ k < 4 = 1
6) (5, -6); — выведет «ДА», выполняются оба условия s < 6 ^ k < 4 = 1
7) (4, 4); — выведет «НЕТ», не выполняется второе условие k < 4
8) (0, 0); — выведет «ДА», выполняются оба условия s < 6 ^ k < 4 = 1
9) (-5, -5). — выведет «ДА», выполняются оба условия s < 6 ^ k < 4 = 1
Пять раз программа выведет «ДА». Ответ: 5
Задание 7
Доступ к файлу inf.net, находящемуся на сервере gia.edu, осуществляется по протоколу https. Фрагменты адреса файла закодированы цифрами от 1 до 7.
Запишите последовательность этих цифр, кодирующую адрес указанного файла в сети Интернет.
1) gia
2) inf
3) ://
4) /
5) https
6) .edu
7) .net
Решение:
Для удобства я рекомендую читать данное задание «задом наперед». По протоколу https → на сервере gia.edu → к файлу inf.net. Дальше расставляем ссылку в логическом порядке. Запоминаем, что сначала в ссылках идет протокол https, после него следует разделитель ://, далее доменное имя, например, burlakov.org , если мы хотим что-то открыть на веб сайте кроме главной страницы, то после доменного имени мы пишем слэш «/», и в последнюю очередь в URL адресе мы указываем куда мы хотим попасть в конечном итоге, в нашем случае это файл inf.net. Записываем, разделяем на составные части и в ответе записываем порядок цифр.
И получаем ответ: 5316427
Задание 8
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Какое количество страниц (в тысячах) будет найдено по запросу Янтарь | Смола ? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Решение:
Рисуем множества и получаем:
Нам нужно найти объединение двух множеств, на первый взгляд может показаться, что будет просто достаточно их сложить и получить ответ, но дело в том, что у нас есть их пересечение и при решении нам нужно его учитывать, при поиске пересечение множеств не будет дублироваться на одинаковые страницы, соответственно из суммы множеств нужно будет отнять их пересечение. 760 + 490 — 210 = 1040. Ответ: 1040.
Задание 9
На рисунке изображена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж и К. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город К, проходящих через город Е ?
Решение:
Нам нужно посчитать сколько существует путей из А в К и проходящих через Е. Соответственно нам не нужно считать абсолютно все пути, а только те, где задействована Е. Лишние пути мы можем убрать с чертежа, чтобы они нас не путали. И оставить только те, которые нам нужны для решения задачи.
Теперь для удобства на чертеже напишем сколько дорог входит в каждую точку.
Всегда изначально начальная точка имеет число 1. В точку «Г» входит одна дорога «А» поэтому число 1. В точку «В» входят две дороги (А Г) у А дороги 1 путь как и у дороги Г, 1+1=2. В точку «Ж» входит одна дорога «Г» она равна 1, поэтому и «Ж» будет равна 1. В точку «Е» входят три дороги (В Г Ж) В=2 Г=1 Ж=1, соответственно Е = 2+1+1=4. В точку «К» входит только дорога «Е», а она равна 4. Соответственно ответ: 4
Задание 10
Среди приведенных ниже трех чисел, записанных в различных системах счисления, найдите максимальное и запишите его в ответе в десятичной системе счисления. В ответе запишите только число, основание системы счисления указывать не нужно.
2116, 408, 110012
Переводим все в десятичную систему счисления и ищем наибольшее число
2116 = 2 * 161 + 1 * 160 = 32+1 = 33
408 = 4 * 81 = 32
110012 = 24 + 23 + 1 = 16 + 8 + 1 = 25
Наибольшее число 33. Ответ: 33
Альтернативное объяснение решения