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

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

    2) Логическая функция F задаётся выражением (a ∧ ¬c) ∨ (¬b ∧ ¬c). Определите какому столбцу таблицы истинности функции F соответсвует каждая из переменных a, b, c?

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

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

    3) На рисунке слева изображена схема дорог Н-ского района в виде графа, а в таблице содержатся сведения о длинах этих дорог (в километрах).

         П1 П2 П3 П4 П5 П6 П7
    П1       20                         15
    П2 20       10 5             20
    П3       10             20 15      
    П4       5                   10      
    П5             20             10      
    П6             15 10 10            
    П7 15 20                              

    Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите длину кратчайшего пути из пункта В в пункт К.

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

    ID Фамилия И.О. Пол
    1674 Жук М.Б. Ж
    1702 Баль А.П. М
    1769 Черняк И.Б. М
    1834 Ререх А.И. Ж
    2046 Черняк П.И. М
    2060 Радек П.А. Ж
    2094 Черняк Б.Ф. М
    2192 Чиж Д.К. Ж
    2425 Рерих Л.А. Ж
    2435 Черняк А.Б. Ж
    2607 Малеев К.Г. М
    2679 Баль П.А. М
    2816 Черняк Т.И. Ж
    2946 Панина Р.Г. Ж
    2968 Тесленко Г.Р. Ж
    2998 Рерих В.И. Ж
    ID_Родителя ID_Ребенка
    1702 2679
    1769 2046
    1769 2816
    1769 2997
    2094 1674
    2094 1769
    2094 2435
    2192 1674
    2192 1769
    2192 2435
    2435 2679
    2968 2997
    2968 2046
    2968 2816
    2997 2060
    2997 2425

    5) Для кодирования некоторой последовательности, состоящей из букв К, Л, М, Н и О, решили использовать неравномерный двоичный код, допускающий однозначное декодирование. Использовали код: К — 011; Л — 000; М — 001; Н — 1. Укажите кратчайшее кодовое слово для буквы О, при котором код будет допускать однозначное декодирование. Если таких кодов несколько, укажите код с наименьшим числовым значением

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

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

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

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

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

         А B C
    1 5 ??? =A1*3
    2 =(B1-A1)/3 =B1-C1 =B2+A1

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

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

    s = 0
    for k in range(1,21):
        if (k*k) % 2 == 0:
            s = k + s
    print(s)
    var s, k: integer;
    begin
     s := 0;
     for k := 1 to 20 do
       if (k*k) mod 2 = 0 then s := k + s;
     writeln(s);
    end.
    #include <iostream>
    using namespace std;
    void main()
    {
    	int s = 0;
    	for (int k = 1; k < 21; k++) {
    		if ((k*k) % 2 == 0) s = k + s;
    	}
    	cout << s << endl;
    }

    9) Какой объём памяти (в Кбайт) потребуется, чтобы сохранить растровое изображение размером 64×64 пикселов при условии, что в изображении могут использоваться 256 различных цветов?

    10) Некоторый алфавит содержит три различные буквы. Сколько пятибуквенных слов можно составить из букв данного алфавита (буквы в слове могут повторяться)?

    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(73469) ?

    12) Для узла с IP-адресом 111.81.208.27 адрес сети равен 111.81.192.0. Чему равно наименьшее возможное значение третьего слева байта маски?

    13) Для регистрации на сайте необходимо продумать пароль, состоящий из 10 символов. Он должен содержать хотя бы 3 цифры, а также строчные или заглавные буквы латинского алфавита (алфавит содержит 26 букв). В базе данных для хранения сведения о каждом пользователе отведено одинаковое и минимальное возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственного пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт одинаковое для каждого пользователя. Для хранения сведений о 30 пользователях потребовалось 870 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе. В ответе запишите только целое число – количество байт.

    14) Дана программа для исполнителя Редактор:

    НАЧАЛО
      ПОКА нашлось (111) ИЛИ нашлось (777)
       ЕСЛИ нашлось (111)
         ТО заменить (111, 7)
       ИНАЧЕ 
         заменить (777, 1)
       КОНЕЦ ЕСЛИ
      КОНЕЦ ПОКА
    КОНЕЦ

    Какая строка получится в результате применения приведённой ниже программы к строке,состоящей из 98 идущих подряд цифр 7?

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

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

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

    16) Результат выражения 326 + 276 - 172 записали в девятиричной системе счисления. Подсчитайте сколько раз встретилась цифра "8"

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

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

    Запрос Найдено страниц
    Омега & Альфа & Бета & Гамма 500
    Омега & Альфа & Бета 600
    Омега & Альфа & Гамма 800

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

    (Омега & Альфа & Бета) | (Омега & Альфа & Гамма)

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

    18) Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n.

    Так, например, 14 & 5 = 11102 & 01012 = 01002 = 4.

    Для какого наименьшего натурального числа А формула

    (x & 29 ≠ 0) → ((x & 9 = 0) → (x & А ≠ 0))

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

    19) В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3, 5, 1, 7, 3, 6, 8, 5, 9, 4 соответственно, т.е. A[0] = 3, A[1] = 5 и т.д. Определите значение переменной s после выполнения следующего фрагмента этой программы (записанного ниже на трех языках программирования).

    s = 0
    for j in range(9):
       if A[j] > A[j+1]:
          s = s + 1
          t = A[j]
          A[j] = A[j+1]
          A[j+1] = t
    s := 0;
    for j := 0 to 8 do
      if A[j] > A[j+1] then
      begin
        s := s + 1;
        t := A[j];
        A[j] := A[j+1];
        A[j+1] := t;
      end;
    s = 0;
    for (j = 0; i < 9; i++) {
    	if (A[j] > A[j+1]) {
    		s = s + 1;
    		t = A[j];
    		A[j] = A[j+1];
    		A[j+1] = t;
    	}
    }

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

    x = int(input())
    a = 0
    b = 0
    while x > 0:
       a = a + 1
       b = b + (x % 7)
       x = x // 7
    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 7);
        x := x div 7;
      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 % 7);
    		x = x / 7;
    	}
    	cout << a;
    	cout << b;
    }

    21) Определите, количество чисел K, для которых следующая программа выведет такой же результат, что и для значения K = 22

    def F(x):
        return x**3 + x*x
    
    i = 15
    k = int(input())
    while (i>0) and (F(i)>k):
        i -= 1
    print(i)
    var i, k: integer;
    function F(x:integer):integer;
    begin
       F := x*x*x + x*x;
    end;
    begin
       i := 15;
       readln(k);
       while (i>0) and (F(i) > k) do
          i := i - 1;
       writeln(i);  
    end.
    #include <iostream>
    using namespace std;
    int F(int x) {
    	return x*x*x + x*x;
    }
    void main()
    {
    	int i, k;
    	i = 15;
    	cin >> k;
    	while (i > 0 && F(i) > k)
    		i = i - 1;
    	cout << i << endl;
    }

    22) Исполнитель СдамЕГЭ преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

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

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

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

    ((x1 ≡ x3) v (x2 ≡ x4)) ∧ (¬((x1 ≡ x3) ∧ ¬(x2 ≡ x4))) = 0

    ((x2 ≡ x4) v (x5 ≡ x7)) ∧ (¬((x2 ≡ x4) ∧ ¬(x5 ≡ x7))) = 0

    ((x5 ≡ x7) v (x6 ≡ x8)) ∧ (¬((x5 ≡ x7) ∧ ¬(x6 ≡ x8))) = 0

    ((x6 ≡ x8) v (x9 ≡ x10)) ∧ (¬((x6 ≡ x8) ∧ ¬(x9 ≡ x10))) = 0

    ((x1 ≡ x3) → (x2 ≡ x4)) → ((x6 ≡ x8) v ¬(x9 ≡ x10)) = 1

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

    24) На обработку поступает последовательность из четырёх целых чисел. Нужно написать программу, которая выводит на экран сумму всех отрицательных чисел последовательности и максимальное число в последовательности. Известно, что вводимые числа по абсолютной величине не превышают 1000. Программист написал программу неправильно.

    mx = 0
    s = 0
    for i in range(1,5):
        x = int(input())
        if x < 0:
            s = x
        if x > mx:
            mx = x
    print(s)
    print(mx)
    var s, i, x, mx: integer;
    begin
      mx := 0;
      s := 0;
      for i := 1 to 4 do begin
        read (x);
        if x < 0 then
          s := x;
        if x > mx then
          mx := x;
      end;
      writeln(s);
      writeln(mx)
    end.
    #include <iostream>
    using namespace std;  
    int main() {
      int s, i, x, mx;
      mx = 0;
      s = 0;
      for (int i = 1; i <= 4; i++) {
       cin >> x;
       if (x < 0)
         s = x;
       if (x > mx) 
           mx= x;
      }
      cout << s<< endl;
      cout << mx<< endl;
     }

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




    25) Дан массив, содержащий 2014 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество локальных минимумов. Локальным минимумом называется элемент массива, который меньше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных минимума: это элементы, равные 4 и 3. Программа должна вывести общее количество подходящих элементов.

    # допускается также  
    # использовать две 
    # целочисленные переменные j и k
    a = [ ] 
    n = 2014
    for i in range(0, n): 
       a.append(int(input()))
    ...
    const     
    N = 2014; 
    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 = 2014;
    int main() {    
       int a[N];  
       int i, j, k;  
       for (i = 0; i < N; i++)   
          cin >>  a[i];  
       ...   
       return 0; 
    }



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