×
  • 1 Вариант ЕГЭ
  • 2 Вариант ЕГЭ
  • 3 Вариант ЕГЭ
  • 4 Вариант ЕГЭ
  • 5 Вариант ЕГЭ
  • 6 Вариант ЕГЭ
  • 7 Вариант ЕГЭ
  • 8 Вариант ЕГЭ
  • 9 Вариант ЕГЭ
  • 10 Вариант ЕГЭ
  • 11 Вариант ЕГЭ
  • 12 Вариант ЕГЭ
  • Спасибо за внимание
  • Вариант ЕГЭ по информатике № 10

    1) Сколько значащих нулей в двоичной записи шестнадцатеричного числа 4A6716?

    2) Логическая функция F задаётся выражением ¬x ∧ y ∧ (w → z). На рисунке приведён фрагмент таблицы истинности функции F, содержащий все наборы аргументов, при которых функция F истинна. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.

    ? ? ? ? F
    1 0 0 0 1
    1 0 1 0 1
    1 1 1 0 1

    В ответе напишите буквы w, x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая первому столбцу; затем – буква, соответствующая второму столбцу, и т.д.) Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

    3) Между населёнными пунктами A, B, C, D, E, F, Z построены дороги, протяжённость которых приведена в таблице. (Отсутствие числа в таблице означает, что прямой дороги между пунктами нет.)

         А B C D E F Z
    A       5 8 25             39
    B 5       1 20                  
    C 8 1       11             28
    D 25 20 11       4 6 10
    E                   4             8
    F                   6             2
    Z 39       28 10 8 2      

    Определите длину кратчайшего пути между пунктами A и Z (при условии, что передвигаться можно только по построенным дорогам).

    4) В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите, сколько всего внуков и внучек есть у Ковач Л.П.

    ID Фамилия И.О. Пол
    2171 Гиппиус З.А. ж
    2011 Ковач Л.П. ж
    2077 Ларина Т.Д. ж
    2115 Лесных А.П. м
    2045 Лесных Л.А. ж
    2201 Лесных П.А. м
    2094 Лопухина Н.С. ж
    2186 Молчалина С.А. ж
    2024 Павлова В.А. ж
    2056 Чумак Е.К. ж
    2083 Чумак И.К. м
    2012 Чумак К.К. м
    2162 Чумак П.И. м
    2140 Чумак Т.И. ж
    ID_Родителя ID_Ребенка
    2011 2083
    2011 2056
    2012 2083
    2012 2056
    2056 2201
    2056 2024
    2056 2186
    2115 2201
    2115 2024
    2115 2186
    2083 2162
    2094 2162
    2171 2045
    2171 2077

    6) На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом:

    • Строится двоичная запись числа N;
    • К этой записи дописываются справа ещё два разряда по следующему правилу:
      1. дописывается справа бит чётности: 0, если в двоичном коде числа N было чётное число единиц, и 1, если нечётное;
      2. К полученному результату дописывается ещё один бит чётности.

    Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R.

    Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число, большее, чем 121. В ответе это число запишите в десятичной системе.

    7) Дан фрагмент электронной таблицы.

         А B C
    1 20 ??? 35
    2 =C1-2*B1*B1 =(B1*B1*B1-4)/A1 =C1-8*B1

    Какое целое число должно быть записано в ячейке B1, чтобы диаграмма, построенная по значениям ячеек диапазона A2:С2, соответствовала рисунку? Известно, что все значения ячеек из рассматриваемого диапазона неотрицательны.

    8) При каком наименьшем целом введённом числе d после выполнения программы будет напечатано 192?

    d = int(input())
    s = 0
    k = 0
    while k < 200:
        s = s + 64
        k = k + d
    print(s)
    var s, k, d: integer;
    begin
      readln(d);
      s := 0;
      k := 0;
      while k < 200 do begin
        s := s + 64;
        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<200) {
    		s = s + 64;
    		k = k + d;
    	}
    	cout << s << endl;
    }

    9) Музыкальный фрагмент был оцифрован и записан в виде файла без использования сжатия данных. Получившийся файл был передан в город А по каналу связи за 25 секунд. Затем тот же музыкальный фрагмент был оцифрован повторно с разрешением в 7 раза выше и частотой дискретизации в 2,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Полученный файл был передан в город Б; пропускная способность канала связи с городом Б в 2 раза выше, чем канала связи с городом А. Сколько секунд длилась передача файла в город Б? В ответе запишите только целое число, единицу измерения писать не нужно.

    10) Все 5-буквенные слова, составленные из букв И, К, Р, А, записаны в алфавитном порядке. Вот начало списка:

    • ААААА
    • ААААК
    • ААААР
    • ААААИ
    • АААКА
    • АААКК

    Запишите слово, которое стоит под порядковым номером 333.

    11) Ниже представлена реализация рекурсивной процедуры на трех языках программирования:

    def f(n):
      if n>0:
          print('?'*(n%7))
          f(n//10)
    procedure f(n:integer);
    begin
      if n>0 then begin
        writeln('?'*(n mod 7));
        f(n div 10);
      end;
    end;
    void f(int n) {
    	if (n > 0) {
    		cout << '?'*(n % 7) << endl;
    		f(n / 10);
    	}
    }

    Какое максимальное количество символов ? будет распечатано в одной строке при вызове f(2346) ?

    12) Два узла, находящиеся в одной сети, имеют IP-адреса 215.171.155.54 и 215.171.145.37. Укажите наибольшее возможное значение третьего слева байта маски сети. Ответ запишите в виде десятичного числа.

    13) При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 6 символов и содержащий только символы из 7-буквенного набора С, Ч, А, С, Т, Ь, Е. В базе данных для хранения сведений о каждом пользователе отведено одинаковое целое число байт, при этом для хранения сведений о 100 пользователях используется 1400 байт. Для каждого пользователя хранятся пароль и дополнительные сведения. Для хранения паролей используют посимвольное кодирование, все символы кодируются одинаковым и минимально возможным количеством бит. Сколько бит отведено для хранения дополнительных сведений о каждом пользователе?

    14) Чертёжнику был дан для исполнения следующий алгоритм (количество повторений и величины смещения в первой из повторяемых команд неизвестны):

    Начало
      Сместиться на ( 13, 19)
      Повтори ... раз
        Сместиться на ( ..., ...)
        Сместиться на ( 6, -3)
      Конец
      Сместиться на ( 27, -3)
    Конец

    В результате выполнения этого алгоритма Чертёжник возвращается в исходную точку. Какое наибольшее число повторений могло быть указано в конструкции «ПОВТОРИ … РАЗ»?

    15) На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М, Н, О, П, Р, С, Т.

    По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.

    Сколько существует способов добраться из пункта А в пункт Т?

    16) Результат выражения 3623 - 228 * 328 + 401 записали в шестеричной системе счисления. Подсчитайте сколько раз встретилась цифра "5"

    17) В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».

    В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

    Запрос Найдено страниц
    Математика & Информатика 330
    Математика & Физика 270
    Математика & (Информатика | Физика) 520

    Укажите, какое количество страниц будет найдено по запросу:

    Математика & Информатика & Физика

    Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.

    18) Обозначим через ДЕЛ (n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наименьшего натурального числа А формула

    (ДЕЛ(x, A) ∧ ¬ДЕЛ(x, 36)) → ¬ДЕЛ(x, 12)

    тождественно истинна, то есть принимает 1 при любом натуральном значении переменной х?

    19) В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 8, 7, 6, 6, 6, 5, 3, 3, 2, 1 соответственно, т.е. A[0] = 8, 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 = 0; i < 9; i++) {
    	if (A[i] < A[0]) {
    		c = c + 1;
    		t = A[i];
    		A[i] = A[0];
    		A[0] = t;
    	}
    }

    20) Ниже на трех языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наименьшее число x, при вводе которого алгоритм печатает сначала 4, а потом 7.

    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 = 11. Значение k = 11 также включается в подсчёт различных значений k.

    def f(n):
       return 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;
    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;
    }
    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) Исполнитель СдамЕГЭ преобразует число на экране. У исполнителя есть три команды, которым присвоены номера:

    • Прибавить 1
    • Прибавить 2
    • Умножить на 2

    Сколько существует программ, для которых при исходном числе 2 результатом является число 12 и при этом траектория вычислений не содержит число 10?

    23) Сколько всего различных наборов значений логических перемененных x1, x2 ... x7, x8, которые удовлетворяют системе уравнений?

    ¬(x1 ≡ x2) ∧ (x2 ∨ x3) ∧ (¬x2 ∨ ¬x3) = 0

    ¬(x2 ≡ x3) ∧ (x3 ∨ x4) ∧ (¬x3 ∨ ¬x4) = 0

    .................

    ¬(x6 ≡ x7) ∧ (x7 ∨ x8) ∧ (¬x7 ∨ ¬x8) = 0

    В ответе не нужно перечислять все различные наборы значений переменных, удолетворяющих системе уравнений. В качестве ответа нужно указать количество таких наборов

    24) Требовалось написать программу, которая получает на вход натуральное число N, не превосходящее 109, и выводит число, которое получается из N после удаления всех единиц, порядок остальных цифр при этом не меняется. Например, число 19520125 должно быть преобразовано в число 952025. Число, в котором все цифры – единицы и нули, должно быть преобразовано в 0. Незначащие нули в старших разрядах полученного числа печатать не нужно. Программист торопился и написал программу неправильно.

    N = int(input())
    R = 0
    T = 1
    while N > 0:
        d = N % 10
        if d != 1:
            R = R + d*T
            T = T + 1
        N = N // 10
    print(T)
    var 
      N, R, T: longint;
      d: integer;
    begin
      readln(N);
      R:=0;
      T:=1;
      while N>0 do begin
        d := N mod 10;
        if d<>1 then begin
           R := R + d*T;
           T := T+1
        end;
        N := N div 10;
      end;
      writeln(T);
    end.
    #include <iostream>
    using namespace std;
    int main() {
      long N, R, T;
      int d;
      cin >> N;
      R=0;
      T=1;
      while (N>0) {
        d = N % 10;
        if (d != 1) {
           R = R + d*T;
           T = T+1;
        }
        N = N / 10;
      }
      cout << T;
    }

    Последовательно выполните следующее:
    1. Напишите, что выведет эта программа при вводе числа 314.
    2. Найдите все ошибки в этой программе (их может быть одна или несколько). Для каждой ошибки выпишите номер строки и укажите, как надо исправить ошибку - приведите правильный вариант строки.




    25) Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму элементов массива, меньших 200 и при этом кратных 5, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.

    Например, для исходного массива из шести элементов: 204 115 27 20 305 4

    программа должна вывести следующий массив 204 135 27 135 305 4

    # допускается также  
    # использовать две 
    # целочисленные переменные 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; 
    }



    Задания взяты из базы данных ФИПИ, сайта К.Полякова или придуманы мною