1) Сколько единиц в двоичной записи шестнадцатеричного числа BC116?
2) Логическая функция F задаётся выражением ¬x ∨ y ∨ (¬z ∧ w).
На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F ложна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных w, x, y, z.
В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая первому столбцу; затем – буква, соответствующая второму столбцу, и т.д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.
3) Между населёнными пунктами A, B, C, D, E, F построены дороги, протяжённость которых приведена в таблице. Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.
Определите длину кратчайшего пути между пунктами A и F, проходящего через пункт E и не проходящего через пункт B. Передвигаться можно только по указанным дорогам.
4) В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных, сколько всего внуков и внучек было у Кривич Л.П.
6) Автомат получает на вход трёхзначное число. По этому числу строится новое число по следующим правилам:
Пример. Исходное число: 348. Суммы: 3 + 4 = 7; 4 + 8 = 12. Результат: 127.
Укажите наименьшее число, в результате обработки которого автомат выдаст число 147.
7) Дан фрагмент электронной таблицы.
Какое целое число должно быть записано в ячейке B1, чтобы диаграмма, построенная по значениям ячеек диапазона A2:С2, соответствовала рисунку? Известно, что все значения ячеек из рассматриваемого диапазона неотрицательны.
8) Укажите число, которое будет напечатано в результате выполнения следующей программы.
s = 0 for k in range(1,50): if k % 7 == 0: s = s + k print(2*s)
var s, k: integer; begin s := 0; for k := 1 to 49 do if k mod 7 = 0 then s := s + k; writeln(2*s); end.
#include <iostream> using namespace std; void main() { int s = 0; for (int k = 1; k < 50; k++) { if (k % 7 == 0) s = s + k; } cout << 2*s << endl; }
10) Сколько различных трехзначных чисел можно получить в семиричной системе при условии, что все цифры должны быть различны?
12) Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске. Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.
Для узла с IP-адресом 224.32.112.131 адрес сети равен 224.32.64.0. Чему равен третий слева байт маски? Ответ запишите в виде десятичного числа
13) Для регистрации на сайте некоторой страны пользователю требуется придумать пароль. Длина пароля — ровно 13 символов. В качестве символов используются десятичные цифры и 14 различных букв местного алфавита, причём все буквы используются в двух начертаниях: как строчные, так и прописные (регистр буквы имеет значение!).Под хранение каждого такого пароля на компьютере отводится минимально возможное и одинаковое целое количество байтов, при этом используется посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством битов. Определите объём памяти (в байтах), который занимает хранение 15 паролей. В ответе укажите только число.
14) Чертёжнику был дан для исполнения следующий алгоритм:
Начало Сместиться на ( -32, -7) Повтори N раз Сместиться на (6, b) Сместиться на (a, 8) Конец Сместиться на (20, 31) Конец
Сколько существует натуральных значений N, для которых найдутся такие значения чисел a и b, что после выполнения программы Чертёжник возвратится в исходную точку?
15) На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М, Н, О, П
По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует способов добраться из пункта А в пункт П?
16) Значение выражения 1631 - 648 + 183 записали в четверичной системе счисления. Подсчитайте сколько раз встретилась цифра "3"
17) В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Укажите, какое количество страниц будет найдено по запросу:
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
18) На числовой прямой даны два отрезка: Р = [12, 22] и Q = [33, 43]. Укажите наибольшую возможную длину промежутка А, для которого формула
тождественно ложна, то есть принимает значение 0 при любом значении переменной х.
19) В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 6, 5, 9, 8, 4, 2, 7, 8, 0, 2 соответственно, т.е. A[0] = 6, A[1] = 5 и т.д. Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на трех языках программирования).
c = 0 for i in range(1,10): if A[i] < A[0]: c = c + 1 t = A[i] A[i] = A[0] A[0] = t
c := 0; for i := 1 to 9 do if A[i] < A[0] then begin c := c + 1; t := A[i]; A[i] := A[0]; A[0] := t; end;
c = 0; for (i = 1; i < 10; i++) { if (A[i] < A[0]) { c = c + 1; t = A[i]; A[i] = a[0]; A[0] = t; } }
20) Ниже на трех языках программирования записан алгоритм. Получив на вход число x, эта программа печатает два числа a и b. Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 4, а потом 2.
x = int(input()) a = 0 b = 0 while x > 0: c = x % 2 if c == 0: a = a + 1 else: b = b + 1 x = x // 10 print(a) print(b)
var x, a, b, c: integer; begin readln(x); a := 0; b := 0; while x > 0 do begin c := x mod 2; if c = 0 then a := a + 1 else b := b + 1; x := x div 10; end; writeln(a); write(b); end.
#include <iostream> using namespace std; void main() { int x, a, b, c; cin >> x; a = 0; b = 0; while (x > 0) { c = x % 2; if (c == 0) a = a + 1; else b = b + 1; x = x / 10; } cout << a; cout << b; }
21) Определите, какое значение выведется на экран, после выполнения программы, представленной ниже.
def F(n): if n // 10 == n % 10: return True else: return False k=0 for i in range(10,100): if F(i): k+=1 print(k)
var i, k: integer; function F(n:integer):boolean; begin if n div 10 = n mod 10 then F := True else F := False; end; begin k := 0; for i := 10 to 99 do if F(i) then k := k + 1; writeln(k); end.
#include <iostream> using namespace std; bool F(int n) { if (n / 10 == n % 10) return true; else return false; } void main() { int i, k; k = 0; for (i = 10; i < 100; i++) if (F(i)) k = k + 1; cout << k << endl; }
23) Сколько существует различных наборов значений логических переменных x1, x2 ... x9, x10, которые удовлетворяют всем перечисленным ниже условиям?
В ответе не нужно перечислять все различные наборы значений x1, x2 ... x9, x10, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
24) На вход программы поступает натуральное число N, не превышающее 109. Требуется найти и вывести наибольшую чётную цифру в десятичной записи этого числа или вывести «NO», если таких цифр нет. К сожалению, приведённая ниже программа неправильная.
N = int(input()) t = 0 m = t while N > 1: d = N % 10 if d % 2 == 0 or d > m: m = m + d N = N // 10 if m == t: print("NO") else: print(m)
var N, d, m, t: longint; begin read(N); t := 0; m := t; while N > 1 do begin d := N mod 10; if (d mod 2=0) or (d>m) then m := m + d; N := N div 10; end; if m = t then writeln('NO') else writeln(m) end.
#include <iostream> using namespace std; int main() { int N, d, m, t; cin >> N; t = 0; m = t; while (N > 1) { d = N % 10; if (d % 2 == 0 || d > m) m := m + d; N := N / 10; } if (m == t) cout << "NO"; else cout << m; }
Последовательно выполните следующее. 1. Напишите, что выведет эта программа при вводе числа 132. 2. Какое наибольшее число может быть выведено при вводе трёхзначного числа? Сколько существует таких чисел N, при вводе которого программа выведет такой ответ? 3. Найдите допущенные программистом ошибки и исправьте их.
25) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести наименьший из элементов массива, шестнадцатеричная запись которого содержит не менее трёх цифр и оканчивается на букву E. Если таких чисел нет, нужно вывести ответ 0.
# допускается также # использовать две # целочисленные переменные j и k a = [ ] n = 30 for i in range(0, n): a.append(int(input())) ...
const N = 30; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
#include <iostream> using namespace std; const int N = 30; int main() { int a[N]; int i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
Задания взяты из базы данных ФИПИ, сайта К.Полякова или придуманы мною