1.
В одной из кодировок Unicode каждый символ кодируется 16 битами. Ваня написал текст (в нем нет лишних пробелов):
«Уфа, Азов, Пермь, Белово, Вологда, Камбарка, Соликамск — города России».
Ученик вычеркнул из списка название одного из городов. Заодно он вычеркнул ставшие лишними запятые и пробелы — два пробела не должны идти подряд.
При этом размер нового предложения в данной кодировке оказался на 22 байта меньше, чем размер исходного предложения. Напишите в ответе вычеркнутое название города России.
Решение:Поскольку один символ кодируется двумя байтами, из текста удалили 11 символов. Заметим, что лишние запятая и пробел занимают четыре байта. Значит, название города, которое удалили из списка, должно состоять из 9 букв, поскольку (22 − 4) : 2 = 9 символов. Из всего списка только одно название города России состоит из 9 букв — Соликамск.
ответ:Соликамск.
2.
От разведчика была получена следующая шифрованная радиограмма, переданная с использованием азбуки Морзе:
–•–•–•––••–••–•–••
При передаче радиограммы было потеряно разбиение на буквы, но известно, что в радиограмме могли использоваться только следующие буквы:
Н | К | И | Л | М |
---|---|---|---|---|
–• | –•– | •• | •–•• | –– |
Расшифруйте радиограмму. Запишите в ответе расшифрованную радиограмму.
Решение:
Первой буквой могут быть буквы Н и К, однако, при выборе буквы К дальнейшая расшифровка невозможна. Аналогично для выбора второй буквы. Комбинация «–•–» соответствует букве К, «–•» — букве Н, «•–••» — букве Л, «••» — букве И.
ответ:ННКНЛКИ
3.
Напишите наибольшее двузначное число, для которого истинно высказывание:
(первая цифра нечетная) И НЕ (число делится на 3)
Решение:
Логическое «И» истинно тогда, когда истинны оба высказывания. Запишем выражение в виде
(первая цифра нечетная) И (число не делится на 3).Значит, наибольшее число, для которого высказывание будет истинным — 98.
ответ:98
4.
Между населенными пунктами A, B, C, D, E, F построены дороги, протяженность которых (в километрах) приведена в таблице.
A | B | C | D | E | F | |
A | 3 | 7 | 2 | |||
B | 3 | |||||
C | 7 | 3 | 1 | |||
D | 3 | 1 | 2 | |||
E | 1 | 1 | ||||
F | 2 | 2 |
Определите длину кратчайшего пути между пунктами B и C. Передвигаться можно только по дорогам, протяженность которых указана в таблице.
Решение:
Найдем все варианты маршрутов из B в C и выберем самый короткий.
Из пункта B можно попасть в пункт A.
Из пункта A можно попасть в пункты C и F.
Из пункта F можно попасть в пункт D.
Из пункта D можно попасть в пункт C и E.
Из пункта E можно попасть в пункт C.
B—A—C: длина маршрута 10 км.
B—A—F—D—C: длина маршрута 10 км.
B—A—F—D—E—C: длина маршрута 9 км.
Самый короткий путь: B—A—F—D—E—C. Длина маршрута 9 км.
ответ:9
5.
У исполнителя Сигма две команды, которым присвоены номера:
1. прибавь 1;
2. раздели на b
(b — неизвестное натуральное число; b ≥ 2).
Выполняя первую из них, Сигма увеличивает число на экране на 1, а выполняя вторую, делит это число на b. Программа для исполнителя Сигма — это последовательность номеров команд. Известно, что программа 12111 переводит число 50 в число 20. Определите значение b.
Решение:
Заметим, что после выполнения первой команды мы получаем число 51. Далее, составим и решим уравнение:
ответ:3
6.
Ниже приведена программа, записанная на пяти языках программирования.
Бейсик | Python |
---|---|
DIM k, s AS INTEGER INPUT s INPUT k IF s > 5 OR k > 5 THEN PRINT "ДА" ELSE PRINT "НЕТ" END IF |
s = int(input()) k = int(input()) if s > 5 or k > 5: print("ДА") else: print("НЕТ")
|
Паскаль | Алгоритмический язык |
var s, k: integer; begin readln(s); readln(k); if (s > 5) or (k > 5) then writeln ('ДА') else writeln ('НЕТ') end. |
алг нач цел s, k ввод s ввод k если s > 5 или k > 5 то вывод "ДА" иначе вывод "НЕТ" все кон |
С++ | |
#include <iostream> using namespace std; int main() { int s, k; cin >> s; cin >> k; if (s > 5 || k > 5) cout << "ДА"; else cout << "НЕТ"; return 0; } |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и k вводились следующие пары чисел:
(2, 2); (5, 9); (7, −12); (5, 5); (2, 12); (—10, —13); (—11, 11); (1, 4); (2, 6).
Сколько было запусков, при которых программа напечатала «ДА»?
Решение:
Заметим, что программа напечатает «ДА», если переменная s будет больше 5 или переменная k — больше 5. Значит, было 5 запусков, при которых программа напечатала «ДА». В качестве значений переменных s и k в этих случаях вводились следующие пары чисел:
(5, 9); (7, −12); (2, 12); (—11, 11); (2, 6)
Ответ: 5.
7.
Файл rose.gif был выложен в Интернете по адресу http://color.net/red/rose.gif. Потом его переместили в корневой каталог на сайте box.net, доступ к которому осуществляется по протоколу ftp. Имя файла не изменилось.
Фрагменты нового и старого адресов файла закодированы цифрами от 1 до 9. Запишите последовательность этих цифр, кодирующую адрес файла в сети Интернет после перемещения.
1) http:/
2) box
3) red
4) rose
5) .net
6) ftp:/
7) /
8).gif
9) color
Решение.
Напомним, как формируется адрес в сети Интернет. Сначала указывается протокол (как правило это «ftp» или «http»), потом «://», потом сервер, затем «/», название файла указывается в конце. Таким образом, новый адрес расположения файла будет следующим: ftp://box.net/rose.gif. Следовательно, ответ 6725748.
Ответ: 6725748.
8.
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».
Запрос | Количество страниц (тыс.) |
---|---|
Бревно & Доски | 400 |
Бревно | Доски | 2500 |
Бревно | 1700 |
Какое количество страниц (в тысячах) будет найдено по запросу Доски? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Решение.
По формуле включений и исключений имеем:
m(Бревно|Доски) = m(Бревно) + m(Доски) − m(Бревно&Доски).
Тогда 2500 = 1700 + m(Доски) − 400, откуда m(Доски) = 1200.
Ответ: 1200.