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

1.

Вычислите: 101010102 – 2528 + 716. Ответ запишите в десятичной системе счисления.

2.

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

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

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

 

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

 

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

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

 

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

 

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

3.

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

 

П1П2П3П4П5П6П7
П14510
П2454055
П31560
П410402035
П51555
П65560205545
П73545

 

 

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

4.

В фрагменте базы данных представлены сведения о родственных отношениях.

 

Таблица 1
IDФамилия_И.О.Пол
1108Козак Е.Р.Ж
1010Котова М.С.Ж
1047Лацис Н.Б.Ж
1037Белых С.Б.Ж
1083Петрич В.И.Ж
1025Саенко А.И.Ж
1071Белых А.И.М
1012Белых И.А.М
1098Белых Т.А.М
1096Белых Я.А.М
1051Мугабе Р.ХМ
1121Петрич Л.Р.М
1086Петрич Р.С.М

Таблица 2
ID_РодителяID_Ребенка
10101071
10121071
10101083
10121083
10251086
10471096
10711096
10471098
10711098
10831108
10861108
10831121
10861121

 

Определите на основании приведенных данных ID внучки Белых И. А.

5.

По каналу связи передаются сообщения, содержащие только шесть букв: А, B, C, D, E, F. Для передачи используется неравномерный двоичный код, удовлетворяющий условию Фано. Для букв A, B, C используются такие кодовые слова: А — 11, B — 101, C — 0. Укажите кодовое слово наименьшей возможной длины, которое можно использовать для буквы F. Если таких слов несколько, укажите то из них, которое соответствует наименьшему возможному двоичному числу. Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова. Коды, удовлетворяющие условию Фано, допускают однозначное декодирование

6.

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

1. Строится двоичная запись числа N.

2. К этой записи дописываются справа ещё два разряда по следующему правилу:

а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 10000 преобразуется в запись 100001;

б) над этой записью производятся те же действия — справа дописывается остаток от деления суммы цифр на 2.

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

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

7.

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

 

 Вклад, р. 4 %3 %
Агеев210000021840002249520
Агнесян200000208000214240
Сестров500005200053560
Кучкин230000023920002463760
 Общая сумма  4650000  4836000  4981080 

 

Определите общую сумму вкладов населения в банке в рублях после очередного начисления процентов, если процентная ставка будет составлять 10%.

 

8.

Определите, что будет напечатано в результате работы следующего фрагмента программы:

 

 

БейсикPython

DIM K, S AS INTEGER

S = 3

K = 1

WHILE K < 25

    S = S + K

    K = K + 2

WEND

PRINT S

s = 3

k = 1

while k < 25:

    s += k

    k += 2

print(s)

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

var k, s: integer;

begin

       s:=3;

       k:=1;

      while k < 25 do begin

            s:=s+k;

            k:=k+2;

       end;

      write(s);

end.

алг

нач

    цел k, s

    s := 3

    k := 1

    нц пока k < 25

        s := s + k

        k := k + 2

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 3, k = 1;

    while (k < 25) {

        s = s + k;

        k = k + 2;

    }

    cout << s << endl;

    return 0;

}

 

9.

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

10.

Шифр кодового замка представляет собой последовательность из пяти символов, каждый из которых является цифрой от 1 до 4. Сколько различных вариантов шифра можно задать, если известно, что цифра 1 встречается ровно два раза, а каждая из других допустимых цифр может встречаться в шифре любое количество раз или не встречаться совсем?

11.

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

 

 

БейсикPython

SUB F(n)

    PRINT n,

    IF n > 2 THEN

       F(n − 1)

       F(n − 2)

       F(n − 3)

    END IF

END SUB

def F(n):

    print (n)

    if n > 2:

        F(n − 1)

        F(n − 2)

        F(n − 3)

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

procedure F(n: integer);

begin

    write(n);

    if n > 2 then

    begin

      F(n − 1);

      F(n − 2);

      F(n − 3)

    end

end;

алг F(цел n)

нач

    вывод n

    если n > 2 то

      F(n − 1)

      F(n − 2)

      F(n − 3)

    все

кон

Си

void F(int n ){

    cout « n « endl;

    if (n > 2) {

        F(n − 1);

        F(n − 2);

        F(n − 3);

    }

}

 

 

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

12.

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

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

13.

В некоторой стране проживает 1000 человек. Индивидуальные номера налогоплательщиков-физических лиц в этой стране содержат только цифры 0, 1, 2 и 3. Каково минимальное количество разрядов в ИНН в этой стране, если различные между собой номера имеют абсолютно все жители?

