1) Сколько единиц в двоичной записи числа 672?
2) Логическая функция F задаётся выражением (x ∨ y ∨ ¬z) ∧ (¬x ∨ y ∨ ¬z) ∧ (¬x ∨ ¬y ∨ z). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы, никаких разделителей между буквами ставить не нужно.
3) На рисунке слева изображена схема дорог Н-ского района в виде графа, а в таблице содержатся сведения о длинах этих дорог (в километрах).
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова длина дороги из пункта А в пункт Д.
4) В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите, сколько всего родных братьев и сестёр есть у Штольц Т. И.
5) Для кодирования некоторой последовательности, состоящей из букв К, Л, М и Н решили использовать неравномерный двоичный код, допускающий однозначное декодирование. Использовали код: К — 010, Л — 1, М — 011. Укажите кратчайшее кодовое слово для буквы Н, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением
6) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.
Укажите минимальное число R, после обработки которого с помощью этого алгоритма получается число, большее, чем 77. В ответе это число запишите в десятичной системе.
7) Дан фрагмент электронной таблицы. Из ячейки B1 во все ячейки диапазона A1:A4 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Чему будет равна сумма ячеек диапозона A1:A4?
Примечание: знак $ обозначает абсолютную адресацию.
8) Укажите число, которое будет напечатано в результате выполнения следующей программы.
s = 7 n = 77 while n > s: s = s + 3 n = n - 2 print(n)
var s, n: integer; begin s := 7; n := 77; while n > s do begin s := s + 3; n := n - 2 end; writeln(n) end. end.
#include <iostream> using namespace std; void main() { int s = 7; int n = 77; while ( n > s) { s = s + 3; n = n - 2; } cout << n << endl; }
9) Камера делает фотоснимки 800 на 600 пикселей. При этом объём файла с изображением не может превышать 200 Кбайт, упаковка данных не производится. Какое максимальное количество цветов можно использовать в палитре изображения?
10) Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует 5-буквенные слова, в которых есть только буквы П, И, Р, причём буква П появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?
11) Ниже представлена реализация рекурсивной процедуры на трех языках программирования:
def f(n): if n>0: if n % 2 != 0: print('!'*(n%10)) else: print('?'*(n%10)) f(n//10)
procedure f(n:integer); begin if n>0 then begin if n mod 2 <>0 then writeln('!'*(n mod 10)) else writeln('?'*(n mod 10)); f(n div 10); end; end;
void f(int n) { if (n > 0) { if (n % 2 != 0) cout << '!'*(n % 10); else cout << '?'*(n % 10); f(n / 10); } }
Сколько символов ? будет всего распечатано на экране при вызове f(865432) ?
12) Для узла с IP-адресом 111.81.200.27 адрес сети равен 111.81.192.0. Чему равно наибольшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
13) При регистрации в компьютерной системе каждому пользователю выдаётся идентификатор, состоящий из 8 символов, первый и последний из которых – одна из 18 букв, а остальные – цифры (допускается использование 10 десятичных цифр). Каждый такой идентификатор в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование; все цифры кодируются одинаковым и минимально возможным количеством бит, все буквы также кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти в байтах, отводимый этой программой для записи 500 паролей.
14) Дана программа для исполнителя Редактор:
НАЧАЛО ПОКА нашлось (222) ИЛИ нашлось (888) ЕСЛИ нашлось (222) ТО заменить (222, 8) ИНАЧЕ заменить (888, 2) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
Какая строка получится в результате применения приведённой ниже программы к строке,состоящей из 76 идущих подряд цифр 2?
15) На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М, Н, О, П, Р, С.
По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует способов добраться из пункта А в пункт С?
16) Значение выражения 614 + 362 - 175 записали в шестеричной системе счисления. Запишите последние три цифры результата
17) В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Укажите, какое количество страниц будет найдено по запросу:
Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
18) Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n.
Так, например, 14 & 5 = 11102 & 01012 = 01002 = 4.
Для какого наименьшего натурального числа А формула
тождественно истинна, то есть принимает 1 при любом неотрицательном целом значении переменной х?
19) В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно, т.е. A[0] = 4, A[1] = 7 и т.д. Определите значение переменной 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) Ниже на трех языках программирования записан алгоритм. Получив на вход число х, этот алгоритм печатает два числа a и b. Укажите наибольшее из таких чисел х, при вводе которых алгоритм печатает сначала подумать 2, а потом 150.
x = int(input()) a = 0 b = 0 while x > 0: a = a + 1 b = b + (x % 100) x = x // 100 print(a) print(b)
var x, a, b: integer; begin readln(x); a := 0; b := 0; while x > 0 do begin a := a + 1; b := b + (x mod 100); x := x div 100; end; writeln(a); write(b); end.
#include <iostream> using namespace std; void main() { int x, a, b; cin >> x; a = 0; b = 0; while (x > 0) { a = a + 1; b = b + (x % 100); x = x / 100; } 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; }
22) Исполнитель СдамЕГЭ преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
Сколько существует программ, для которых при исходном числе 3 результатом является число 21 и при этом траектория вычислений содержит число 12 и не содержит числа 18?
23) Сколько существует различных наборов значений логических переменных x1, x2 ... x9, x10, которые удовлетворяют всем перечисленным ниже условиям?
В ответе не нужно перечислять все различные наборы значений x1, x2 ... x9, x10, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.
24) На вход программы поступает натуральное число. Требуется определить сумму цифр в десятичной записи этого числа, которые кратны 3 (считается, что 0 кратно любому числу). Для решения этой задачи ученик написал программу, но, к сожалению, его программа неправильная.
N = int(input()) sum = N % 10 while N > 0: digit = N % 10 if digit % 3 == 0: sum = digit N = N // 10 if sum > 0: print(sum) else: print('NO')
var N: longint; digit, sum:integer; begin readln(N); sum := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 3 = 0 then sum := digit; N := N div 10; end; if sum > 0 then writeln(sum) else writeln('NO') end.
#include <iostream> using namespace std; int main() { long N; int digit, sum; cin >> N; sum = N % 10; while (N > 0) { digit = N % 10; if (digit % 3 == 0){ sum = digit; } N = N / 10; } if (sum > 0) cout << sum << endl; else cout << "NO" << endl; }
Последовательно выполните следующее: 1. Напишите, что выведет эта программа при вводе числа 653. 2. Укажите одно трёхзначное число, при вводе которого программа выведет правильный ответ. 3. Найдите в программе все ошибки
25) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 1000. Опишите на русском языке или на одном из языков программирования алгоритм, позволяющий найти среднее арифметическое нечётных трехзначных чисел, записанных в этом массива. Если ни одного такого числа нет, нужно вывести -1.
# допускается также # использовать две # целочисленные переменные j и s 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, s: 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, s; for (i = 0; i < N; i++) cin >> a[i]; ... return 0; }
Задания взяты из базы данных ФИПИ, сайта К.Полякова или придуманы мною