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

1.

Дано N = 1678, M = 7916. Какое из чисел K, записанных в двоичной системе, отвечает условию N < K < M?

 

1) 10011002

2) 10111002

3) 10110112

4) 11110002

2.

Каждое из логических выражений F и G содержит 5 переменных. В таблицах истинности выражений F и G есть ровно 5 одинаковых строк, причём ровно в 4 из них в столбце значений стоит 1.

Сколько строк таблицы истинности для выражения F ∨ G содержит 1 в столбце значений?

3.

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

 

ABCDEF
A41133
B44
C11471120
D713
E118
F3320138

 

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

4.

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

Символ «?» (вопросительный знак) означает ровно один произвольный символ.

Символ «*» (звездочка) означает любую последовательность символов произвольной длины, в том числе «*» может задавать и пустую последовательность. В каталоге находится 6 файлов:

 

Dimon.xls

indigo.xlsx

Candid.xls

Candid.xml

Mardi.xls

odin.xls

 

Определите, по какой из масок из каталога будет отобрана указанная группа файлов:

 

Dimon.xls

indigo.xlsx

Candid.xls

odin.xls

 

1) *di*.xls*

2) *di?*.xls*

3) *di?*.xls

4) *di?*.x*

5.

Для кодирования некоторой последовательности, состоящей из букв У, Ч, Е, Н, И и К, используется неравномерный двоичный префиксный код. Вот этот код: У — 000, Ч — 001, Е — 010, Н — 100, И — 011, К — 11. Можно ли сократить для одной из букв длину кодового слова так, чтобы код по-прежнему остался префиксным? Коды остальных букв меняться не должны.

Выберите правильный вариант ответа.

Примечание. Префиксный код — это код, в котором ни одно кодовое слово не является началом другого; такие коды позволяют однозначно декодировать полученную двоичную последовательность.

 

1) кодовое слово для буквы Е можно сократить до 01

2) кодовое слово для буквы К можно сократить до 1

3) кодовое слово для буквы Н можно сократить до 10

4) это невозможно

6.

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

 

влево

вверх

вверх

влево

вниз

вправо

вправо

вправо

 

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

7.

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

 

ABC
145
2=(C1+3)/(A1+4)=B1/(C1-3)=(A1+1)/(2*C1-2*B1)

 

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

 

Известно, что все значения диапазона, по которым построена диаграмма, имеют один и тот же знак.

8.

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

 

БейсикПаскаль

DIM N, S AS INTEGER

N = 20

S = 0

WHILE S <= 257

S = S + 10

N = N + 3

WEND

PRINT N

var n, s: integer;

begin

    n := 20;

    s := 0;

    while s <= 257 do

    begin

        s := s + 10;

        n := n + 3

    end;

    write(n)

end.

Си++Алгоритмический язык

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 20;

    s = 0;

    while (s <= 257)

    {

        s = s + 10;

        n = n + 3;

    }

    cout « n « endl;

}

алг

нач

цел n, s

n := 20

s := 0

нц пока s <= 257

    s := s + 10

    n := n + 3

кц

вывод n

кон

Python

n = 20

s = 0

while s <= 257:

    s += 10

    n += 3

print(n)

 

9.

Производится двухканальная (стерео) звукозапись с частотой дискретизации 44,1 кГц и глубиной кодирования 24 бит. Запись длится 1 минуту, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?

 

1) 11

2) 12

3) 13

4) 15

10.

Все 5-буквенные слова, составленные из букв Б, О, Р, записаны в алфавитном порядке и пронумерованы.

 

Вот начало списка:

1. БББББ

2. ББББО

3. ББББР

4. БББОБ

……

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

11.

Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:

 

F(1) = 1; F(2) = 1;

F(n) = F(n – 2) * n при n > 2.

 

Чему равно значение функции F(7)? В ответе запишите только натуральное число.

12.

