№№ заданий Пояснения Ответы Ключ Добавить инструкцию Критерии
Источник Раздел кодификатора Ф ИПИ Справка
PDF-версия PDF-версия (вертикальная) PDF-версия (крупный шрифт) PDF-версия (с большим полем) Версия для копирования в MS Word
Вариант № 5173861

1.

Чему равна сумма чисел 305 и 418? Результат запишите в двоичной системе счисления.

2.

Логическая функция F задаётся выражением (zy) ∨ ((xz ) ≡ (yw)).

Дан частично заполненный фрагмент, содержащий неповторяющиеся строки таблицы истинности функции F.

Определите, какому столбцу таблицы истинности соответствует каждая из переменных x, y, z, w.

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
????????????F
10
110
1110

 

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

Пример. Пусть задано выражение xy, зависящее от двух переменных x и y, и фрагмент таблицы истинности:

 

Переменная 1Переменная 1Функция
??????F
010

 

Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.

3.

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

 

П1П2П3П4П5П6П7
П1**
П2***
П3**
П4***
П5**
П6***
П7***

 

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

Пример. Пусть населённым пунктам Д и Е соответствуют номера П1 и П2. Тогда в ответе нужно написать 12.

4.

Ниже в табличной форме представлен фрагмент базы данных некоторой коммерческой компании. В первой таблице отражены фамилии сотрудников и номера их личных автомобилей, во второй — фамилии сотрудников, число и время их очередного заезда на территорию автостоянки предприятия.

 

 Сотрудник  Номер машины 
 Громов Е. Ж. 
 24355 
 Громов Е. Ж. 
 26777 
 Бурьянов Н. Д. 
 11111 
 Бурьянов Н. Д. 
 22222 
 Поклов К. М. 
 12212 
 Поклов К. М. 
 59875 
 Поклов К. М. 
 11133 
 Усов А. А. 
 75444 
 Кир Т. О. 
 34543 

 Сотрудник  Число  Время 
 Громов Е. Ж.  3 июня 
 10:20 
 Громов Е. Ж.  1 июня 
 09:20 
 Громов Е. Ж.  2 июня 
 09:02 
 Бурьянов Н. Д.  1 июня 
 11:24 
 Усов А. А.  1 июня 
 11:52 
 Поклов К. М.  2 июня 
 09:52 
 Кир Т. О.  2 июня 
 09:12 
 Бурьянов Н. Д.  2 июня 
 15:20 
 Кир Т. О.  3 июня 
 12:42 

 

Руководствуясь приведенными таблицами, определите максимально возможное число сотрудников, приехавших на автомобилях с четными номерами 2 июня с 9:00 до 10:00.

5.

Для кодирования некоторой последовательности, состоящей из букв А, Б, В, Г, Д, Е, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для буквы А использовали кодовое слово 0; для буквы Б – кодовое слово 10. Какова наименьшая возможная сумма длин всех шести кодовых слов?

Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

6.

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

Вперед N (Кузнечик прыгает вперед на N единиц);

Назад M (Кузнечик прыгает назад на M единиц).

Переменные N и M могут принимать любые целые положительные значения. Известно, что Кузнечик выполнил программу из 50 команд, в которой команд “Назад 2” на 12 больше, чем команд “Вперед 3”. Других команд в программе не было. На какую одну команду можно заменить эту программу, чтобы Кузнечик оказался в той же точке, что и после выполнения программы?

7.

В электронной таблице Excel отражены данные по продаже некоторого штучного товара в торговых центрах города за четыре месяца. За каждый месяц в таблице вычислены суммарные продажи и средняя по городу цена на товар, которая на 2 рубля больше цены поставщика данного товара.

 

ТЦЯнварьФевральМартАпрель
Продано,
штук
Цена,
руб.
Продано,
штук
Цена,
руб.
Продано,
штук
Цена,
руб.
Продано,
штук
Цена,
руб.
Эдельвейс514117515415
Покупочка613216611414
Кошелек217514415118
Солнечный812713711713
 Продано всего 21152216
 Средняя цена 14151315

 

Известно, что весь поступивший от поставщика в текущем месяце товар реализуется в этом же месяце.

В каком месяце выручка поставщика данного товара была максимальна?

8.

Запишите значение переменной а после выполнения фрагмента алгоритма:

 

*Примечание: знаком := обозначена операция присваивания. В бланк ответов впишите только число.

9.

Текстовый документ хранился в 8-битной кодировке КОИ-8. Этот документ был преобразован в 16-битную кодировку Unicode, при этом размер памяти, необходимой для хранения документа увеличился на 4 Кбайт. При этом хранится только последовательность кодов символов. Укажите, сколько символов в документе. В ответе запишите только число.

10.

