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

    1) Сколько единиц в двоичной записи числа 672?

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

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

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

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

         П1 П2 П3 П4 П5 П6 П7
    П1             30       25       18
    П2             17 12                  
    П3 30 17       23       34 15
    П4       12 23             46      
    П5 25                               37
    П6             34 46             18
    П7 18       15       37 18      

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

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

    ID Фамилия И.О. Пол
    1465 Дядюн М.Б. Ж
    1493 Баль А.П. М
    1560 Штольц И.Б. М
    1625 Ререх А.И. Ж
    1837 Штольц П.И. М
    1851 Радек П.А. Ж
    1885 Штольц Б.Ф. М
    1983 Чиж Д.К. Ж
    2216 Рерих Л.А. Ж
    2226 Штольц А.Б. Ж
    2398 Малеев К.Г. М
    2470 Баль П.А. М
    2607 Штольц Т.И. Ж
    2737 Панина Р.Г. Ж
    2759 Тесленко Г.Р. Ж
    2788 Рерих В.Б. Ж
    ID_Родителя ID_Ребенка
    1493 2470
    1560 1837
    1560 2607
    1885 1465
    1885 1560
    1885 2226
    1885 2788
    1983 1465
    1983 1560
    1983 2226
    1983 2788
    2226 2470
    2759 1837
    2759 2607
    2788 1851
    2788 2216

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

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

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

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

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

    7) Дан фрагмент электронной таблицы. Из ячейки B1 во все ячейки диапазона A1:A4 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Чему будет равна сумма ячеек диапозона A1:A4?

         А B C D E
    1       = C$4 + $E1 2 4 6
    2       14 12 10 8
    3       16 18 20 22
    4       30 28 26 24

    Примечание: знак $ обозначает абсолютную адресацию.

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

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

    Запрос Найдено страниц
    Енот 150
    Белка 125
    Бурундук 200
    Енот | Белка | Бурундук 300
    Енот & Бурундук 75
    Енот & Белка 0

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

    Белка & Бурундук

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

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

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

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

    (x & 35 ≠ 0) → ((x & 31 = 0) → (x & А ≠ 0))

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

    • Прибавить 1
    • Прибавить 3

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

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

    ((x1 ≡ x2) v (x3 ≡ x4)) ∧ (¬((x1 ≡ x2) → (x3 ≡ x4))) = 1

    ((x5 ≡ x6) v (x7 ≡ x8)) ∧ (¬((x5 ≡ x6) → (x7 ≡ x8))) = 1

    ((x1 ≡ x2) v (x7 ≡ x8)) ∧ (¬((x1 ≡ x2) → (x7 ≡ x8))) = 1

    ((x6 ≡ x8) v (x3 ≡ x4)) ∧ (¬((x5 ≡ x6) → (x3 ≡ x4))) = 1

    x9 ≡ x10 = 1

    В ответе не нужно перечислять все различные наборы значений 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; 
    }



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