В терминологии сетей TCP/IP маской сети называется двоичное число, определяющее, какая часть IP-адреса узла сети относится к адресу сети, а какая - к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес. Адрес сети получается в результате применения поразрядной конъюнкции к заданным IP-адресу узла и маске.

 

По заданным IP-адресу узла и маске определите адрес сети.

 

IP-адрес узла: 248.137.249.32

Маска: 255.255.252.0

 

При записи ответа выберите из приведённых в таблице чисел четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без использования точек.

 

ABCDEFGH
2552492482241373280

 

Пример. Пусть искомый IР-адрес 192.168.128.0, и дана таблица

 

ABCDEFGH
1281682558127017192

 

В этом случае правильный ответ будет записан в виде HBAF.

13.

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы И, Н, Ф, О, Р, М, А, Т, К. Каждый такой пароль в компьютерной программе записывается минимально возможным и одинаковым целым количеством байт (при этом используют посимвольное кодирование и все символы кодируются одинаковым и минимально возможным количеством бит). Определите объём памяти, отводимый этой программой для записи 25 паролей. (Ответ дайте в байтах.)

 

14.

Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр.

А) заменить (v, w).

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить (111, 27)

преобразует строку 05111150 в строку 0527150.

Если в строке нет вхождений цепочки v, то выполнение команды заменить (v, w) не меняет эту строку.

Б) нашлось (v).

Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется.

Цикл

  ПОКА условие

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

  КОНЕЦ ПОКА

выполняется, пока условие истинно.

В конструкции

  ЕСЛИ условие

    ТО команда1

    ИНАЧЕ команда2

  КОНЕЦ ЕСЛИ

выполняется команда1 (если условие истинно) или команда2 (если условие ложно).

 

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 125 идущих подряд цифр 8? В ответе запишите полученную строку.

НАЧАЛО

ПОКА нашлось (333) ИЛИ нашлось (888)

  ЕСЛИ нашлось (333)

    ТО заменить (333, 8)

    ИНАЧЕ заменить (888, 3)

  КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

15.

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

 

16.

Решите уравнение:

103x + 1110 = 103х+1
17.

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

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

 

ЗапросНайдено страниц
(в тысячах)
Зайцы | Белки | Углеводы485
Зайцы191
Углеводы80
Белки & Зайцы64
Белки & Углеводы38
Зайцы | Углеводы271

 

Какое количество страниц (в тысячах) будет найдено по запросу Белки | Зайцы?

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

18.

На числовой прямой даны два отрезка: Р = [3, 38] и Q = [21, 57]. Выберите из предложенных отрезков такой отрезок А, что логическое выражение

 

((х ∈ P) → ¬(х ∈ Q)) → ¬(х ∈ A)

 

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

 

1) [6,20]

2) [22,35]

3) [40,60]

4) [20,40]

19.

В программе описан двухмерный целочисленный массив A [1..6,1..6]. Ниже представлен фрагмент этой программы, в котором изменяются значения элементов массива.

 

БейсикPython

FOR n = 1 TO 6

    FOR m = 1 TO 6

        A(n,m) = A(m,n)+2*n-m

    NEXT m

NEXT n

for n in range(6):

    for m in range(6):

        A[n][m] = A[m][n]+2*(n+1)-(m+1)

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

for n:= 1 to 6 do

    for m:=1 to 6 do begin

        A[n,m]:= A[m,n]+2*n-m;

    end;

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

    нц для m от 1 до 6

        A[n,m]:= A[m,n]+2*n-m

    кц

кц

Си++

for (n = 0; n < 6; n++) {

    for (m = 0; m < 6; m++) {

        A[n][m]= A[m][n]+2*(n+1)-(m+1);

    }

}

 

 

До выполнения данного фрагмента программы значение A[4,3] (для Python и C++ A[3][2]) было равно 10, а значение A[3,4] (для Python и C++ A[2][3]) было равно 15. Чему будет равно значение A[4,3] (для Python и C++ A[3][2]) после выполнения этого фрагмента программы?

20.

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

 

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