Левий составляет 5-буквенные коды из букв Л, Е, В, И, Й. Каждую букву нужно использовать ровно 1 раз, при этом код не может начинаться с буквы Й и не может содержать сочетания ЕИ. Сколько различных кодов может составить Левий?

11.

Ниже на пяти языках программирования записана рекурсивная функция (процедура) F.

 

 

БейсикPython

SUB F(n)

    PRINT n,

    IF n > 2 THEN

       F(n − 3)

       F(n − 2)

       F(n − 1)

    END IF

END SUB

def F(n):

    print (n, end='')

    if n > 2:

        F(n − 3)

        F(n − 2)

        F(n − 1)

ПаскальАлгоритмический язык

procedure F(n: integer);

begin

    write(n);

    if n > 2 then

    begin

      F(n − 3);

      F(n − 2);

      F(n − 1)

    end

end;

алг F(цел n)

нач

    вывод n

    если n > 2 то

      F(n − 3)

      F(n − 2)

      F(n − 1)

    все

кон

Си

void F(int n ){

    cout « n « endl;

    if (n > 2) {

        F(n - 3);

        F(n - 2);

        F(n - 1);

    }

}

 

 

Что выведет программа при вызове F(4)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).

12.

Маской подсети называется 32-разрядное двоичное число, которое определяет, какая часть IP-адреса компьютера относится к адресу сети, а какая часть IP-адреса определяет адрес компьютера в подсети. В маске подсети старшие биты, отведенные в IP-адресе компьютера для адреса сети, имеют значение 1; младшие биты, отведенные в IP-адресе компьютера для адреса компьютера в подсети, имеют значение 0.

Если маска подсети 255.255.255.192 и IP-адрес компьютера в сети 10.18.134.220, то номер компьютера в сети равен_____

13.

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 6 символов и содержащий только символы из 7-буквенного набора Н, О, Р, С, Т, У, X. В базе данных для хранения сведений о каждом пользователе отведено одинаковое целое число байт, при этом для хранения сведений о 100 пользователях используется 1400 байт. Для каждого пользователя хранятся пароль и дополнительные сведения. Для хранения паролей используют посимвольное кодирование, все символы кодируются одинаковым и минимально возможным количеством бит. Сколько бит отведено для хранения дополнительных сведений о каждом пользователе?

14.

Исполнитель Чертёжник перемещается на координатной плоскости, оставляя след в виде линии. Чертёжник может выполнять команду сместиться на (a, b), где a, b – целые числа. Эта команда перемещает Чертёжника из точки с координатами (x, y) в точку с координатами (x + a; y + b).

Например, если Чертёжник находится в точке с координатами (4, 2), то команда сместиться на (2, -3) переместит Чертёжника в точку (6, -1).

Цикл

    ПОВТОРИ число РАЗ

        последовательность команд

    КОНЕЦ ПОВТОРИ

означает, что последовательность команд будет выполнена указанное число раз (число должно быть натуральным).

Чертёжнику был дан для исполнения следующий алгоритм (буквами n, a, b обозначены неизвестные числа, n>1):

НАЧАЛО

    сместиться на (60, 100)

    ПОВТОРИ n РАЗ

        сместиться на (a, b)

        сместиться на (33, 44)

    КОНЕЦ ПОВТОРИ

    сместиться на (13, 200)

    сместиться на (-1, 60)

КОНЕЦ

Укажите наибольшее возможное значение числа n, для которого найдутся такие значения чисел a и b, что после выполнения программы Чертёжник возвратится в исходную точку.

15.

На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город М, проходящих через город Ж?

16.

В некоторой системе счисления записи десятичных чисел 66 и 40 заканчиваются на 1. Определите основание системы счисления.

17.

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

 

ЗапросНайдено страниц, тыс.
Пилот700
Пилот | Вертолёт | Акула1200
Пилот & Вертолёт & Акула0
Пилот & Акула110
Пилот & Вертолёт220
Вертолёт & Акула330

 

Какое количество страниц (в тыс.) будет найдено по запросу

 

Вертолёт | Акула?

 

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

18.

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

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

 

¬ДЕЛ(x, А) → (ДЕЛ(x, 6) → ¬ДЕЛ(x, 4))

 

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

19.

Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10.

 

Бейсик Python

s = 27

n = 10

FOR i = 0 TO n-1

    s = s+A(i)-A(i+1)+2

NEXT i

s = 27

n = 10

for i in range(0,n):

    s = s + A[i] - A[i+1]+2

Алгоритмический язык Паскаль

s := 27

n := 10

нц для i от 0 до n-1

    s:=s+A[i]-A[i+1]+2

кц

s := 27;

n := 10;

for i:=0 to n-1 do begin

    s:=s+A[i]-A[i+1]+2

end;

Си++

s = 27;

