1 | Сколько единиц в двоичной записи шестнадцатеричного числа 4FA716? |
2 | Логическая функция F задаётся выражением (a ∧ b) ∨ (a ∧ ¬c). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c. В ответе напишите буквы a, b, c в том порядке, в котором идут соответствующие им столбцы (без разделителей). |
3 | На рисунке справа схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова длина дороги из пункта А в пункт Д. |
4 | В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите идентификатор дяди Корзуна П.А. (дядя – это родной брат матери или отца). |
5 | Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 01, для буквы Б – кодовое слово 10. Какова наименьшая возможная суммарная длина всех пяти кодовых слов? |
6 | На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. К этой записи дописываются справа ещё два разряда по следующему правилу: а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001; б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2. Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите такое наименьшее число R, которое превышает 130 и может являться результатом работы алгоритма. В ответе это число запишите в десятичной системе счисления. |
7 | Дан фрагмент электронной таблицы. Из одной из ячеек диапазона B1:B4 в одну из ячеек диапазона A1:A4 была скопирована формула. При этом адреса в формуле автоматически изменились и числовое значение в ячейке, куда производилось копирование, стало равным 31. В какую ячейку была скопирована формула? В ответе укажите только одно число – номер строки, в которой расположена ячейка. |
8 | При каком наибольшем введенном числе d после выполнения программы будет напечатано 150? Паскаль | Python | Си | var n, s, d: integer; begin readln(d); n := 3; s := 38; while s s := s + d; n := n + 7 end; write(n) end. | d = int(input()) n = 3 s = 38 while s s = s + d n = n + 7 print(n) | #include int main() { int n = 3, s = 38, d; scanf("%d", &d); while (s s = s + d; n = n + 7; } printf("%d", n); return 0; } | |
9 | Производилась двухканальная (стерео) звукозапись с частотой дискретизации 64 кГц и 24-битным разрешением. В результате был получен файл размером 120 Мбайт, сжатие данных не производилось. Определите приблизительно, сколько времени (в минутах) производилась запись. В качестве ответа укажите ближайшее к времени записи целое число, кратное 5. |
10 | Вася составляет 6-буквенные слова, в которых есть только буквы К, А, Н, Т, причём буква К используется в каждом слове ровно 2 раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася? |
11 | Функция F(n), где n – целое число, задана следующим образом: Паскаль | Python | Си | function F(n: integer): integer; begin if n 1 then F := 2*n + F(n-2)+F(n-3) else F := n + 5; end; | def F(n): if n 1: return 2*n + \ F(n-2)+F(n-3) else: return n + 5 | int F(int n) { if (n 1) return 2*n + F(n-2)+F(n-3); else return n + 5; } | Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(6)? |
12 | Для узла с IP-адресом 111.81.208.27 адрес сети равен 111.81.192.0. Чему равно наименьшее возможное значение третьего слева байта маски? |
13 | При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 11 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 160 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? |
14 | Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр. 1. заменить (v, w) 2. нашлось (v) Первая команда заменяет в строке первое слева вхождение цепочки v на цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 21 цифры, причем первые 18 цифр – восьмёрки, а остальные – пятерки? В ответе запишите полученную строку. НАЧАЛО ПОКА нашлось (555) ИЛИ нашлось (888) ЕСЛИ нашлось (555) ТО заменить (555, 8) КОНЕЦ ЕСЛИ ПОКА нашлось (888) заменить (888, 5) КОНЕЦ ПОКА ЕСЛИ нашлось (555) ТО заменить (555, 8) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ |
15 | На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей, ведущих из города А в город М? |
16 | В системе счисления с основанием N запись числа 87 оканчивается на 2 и содержит не более двух цифр. Чему равно число N? Если у задачи есть несколько решений, выберите наименьшее. |
17 | В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет. Какое количество страниц (в тысячах) будет найдено по запросу Индия? |
18 | Элементами множеств А, P, Q являются натуральные числа, причём P={1,3,4,9,11,13,15,17,19,21}, Q={3,6,9,12,15,18,21,24,27,30}. Известно, что выражение ((x ∈ P) → (x ∈ A)) ∨ ((x ∉ A) → (x ∉ Q)) истинно (т.е. принимает значение 1 при любом значении переменной х. Определите наименьшее возможное количество элементов в множестве A. |
19 | В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 5; 1; 6; 7; 8; 8; 7; 7; 6; 9 соответственно, т.е. A[0]=5; A[1]=1 и т.д. Определите значение переменной c после выполнения следующего фрагмента программы: Паскаль | Python | Си | c := 0; for i := 1 to 9 do if A[i-1] = A[i] then begin t := A[i]; A[i] := A[i-1]; A[i-1] := t; end else c := c + 1; | c = 0 for i in range(1,10): if A[i-1] = A[i]: t = A[i] A[i] = A[i-1] A[i-1] = t else: c = c + 1 | c = 0; for (i = 1;i if (A[i-1] = A[i]) { t = A[i]; A[i] = A[i-1]; A[i-1] = t; } else c++; | |
20 | Ниже записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x 100. Укажите наименьшее такое (т.е. большее 100) число x, при вводе которого алгоритм печатает 35. Паскаль | Python | Си | var x, L, M: integer; begin readln(x); L := x - 20; M := x + 15; while L M do if L M then L := L - M else M := M – L; writeln(M); end. | x = int(input()) L = x - 20 M = x + 15 while L != M: if L M: L = L - M else: M = M - L print(M) | #include void main() { int x, L, M; scanf("%d", &x); L = x - 20; M = x + 15; while (L != M) { if(L M) L = L - M; else M = M - L; } printf("%d", M); } | |
21 | Определите, количество чисел k, для которых следующая программа выведет такой же результат, что и для k = 10? Паскаль | Python | Си | var k, i : longint; function f(n: longint): longint; begin f:= n * n * n; end; begin readln(k); i := 1; while f(i) i := i + 1; if f(i)-k writeln(i) else writeln(i-1); end. | def f(n): return n * n * n k = int(input()) i = 1 while f(i) i += 1 if f(i)-k print(i) else: print(i-1) | #include long f(long n) { return n * n * n; } int main() { long k, i; scanf("%ld", &k); i = 1; while ( f(i) i++; if (f(i)-k printf("%ld", i); else printf("%ld", i-1); return 0; } | |
22 | Исполнитель Калькулятор преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1. Прибавить 1 2. Прибавить 2 Программа для исполнителя Калькулятор – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 12 и при этом траектория вычислений содержит число 7? |
23 | Сколько существует различных наборов значений логических переменных x1, x2, ... x7, y1, y2, ... y7, которые удовлетворяют всем перечисленным ниже условиям? ((x1 ≡ y1) → (x2 ≡ y2)) ∧ (x1 → x2) ∧ (y1 → y2) = 1 ((x2 ≡ y2) → (x3 ≡ y3)) ∧ (x2 → x3) ∧ (y2 → y3) = 1 ... ((x6 ≡ y6) → (x7 ≡ y7)) ∧ (x6 → x7) ∧ (y6 → y7) = 1 |
24 | Даны целые положительные числа M и N. Необходимо определить количество таких целых чисел K, для которых выполняется неравенство M ≤ K3 ≤ N. Программист написал программу неправильно. Паскаль | Python | Си | var m, n, k, t: integer; begin read(m, n); k := 1; t := 1; while k*k*k begin if k*k*k m then t := t + 1; k := k + 1; end; writeln(t) end. | m = int(input()) n = int(input()) k = 1 t = 1 while k*k*k if k*k*k m: t = t+1 k = k + 1 print(t) | #include int main() { int m, n, k, t; scanf("%d %d", &m, &n); k = 1; t = 1; while (k*k*k if (k*k*k m) t = t + 1; k = k + 1; } printf("%d", t); return 0; } | Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе чисел 10 и 100. 2. Приведите пример таких чисел M и N, при вводе которых программа выдаёт верный ответ. Укажите этот ответ. 3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки: 1) выпишите строку, в которой сделана ошибка; 2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки. |
25 | Дан массив, содержащий 40 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество локальных минимумов. Локальным минимумом называется элемент массива, который меньше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных минимума: это элементы, равные 4 и 3. Программа должна вывести общее количество подходящих элементов, значения элементов выводить не нужно. Паскаль | Python | Си | const n = 40; var a: array [0..n-1] of integer; i, j, k: integer; begin for i := 0 to n-1 do readln(a[i]); ... end. | # допускается также # использовать две # целочисленные # переменные j, k a = [] n = 40 for i in range(n): a.append(int(input())) ... | #include #define n 40 int main() { int a[n]; int i, j, k; for (i = 0; i scanf("%d", &a[i]); ... return 0; } | |
26 | Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 97. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, что в кучах всего будет 97 камней или больше. Задание 1. Для каждой из начальных позиций (10, 43), (12, 42) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Задание 2. Для каждой из начальных позиций (10, 42), (11, 42), (12, 41) укажите, кто из игроков имеет выигрышную стратегию. Задание 3. Для начальной позиции (11, 41) укажите, кто из игроков имеет выигрышную стратегию. Постройте дерево всех партий, возможных при указанной вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы. |
27 | На плоскости задано множество точек с целочисленными координатами. Необходимо найти максимально возможную площадь невырожденного (т.е. имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на биссектрисах углов, образованных осями координат, и при этом принадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение. Напишите эффективную по времени и по используемой памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества точек в k раз время работы возрастает не более чем в k раз. Программа считается эффективной по памяти, если размер памяти для хранения всех необходимых данных не зависит от количества точек и не превышает 1 килобайта. Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию. В первой строке задаётся N – количество точек в заданном множестве. Каждая из следующих строк содержит два целых числа – координаты очередной точки. Пример входных данных: 3 6 6 -8 8 9 7 Если искомый треугольник существует, программа должна напечатать одно число: максимально возможную площадь треугольника, удовлетворяющего условиям. Если искомый треугольник не существует, программа должна напечатать сообщение: «Треугольник не существует». Пример выходных данных для приведённого выше примера входных данных: 48 |