1) Сколько существует натуральных чисел x, для которых выполнено неравенство 110111002 < x < DF16?
В ответе укажите только количество чисел, сами числа писать не нужно.
2) Логическая функция F задаётся выражением (x → y) → (¬x ∧ z). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z.
В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы, никаких разделителей между буквами ставить не нужно.
3) На рисунке слева изображена схема дорог Н-ского района в виде графа, а в таблице содержатся сведения о длинах этих дорог (в километрах).
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова длина дороги из пункта Б в пункт Д.
4) В каталоге находятся файлы со следующими именами:
Определите, сколько файлов будет выбрано по маске *mer*?.doc*. В ответ укажите только целое число
5) Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д и Е, решили использовать неравномерный двоичный код, допускающий однозначное декодирование. Использовали код: А — 1; Б — 0010; В — 00110; Г — 00111; Д — 01. Укажите кратчайшее кодовое слово для буквы Е, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением
6) У исполнителя Counter две команды, которым присвоены номера:
Запишите порядок команд в программе, которая преобразует число 2 в число 101 и содержит не более 5 команд. Указывайте лишь номера команд.
7) Дан фрагмент электронной таблицы. Из ячейки D4 во все ячейки диапазона E1:E4 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Чему будет равна сумма ячеек диапозона E1:E4?
Примечание: знак $ обозначает абсолютную адресацию.
8) При каком наибольшем целом введённом числе d после выполнения программы будет напечатано 160?
d = int(input()) s = 0 k = 0 while k < 300: s = s + 32 k = k + d print(s)
var s, k, d: integer; begin readln(d); s := 0; k := 0; while k < 300 do begin s := s + 32; k := k + d; end; writeln(s); end.
#include <iostream> using namespace std; void main() { int d; cin >> d; int s = 0; int k = 0; while (k < 300) { s = s + 32; k = k + d; } cout << s << endl; }
9) Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 24 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) и оцифрован с разрешением в 4 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер файла в Мбайт, полученного при повторной записи.
10) Вася составляет 5-буквенные слова, в которых есть только буквы П,И,Р,О,Г, причём буква Р используется в каждом слове хотя бы 1 раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?
11) Ниже записаны две рекурсивные процедуры: F и G. Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?
def F(n): if n > 0: G(n - 1) def G(n): print("*") if n > 1: F(n - 3)
procedure F(n: integer); begin if n > 0 then G(n - 1); end; procedure G(n: integer); begin writeln('*'); if n > 1 then F(n - 3); end;
void F(int n) { if (n > 0) G(n - 1); } void G(int n) { printf("*"); if (n > 1) F(n - 3); }
12) Для узла с IP-адресом 215.181.200.27 адрес сети равен 215.181.192.0. Чему равно наибольшее возможное значение третьего слева байта маски? Ответ запишите в виде десятичного числа.
13) В некоторой стране автомобильный номер длиной 7 символов составляется из заглавных букв (всего используется 18 букв) и десятичных цифр в любом порядке. Каждый символ кодируется одинаковым и минимально возможным количеством бит, а каждый номер – одинаковым и минимально возможным целым количеством байт. Определите объем памяти в байтах, необходимый для хранения 60 автомобильных номеров.
14) Дана программа для исполнителя Редактор:
НАЧАЛО ПОКА нашлось (18) ИЛИ нашлось (288) ИЛИ нашлось (3888) ЕСЛИ нашлось (18) ТО заменить (18, 2) ИНАЧЕ ЕСЛИ нашлось (288) ТО заменить (288, 3) ИНАЧЕ заменить (3888, 1) КОНЕЦ ЕСЛИ КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ
Какая строка получится в результате применения этой программы к строке, состоящей из цифры 1, за которой следуют 80 идущих подряд цифр 8? В ответе запишите полученную строку
15) На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З.
По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует способов добраться из пункта А в пункт З?
16) Значение выражения (28+87) * (221 - 44) - 1 записали в двоичной системе счисления. Сколько единиц содержит результат?
17) В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Укажите, какое количество страниц будет найдено по запросу:
18) Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n.
Так, например, 14 & 5 = 11102 & 01012 = 01002 = 4.
Для какого наибольшего натурального числа А формула
тождественно истинна, то есть принимает 1 при любом неотрицательном целом значении переменной х?
19) В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, записанный на трех языках программирования.
s = 15 n = 10 for i in range(n): s = s + A[i] - A[i+1]
s := 15; n := 10; for i := 0 to n-1 do s := s + A[i] - A[i+1];
s = 15; n = 10; for (i = 0; i < n; i++) { s = s + A[i] - A[i + 1]; }
Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность натуральных чисел, то есть A[0] < A[1] < … < A[10]. Какое наибольшее значение может иметь переменная s после выполнения данной программы?
20) Ниже на трех языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 3, а потом 8.
x = int(input()) L = 0 M = 0 while x > 0: M = M + 1 if x % 2 != 0: L = L + 1 x = x // 2 print(L) print(M)
var x, L, M: integer; begin readln(x); L := 0; M := 0; while x > 0 do begin M := M + 1; if x mod 2 <> 0 then L := L + 1; x := x div 2; end; writeln(L); writeln(M); end.
#include <iostream> using namespace std; void main() { int x, L, M; cin >> x; L = 0; M = 0; while (x > 0) { M = M + 1; if (x % 2 != 0) L = L + 1; x = x / 2; } cout << L; cout << M; }
21) Укажите количество различных значений входной переменной k, при которых приведённая ниже программа выводит тот же ответ, что и при входном значении k = 10. Значение k = 10 также включается в подсчёт различных значений k.
def f(n): return n*n*n i = 1 k = int(input()) while f(i) < k: i+=1 if (f(i)-k <= k-f(i-1)): print (i) else: print (i - 1)
var k, i : longint; function f(n: longint) : longint; begin f := n * n * n; end; begin i := 1; readln(k); while f(i) < k do i := i + 1; if (f(i)-k) <= (k-f(i-1)) then writeln(i) else writeln(i - 1); end.
#include <iostream> using namespace std; long int f(long int n) { return n*n*n; } void main() { int i, k; i = 1; cin >> k; while (f(i)<k) i = i + 1; if (f(i) - k <= k - f(i)) cout << i << endl; else cout << i - 1 << endl; }
22) У исполнителя СдамЕГЭ три команды, которым присвоены номера:
Сколько существует программ, для которых при исходном числе 2 результатом является число 20 и при этом траектория вычислений содержит число 11 и не содержит число 8?
23) Сколько существует различных наборов значений логических переменных x1, x2 ... x9, x10, которые удовлетворяют всем перечисленным ниже условиям?
В качестве ответа нужно указать только количество таких наборов
24) На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран минимальную чётную цифру этого числа. Если в числе нет чётных цифр, требуется на экран вывести «NO». Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на трех языках программирования.
N = int(input()) minDigit = N % 10 while N > 0: digit = N % 10 if digit % 2 == 0: if digit < minDigit: minDigit = digit N = N // 10 if minDigit == 0: print("NO") else: print(minDigit)
var N: longint; digit, minDigit:integer; begin readln(N); minDigit := N mod 10; while N > 0 do begin digit := N mod 10; if digit mod 2 = 0 then if digit < minDigit then minDigit := digit; N := N div 10; end; if minDigit = 0 then writeln('NO') else writeln(minDigit) end.
#include <iostream> using namespace std; int main() { long N; int digit, minDigit; cin >> N; minDigit = N % 10; while (N > 0) { digit = N % 10; if (digit % 2 == 0) if (digit < minDigit) minDigit = digit; N = N / 10; } if (minDigit == 0) cout << "NO" << endl; else cout << minDigit << endl; }
Последовательно выполните следующее: 1. Напишите, что выведет эта программа при вводе числа 231. 2. Приведите пример такого трёхзначного числа, при вводе которого приведённая программа, несмотря на ошибки, выдаёт верный ответ. 3. Найдите допущенные программистом ошибки и исправьте их.
25) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит количество элементов массива, больших 100 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденному количеству. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести измененный массив, каждый элемент массива выводится с новой строчки.
Например, для массива из шести элементов: 4 115 7 195 25 106
программа должна вывести числа 4 2 7 2 25 106
# допускается также # использовать две # целочисленные переменные 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; }
Задания взяты из базы данных ФИПИ, сайта К.Полякова или придуманы мною