n = 10;

for (i = 0; i <= n-1; i++) {

    s=s+A[i]-A[i+1]+2;

}

 

Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0] < A[1] < … < A[10].

Какое наибольшее значение может иметь переменная s после выполнения данной программы?

20.

Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 100. Укажите наименьшее такое (т.е. большее 100) число x, при вводе которого алгоритм печатает 26.

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = X

M = 65

IF L MOD 2 = 0 THEN

    M = 52

ENDIF

WHILE L <> M

IF L > M THEN

    L = L – M

ELSE

    M = M – L

ENDIF

WEND

PRINT M

x = int(input())

L = x

M = 65

if L % 2 == 0:

    M = 52

while L != M:

    if L > M:

        L = L - M

    else:

        M = M - L

print(M)

ПаскальАлгоритмический язык

var x, L, M: integer;

begin

    readln(x);

    L := x;

    M := 65;

    if L mod 2 = 0 then

        M := 52;

    while L <> M do

        if L > M then

            L := L - M

        else

            M := M – L;

    writeln(M);

end.

 

алг

нач

    цел x, L, M

    ввод x

    L := x

    M := 65

    если mod(L,2)=0

        то

            M := 52

    все

    нц пока L <> M

        если L > M

            то

                L := L – M

            иначе

                M := M – L

        все

    кц

    вывод M

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = x;

    M = 65;

    if (L % 2 == 0)

        M = 52;

    while (L != M){

        if(L > M)

            L = L - M;

        else

            M = M - L;

    }

    cout « M « endl;

}

 

21.

Напишите в ответе число, которое будет напечатано в результате выполнения следующего алгоритма (для Вашего удобства алгоритм представлен на пяти языках программирования).

 

БейсикPython

DIM A, B, N, t AS INTEGER

A = -100: B = 100

N = 0

FOR t = A TO B

    IF F(t) <= 0 THEN

        N = N + 1

    END IF

NEXT t

PRINT N

 

FUNCTION F (x)

    F = (x - 16)*(x + 25)

END FUNCTION

def f(x):

    return (x - 16)*(x + 25)

 

a = -100

b = 100

n = 0

 

for t in range(a, b + 1):

    if f(t) <= 0:

        n = n + 1

print(n)

ПаскальАлгоритмический язык

var a, b, N, t: integer;

Function F(x: integer):integer;

    begin

        F := (x - 16)*(x + 25)

    end;

begin

    a := -100; b := 100;

    N := 0;

    for t := a to b do begin

        if (F(t) <= 0) then

            N := N + 1

    end;

    write(N)

end.

алг

нач

    цел a, b, N, t

    a := -100; b := 100

    N := 0

    нц для t от a до b

        если F(t) <= 0

            то

                N := N + 1

        все

    кц

    вывод N

кон

алг цел F(цел x)

нач

    знач := (x - 16)*(x + 25)

кон

Си++

#include <iostream>

using namespace std;

int F(int x) {

    return (x - 16)*(x + 25);

}

 

int main() {

    int a, b, N, t;

    a = -100; b = 100;

    N = 0;

    for (t = a; t <= b; t++) {

        if (F(t) <= 0) {

            N++;

        }

    }

    cout « N « endl;

}

 

22.

Исполнитель НечетМ преобразует число на экране. У исполнителя НечетМ две команды, которым присвоены номера:

 

1. прибавь 1

2. сделай нечётное

 

Первая из этих команд увеличивает число x на экране на 1, вторая переводит число x в число 2x+1. Например, вторая команда переводит число 10 в число 21. Программа для исполнителя НечетМ – это последовательность команд. Сколько существует таких программ, которые число 1 преобразуют в число 27, причём траектория вычислений не содержит число 26? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 17, 18.

23.

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

 

(x1 ∧ ¬x2) ∨ (¬x1 ∧ x2) ∨ (x3 ∧ x4) ∨ (¬x3 ∧ ¬x4) = 1

(x3 ∧ ¬x4) ∨ (¬x3 ∧ x4) ∨ (x5 ∧ x6) ∨ (¬x5 ∧ ¬x6) = 1

...

(x7 ∧ ¬x8) ∨ (¬x7 ∧ x8) ∨ (x9 ∧ x10) ∨ (¬x9 ∧ ¬x10) = 1

 

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

24.

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

 

 

БейсикPython

CONST n = 4

count = 0

maximum = 1000

FOR I = 1 TO n

  INPUT x

    IF x mod 2 = 0 THEN

      count = count + 1

    IF x > maximum THEN

      maximum = I

    END IF

  END IF

NEXT I

IF count > 0 THEN

  PRINT count

  PRINT maximum

ELSE

  PRINT "NO"

END IF

n = 4

count = 0

maximum = 1000