L = L + 1

IF M < x AND x mod 2 = 1 THEN

     M = (x mod 10)*2

ENDIF

x = x \ 10

PRINT L

PRINT M

x = int(input())

L = 0

M = 0

while x > 0:

    L = L + 1

    if M < x and x % 2 == 1:

        M = (x % 10)*2

    x = x // 10

print(L)

print(M)

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

var x, L, M: integer;

begin

    readln(x);

    L := 0;

    M := 0;

    while x > 0 do

    begin

        L := L + 1;

        if (M < x) and (x mod 2 = 1) then

            M:=(x mod 10)*2;

        x := x div 10;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

    цел x, L, M

    ввод x

    L := 0

    M := 0

    нц пока x > 0

        L := L + 1

        если M < x и mod(x,2) = 1 то

            M := mod(x,10)*2

        все

        x := div(x,10)

    кц

    вывод L, нс, M

кон

Си++

 

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = 0;

    M = 0;

    while (x > 0){

        L = L + 1;

        if(M < x and x % 2 == 1){

            M = (x % 10)*2;

        }

        x = x / 10;

    }

    cout << L << endl << M endl;

}

 

21.

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

 

БейсикПаскаль

DIM A, B, T, M, R AS INTEGER

A = -25: B = 25

M = A: R = F(A)

FOR T = A TO B

    IF F(T) > R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M

FUNCTION F(x)

    F = 19*(4+x)*(4+x)+ 52

END FUNCTION

var a,b,t,M,R :integer;

    Function F(x: integer):integer;

        begin

            F := 19*(4+x)*(4+x)+ 52;

        end;

BEGIN

    a := -25; b := 25;

    M := a; R := F(a);

    for t := a to b do begin

        if (F(t) > R) then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M);

END.

Си++Алгоритмический

#include <iostream>

using namespace std;

int F(int x)

{

    return 19*(4+x)*(4+x)+ 52;

}

int main()

{

    int a, b, t, M, R;

    a = -25; b = 25;

    M = a; R = F(a);

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

        if (F(t) > R) {

            M = t; R = F(t);

        }

    }

    cout << M << endl;

}

алг

нач

цел a, b, t, R, M

a := -25; b := 25

M := a; R := F(a)

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

если F(t) > R

то M := t; R := F(t)

все

кц

вывод M

кон

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

нач

знач := 19*(4+x)*(4+x)+ 52

кон

Python

def f(x):

    return 19*(4+x)*(4+x)+ 52

a = -25

b = 25

M = a

R = f(a)

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

    if (f(t) > R):

        M = t

        R = f(t);

print(M)

 

22.

У исполнителя Калькулятор две команды:

 

1. прибавь 2

2. умножь на 3.

 

Первая из них увеличивает число на экране на 2, вторая — утраивает его. Сколько различных чисел можно получить из числа 2 с помощью программы, которая содержит не более 4 команд?

23.

Сколько различных решений имеет система уравнений

 

x1 ∨ ¬x2 = 1

x2 ∨ ¬x3 = 1

x9 ∨ ¬x10 = 1,

где x1, x2, … x10 — логические переменные?

 

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

24.

Требовалось написать программу, при выполнении которой с клавиатуры считывается координата точки на прямой (x — действительное число) и определяется принадлежность этой точки одному из выделенных отрезков В и D (включая границы). Программист торопился и написал программу неправильно.

 

БейсикПаскаль

INPUT x

IF x>=-3 THEN

IF x<=9 THEN

IF x>1 THEN

PRINT "не принадлежит"

ELSE

PRINT "принадлежит"

ENDIF

ENDIF

ENDIF

END

var x: real;

begin

readln(x);

if x>=-3 then

if x<=9 then

if x>1 then

write('не принадлежит')

else

write('принадлежит')

end.

Си++Алгоритмический язык

int main(void)

{

float x;

cin >> x;

if(x>=-3)

if(x<=9)

if(x>1)

cout << "не принадлежит";

else

cout << "принадлежит";

}