14.

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

Цикл

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

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

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

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

 

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

 

НАЧАЛО

сместиться на (30, −10)

ПОВТОРИ n РАЗ

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

сместиться на (−11, −12)

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

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

КОНЕЦ

 

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

15.

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

Сколько существует различных путей из города А в город Т, проходящих через город Н?

16.

Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 25, запись которых в двоичной системе счисления оканчивается на 101?

17.

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

 

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

 

ЗапросНайдено страниц
(в тысячах)
Ильф & Петров & Остап800
Ильф & Петров & Бендер600
Ильф & Петров & Бендер & Остап500

 

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

 

 

(Ильф & Петров & Остап)|(Ильф & Петров & Бендер)?

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

18.

Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n. Так, например, 14&5 = 11102&01012 = 01002 = 4.

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

 

x&25 ≠ 0 → (x&17 = 0 → x&А ≠ 0)

 

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

19.

Элементы двухмерного массива A размером 10x10 первоначально были равны 1. Затем значения некоторых из них меняют с помощью следующего фрагмента программы:

 

 

БейсикPython

FOR n = 1 TO 4

    FOR k = 1 TO n+1

        A(n,k) = A(n,k) - 1

        A(n,k+1) = A(n,k) - 1

    NEXT k

NEXT n

for n in range(1, 5):

    for k in range(1, n+2):

        A[n,k] = A[n,k]-1

        A[n,k+1] = A[n,k]-1

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

for n:= 1 to 4 do

    for k:=1 to n+1 do begin

        A[n,k]:= A[n,k]-1;

        A[n,k+1]:= A[n,k]-1;

    end;

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

    нц для k от 1 до n+1

        A[n,k]:= A[n,k]-1

        A[n,k+1]:= A[n,k]-1

    кц

кц

Си++

for (n = 1; n <= 4; n++) {

    for (k = 1; k <= n+1; k++) {

        A[n][k]= A[n][k]-1;

        A[n][k+1]= A[n][k]-1;

    }

}

 

 

Сколько элементов массива в результате будут равны 0?

20.

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

 

БейсикPython

DIM X, A, B AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    IF X MOD 2 = 0 THEN

        A = A + 1

    ELSE

        B = B + X MOD 10

    END IF

    X = X \ 10

WEND

PRINT A

PRINT B

x = int(input())

a=0; b=0

while x > 0:

    if x%2 == 0:

        a += 1

    else:

        b += x%10

    x = x//10

print(a, b)

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

var x, a, b: longint;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

    begin

        if x mod 2= 0 then

            a := a + 1

        else

            b := b + x mod 10;

        x := x div 10;

    end;

    writeln(a); write(b);

end.

алг

нач

    цел x, a, b

    ввод x

    a := 0; b := 0

    нц пока x > 0

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

            то a := a+1

            иначе b := b + mod(x,10)

        все

        x := div(x,10)

    кц

    вывод a, нс, b

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, a, b;

    cin >> x;

    a = 0; b = 0;

    while (x > 0) {

        if (x%2 == 0) a += 1;

        else b += x%10;

        x = x / 10;

    }

    cout << a << endl << b << endl;

    return 0;

}

 

21.

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

 

 

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

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

A = -20: B = 20

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 R

 

FUNCTION F(x)

    F := 4*(x-5)*(x+3)

END FUNCTION

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

    Function F(x: integer):integer;

    begin

        F := 4*(x-5)*(x+3);

    end;

BEGIN

    a := -20; b := 20;

    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(R);

END.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return 4*(x-5)*(x+3)

}

int main()

{

    int a, b, t, M, R;

    a = -20; b = 20;

    M = a; R = F(a);

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

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout « R « endl;

}

алг

нач

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

a := -20; b := 20

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

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

если F(t) < R

то

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

все

кц

вывод R

кон

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

нач

знач := 4*(x-5)*(x+3)

кон

Python

def f(x):

    return 4*(x-5)*(x+3)

a = -20

b = 20

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(R)

 

22.

У исполнителя Арифметик две команды, которым присвоены номера:

 

1. прибавь 1,

2. прибавь 3.

 

Первая из них увеличивает на 1 число на экране, вторая увеличивает это число на 3.

Программа для Арифметика — это последовательность команд.

Сколько существует программ, которые число 2 преобразуют в число 15?

23.

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

 

(x1 ∨ x2) ∧ ((x1 ∧ x2) →x3) ∧ ¬ (x1 ∧ y1) = 1