for i in range (1, n+1):

    x = int(input())

    if x % 2 == 0:

        count += 1

        if x > maximum:

            maximum = i

if count > 0:

    print (count)

    print (maximum)

else:

    print ("NO")

Алгоритмический языкПаскаль

алг

нач

  цел n = 4

  цел i, x

  цел maximum, count

  count := 0

  maximum := 1000

  нц для i от 1 до n

    ввод x

    если mod(x, 2) = 0 то

      count := count + 1

      если x > maximum то

        maximum := i

      все

    все

  кц

  если count > 0 то

    вывод count, нс

в    ывод maximum

  иначе

    вывод "NO"

  все

кон

const n = 4;

var i, x: integer;

var maximum, count: integer;

begin

  count := 0;

  maximum := 1000;

  for i := 1 to n do

  begin

    read(x);

    if x mod 2 = 0 then

    begin

      count := count + 1;

      if x > maximum then

          maximum := i

    end

  end;

  if count > 0 then

  begin

    writeln(count);

    writeln(maximum)

  end

  else

    writeln('NO')

end.

Си++

#include <iostream>

using namespace std;

#define n 4

int main(void)

{

  int i, x;

  int maximum, count;

  count = 0;

  maximum = 1000;

  for (i = 1; i <= n; i++)

  {

    cin >> x;

    if (x % 2 == 0)

    {

      count++;

      if (x > maximum)

        maximum = i;

    }

  }

  if (count > 0)

  {

    cout << count << endl;

    cout << maximum << endl;

  }

  else

    cout << "NO\n";

}

 

 

Последовательно выполните следующее.

1. Напишите, что выведет эта программа при вводе последовательности: 2 9 4 3

2. Приведите пример такой последовательности, содержащей хотя бы одно чётное число, что, несмотря на ошибки, приведённая программа печатает правильный ответ.

3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

1) выпишите строку, в которой сделана ошибка;

2) укажите, как исправить ошибку, т.е. приведите правильный вариант строки.

Достаточно указать ошибки и способ их исправления для одного языка программирования.

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

 

Примечание. 0 – чётное число.

25.

Опишите на языке программирования алгоритм подсчета максимального количества подряд идущих элементов, каждый из которых больше предыдущего, в целочисленном массиве длины 30.

26.

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 7 камней; такую позицию в игре будем обозначать (10, 7). Тогда за один ход можно получить любую из четырёх позиций: (11, 7), (20, 7), (10, 8), (10, 14). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 55. Победителем считается игрок, сделавший последний ход, то есть первым получивший такую позицию, что в кучах всего будет 55 или больше камней.

В начальный момент в первой куче было 5 камней, во второй куче – S камней; 1 ≤ S ≤ 49.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника.

Выполните следующие задания. Во всех случаях обосновывайте свой ответ.

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

достаточно указать один выигрывающий ход.

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

2. Укажите такое значение S, при котором у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Для указанного значения S опишите выигрышную стратегию Пети.

3. Укажите значение S, при котором одновременно выполняются два условия:

− у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

− у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

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

в узлах указывайте позиции. В заданиях 2 и 3 достаточно указать одно значение S и объяснить, почему это

значение удовлетворяет условию соответствующего задания.

27.

Дан набор из N целых положительных чисел. Для каждого числа вычисляется сумма двух последних цифр в его десятичной записи (для однозначных чисел предпоследняя цифра считается равной нулю). Необходимо определить, какая сумма при этом получается реже всего (но не менее одного раза). Если таких сумм несколько, необходимо вывести наименьшую из них.

Напишите эффективную по времени и по памяти программу для решения этой задачи.

Программа считается эффективной по времени, если при увеличении количества исходных чисел N в k раз время работы программы увеличивается не более чем в k раз.

Программа считается эффективной по памяти, если память, необходимая для хранения всех переменных программы, не превышает 1 Кбайт и не увеличивается с ростом N.

Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, – 4 балла.

Максимальная оценка за правильную программу, эффективную только по времени или только по памяти, – 3 балла.

Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, – 2 балла.

Вы можете сдать одну или две программы решения задачи. Если Вы сдадите две программы, каждая из них будет оцениваться независимо от другой, итоговой станет бóльшая из двух оценок.

Перед текстом программы кратко опишите алгоритм решения. Укажите использованный язык программирования и его версию.

 

Описание входных и выходных данных

В первой строке входных данных задаётся количество чисел N (1 ≤ N ≤ 1000).

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

Пример входных данных:

5

14

417

123

3

4841

Пример выходных данных для приведённого выше примера входных данных:

3

Суммы двух последних цифр для чисел из данного набора равны 5, 8, 5, 3, 5.

Реже других (по одному разу) встречаются 8 и 3, в ответе выводится меньшая из этих сумм.