алг

нач

вещ x

ввод x

если x>=-3 то

если x<=9 то

если x>1 то

вывод 'не принадлежит'

иначе

вывод 'принадлежит'

все

все

все

кон

Python

x = float(input())

if x >= -3:

    if x <= 9:

        if x > 1:

            print("не принадлежит")

        else:

            print("принадлежит")

 

 

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

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D и E). Границы (точки –3, 1, 5 и 9) принадлежат заштрихованным областям (B и D соответственно).

В столбцах условий укажите «Да», если условие выполнится; «Нет», если условие не выполнится; «—» (прочерк), если условие не будет проверяться; «не изв.», если программа ведет себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «Да» или «Нет».

2. Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. (Это можно сделать несколькими способами, достаточно указать любой способ доработки исходной программы.)

 

ОбластьУсловие 1
(x >= –3)
Условие 2
(x <= 9)
Условие 3
(x > 1)
Программа выведетОбласть обрабатывается верно
A
B
C
D
E

25.

Дан массив, содержащий 2015 неотрицательных целых чисел. Ямой называется не крайний элемент массива, который меньше обоих своих соседей. Необходимо найти в массиве самую глубокую яму, то есть яму, значение которой минимально. Если в массиве нет ни одной ямы, ответ считается равным 0.

Например, в массиве из шести элементов, равных соответственно 4, 9, 2, 17, 3, 8, есть две ямы – 2 и 3, самая глубокая яма – 2.

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

 

БейсикPython

CONST N=2015

DIM A(N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

   INPUT A(I)

NEXT I

END

//допускается также использо-

// вание целочисленных

// переменных j, k

a = []

n = 2015 // менять значение n

нельзя

for i in range(0, n):

a.append(int(input()))

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

const

N=2015;

var

a: array [1..N] of integer;

i, j, k: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

алг

нач

цел N=2015| Изменять значение этой переменной нельзя

целтаб a[1:N]

цел i, j, k

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

ввод a[i]

кц

кон

Си++

#include <iostream>

using namespace std;

#define N 2015

int main(){

int a[N];

int i, j, k;

for (i=0; i < N; i++)

cin >> a[i];

return 0;

}

 

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.4) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).

26.

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один или два камня или увеличить количество камней в куче в два раза. Например, имея кучу из 15 камней, за один ход можно получить кучу из 16, 17 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней. Игра завершается в тот момент, когда количество камней в куче становится не менее 47. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 47 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 46.

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

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

1. а) При каких значениях числа S Петя может выиграть в один ход? Укажите все такие значения.

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

2. Укажите два таких значения S, при которых у Пети есть выигрышная стратегия, причём (а) Петя не может выиграть за один ход и (б) Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

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

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

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

27.

По каналу связи передаются положительные целые числа, не превышающие 1000, — результаты измерений, полученных в ходе эксперимента (количество измерений N известно заранее, гарантируется, что N > 2). После окончания эксперимента передаётся контрольное значение — наибольшее число R, удовлетворяющее следующим условиям:

1) R — сумма двух различных переданных элементов последовательности («различные» означает, что нельзя просто удваивать переданные числа, суммы различных, но равных по величине элементов допускаются);

2) R — чётное число. В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.

Напишите программу (укажите используемую версию языка программирования, например Free Pascal 2.6.4), которая будет проверять правильность контрольного значения. Программа должна напечатать отчёт по следующей форме:

Вычисленное контрольное значение:

Контроль пройден (или Контроль не пройден)

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

Перед текстом программы кратко опишите используемый Вами алгоритм решения.

На вход программе в первой строке подаётся количество чисел N (N > 2). В каждой из последующих N строк записано одно натуральное число, не превышающее 1000. В последней строке записано контрольное значение. Пример входных данных:

6

100

8

33

145

19

84

184

Пример выходных данных для приведённого выше примера входных данных: Вычисленное контрольное значение: 184.