(x2 ∨ x3) ∧ ((x2 ∧ x3) →x4) ∧ ¬ (x2 ∧ y2) = 1

...

(x5 ∨ x6) ∧ ((x5 ∧ x6) →x7) ∧ ¬ (x5 ∧ y5) = 1

(x6 ∨ x7) ∧ ¬(x6 ∧ y6) = 1

x7 ∧ y7 = 0

 

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

24.

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

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

 

Бейсик Python

mx = 0

s = 0

FOR I = 1 TO 4

    INPUT x

    IF x < 0 THEN

        s = x

    END IF

    IF x > mx THEN

        mx = x

    END IF

NEXT I

PRINT s

PRINT mx

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)

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

алг

нач

    цел s,i,x,mx

    mx := 0

    s := 0

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

        ввод x

        если x < 0 то

            s := x

        все

        если x > mx то

            mx := x

        все

    кц

вывод s, нс

вывод 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(void)

{

    int s, i, x, mx;

    mx = 0;

    s = 0;

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

    {

        cin >> x;

        if (x < 0)

        {

            s = x;

        }

        if (x > mx)

        {

            mx = x;

        }

    }

    cout << s << "\n";

    cout << mx << "\n";

}

 

 

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

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

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

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

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

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

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

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

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

25.

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

 

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

N=2014

DIM A(N) AS SINGLE

DIM D, R AS SINGLE

DIM I, J, K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

const

N=2014;

var

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

d, r: real;

i, j, k: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

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

#include <iostream>

using namespace std;

#include <math.h>

#define N 2014

int main(){

float a[N];

float d, r;

int i, j, k;

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

cin >> a[i];

}

алг

нач

цел N=2014

вещтаб a[1:N]

вещ d, r;

цел i, j, k

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

ввод a[i]

кц

кон

Python

# допускается также

# использовать две

# целочисленные переменные j, k

# и вещественные d, r

a = []

n = 2014

for i in range(0, n):

    a.append(int(input()))

...

 

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

26.

Два игрока, Петя и Ваня, играют в следующую игру. Перед ними лежат две кучки камней, в первой из которых 2, а во второй — 3 камня. У каждого игрока неограниченно много камней. Игроки ходят по очереди, первый ход делает Петя. Ход состоит в том, что игрок или утраивает число камней в какой-то куче, или добавляет 4 камня в какую-то кучу. Игра завершается в тот момент, когда общее число камней в двух кучах становится не менее 31. Если в момент завершения игры общее число камней в двух кучах не менее 40, то выиграл Петя, в противном случае — Ваня. Кто выигрывает при безошибочной игре обоих игроков? Каким должен быть первый ход выигрывающего игрока? Ответ обоснуйте.

27.

Гоночная трасса состоит из двух основных дорог и нескольких переездов, позволяющих перейти с одной дороги на другую. На всех участках, включая переезды, движение разрешено только в одну сторону, поэтому переезд возможен только с дороги A на дорогу B. Гонщик стартует в точке A0 и должен финишировать в точке BN. Он знает, за какое время сможет пройти каждый участок пути по каждой дороге, то есть время прохождения участков A0A1, A1A2, …, AN-1AN, B0B1, B1B2, …, BN-1BN. Время прохождения всех переездов A0B0, A1B1, …, ANBN одинаково и известно гонщику. Необходимо определить, за какое минимальное время гонщик сможет пройти трассу.

 

Вам предлагается два задания с похожими условиями: задание А и задание Б. Вы можете решать оба задания или одно из них по своему выбору. Задание Б более сложное, его решение оценивается выше. Итоговая оценка выставляется как максимальная из оценок за задания А и Б.

 

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

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

 

Задание Б. Имеется набор данных о пунктах Ai и Bi. Напишите программу для решения этой задачи.

Постарайтесь сделать программу эффективной по времени и используемой памяти (или хотя бы по одной из этих характеристик).

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

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

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

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

 

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

Входные данные

В первой строке задаётся количество участков трассы N. Во второй строке задаётся целое число t — время (в секундах) прохождения каждого из переездов A0B0, A1B1, …, ANBN. В каждой из последующих N строк записано два целых числа ai и bi, задающих время (в секундах) прохождения очередного участка на каждой из дорог. В первой из этих строк указывается время прохождения участков A0A1 и B0B1, во второй — A1A2 и B1B2 и т. д.

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

3

20

320 150

200 440

300 210

Выходные данные

Программа должна напечатать одно целое число: минимально возможное время прохождения трассы (в секундах).

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

750