В начало страницы

Вариант «Демонстрационная версия ЕГЭ—2016 по информатике» (ДЕМО-2016)

Список тем

1, Д1, 2, 4, 5, 6, 7, Д7, Д7, 8, 11, 12, Д12, 13, 14, Д15, 16, Д17, Д19, 22, Д23, Д24 C1, Д25 C2, Д26 C3, Д27 C4

Задания

Задание 1 (тема 1, №9354)

Текст задания

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

 

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

 

 

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

Задание Д1 (тема Д1, №9352)

Текст задания

Сколько единиц в двоичной записи шестнадцатеричного числа 12F016?

Задание 2 (тема 2, №9353)

Текст задания

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

 

Перем. 1Перем. 2Перем. 3Функция
?????????F
0000
0011
0100
0111
1000
1010
1100
1111

 

В ответе напишите буквы x, y, z в том порядке, в котором идут соответствующие им столбцы (сначала – буква, соответствующая 1-му столбцу; затем – буква, соответствующая 2-му столбцу; затем – буква, соответствующая 3-му столбцу). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно. Пример. Пусть задано выражение xy, зависящее от двух переменных x и y, и таблица истинности:

 

Перем. 1Перем. 2Функция
??????F
001
010
101
111

 

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

Задание 4 (тема 4, №9356)

Текст задания

По каналу связи передаются сообщения, содержащие только четыре буквы: П, О, С, Т; для передачи используется двоичный код, допускающий однозначное декодирование. Для букв Т, О, П используются такие кодовые слова: Т: 111, О: 0, П: 100.

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

Задание 5 (тема 5, №9357)

Текст задания

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

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

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

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

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

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

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

ИЛИ

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

1. прибавь 2,

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

Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, умножает его на 5.

Например, программа 2121 — это программа

умножь на 5,

прибавь 2,

умножь на 5,

прибавь 2,

которая преобразует число 1 в число 37.

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

Задание 6 (тема 6, №9359)

Текст задания

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

 

БейсикPython

DIM S, N AS INTEGER

S = 0

N = 0

WHILE S < 111

S = S + 8

N = N + 2

WEND

PRINT N

s = 0

n = 0

while s < 111:

    s = s + 8

    n = n + 2

print(n)

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

var s, n: integer;

begin

s := 0;

n := 0;

while s < 111 do

begin

s := s + 8;

n := n + 2

end;

writeln(n)

end.

алг

нач

цел n, s

n := 0

s := 0

нц пока s < 111

s := s + 8

n := n + 2

кц

вывод n

кон

Си++

#include <iostream>

using namespace std;

int main()

{ int s = 0, n = 0;

while (s < 111) { s = s + 8; n = n + 2; }

cout << n << endl;

return 0;

}

 

Задание 7 (тема 7, №9360)

Текст задания

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

 

ИЛИ

 

Музыкальный фрагмент был записан в формате моно, оцифрован и сохранён в виде файла без использования сжатия данных. Размер полученного файла – 24 Мбайт. Затем тот же музыкальный фрагмент был записан повторно в формате стерео (двухканальная запись) и оцифрован с разрешением в 4 раза выше и частотой дискретизации в 1,5 раза меньше, чем в первый раз. Сжатие данных не производилось. Укажите размер файла в Мбайт, полученного при повторной записи. В ответе запишите только целое число, единицу измерения писать не нужно.

Задание Д7.1 (тема Д7, №9355)

Текст задания

В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите, сколько прямых потомков (т.е. детей и внуков) Павленко А.К. упомянуты в таблице 1.

 

Таблица 1
IDФамилия_И.О.Пол
2146Кривич Л. П.Ж
2155Павленко А. К.М
2431Хитрук П. А.М
2480Кривич А. А.М
2302Павленко Е. А.Ж
2500Сокол Н. А.Ж
3002Павленко И. А.М
2523Павленко Т. Х.Ж
2529Хитрук А. П.М
2570Павленко П. И.М
2586Павленко Т. И.Ж
2933Симонян А. А.Ж
2511Сокол В. А.Ж
3193Биба С. А.Ж
.........

Таблица 2
ID_РодителяID_Ребенка
21462302
21463002
21552302
21553002
23022431
23022511
23023193
30022586
30022570
25232586
25232570
25292431
25292511
25293193
......

 

ИЛИ

 

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

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

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

В каталоге находится 6 файлов:

maveric.map

maveric.mp3

taverna.mp4

revolver.mp4

vera.mp3

zveri.mp3

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

 

*ver*.mp**?ver?*.mp??*ver*.mp?**v*r*?.m?p*
???*???.mp*???*???.m**a*.*a**a*.*p*

 

Задание Д7.2 (тема Д7, №9358)

Текст задания

Дан фрагмент электронной таблицы. Из ячейки E4 в ячейку D3 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Каким стало числовое значение формулы в ячейке D3?

 

ABCDE
1404400707
2303300606
32022005
410110040=$B2 * C$3

 

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

 

ИЛИ

 

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

 

ABC
1610
2=(A1-3)/(B1-1)=(A1-3)/(C1-5)= C1/(A1 – 3)

 

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

Задание 8 (тема 8, №9361)

Текст задания

Игорь составляет таблицу кодовых слов для передачи сообщений, каждому сообщению соответствует своё кодовое слово. В качестве кодовых слов Игорь использует 5-буквенные слова, в которых есть только буквы П, И, Р, причём буква П появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в кодовом слове любое количество раз или не встречаться совсем. Сколько различных кодовых слов может использовать Игорь?

Задание 11 (тема 11, №9364)

Текст задания

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 400 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число – количество байт.

Задание 12 (тема 12, №9365)

Текст задания

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

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

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

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

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

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

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

исполнителя при этом не изменяется.

 Цикл

    ПОКА условие

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

    КОНЕЦ ПОКА

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

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

    ЕСЛИ условие

        ТО команда1

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

    КОНЕЦ ЕСЛИ

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

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

 НАЧАЛО

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

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

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

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

    КОНЕЦ ЕСЛИ

 КОНЕЦ ПОКА

 КОНЕЦ

Задание Д12 (тема Д12, №9363)

Текст задания

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

Например, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32.240.0.

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

Задание 13 (тема 13, №9366)

Текст задания

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

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

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

Задание 14 (тема 14, №9367)

Текст задания

Значение арифметического выражения: 98 + 35 – 9 – записали в системе счисления с основанием 3. Сколько цифр «2» содержится в этой записи?

Задание Д15 (тема Д15, №9369)

Текст задания

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

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

 

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

 

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

Задание 16 (тема 16, №9362)

Текст задания

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

 

БейсикPython

DECLARE SUB F(n)

DECLARE SUB G(n)

 

SUB F(n)

    IF n > 0 THEN G(n - 1)

END SUB

 

SUB G(n)

    PRINT "*"

    IF n > 1 THEN F(n - 3)

END SUB

def F(n):

    if n > 0:

        G(n - 1)

def G(n):

    print("*")

    if n > 1:

        F(n - 3)

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

procedure F(n: integer); forward;

procedure G(n: integer); forward;

 

procedure F(n: integer);

begin

    if n > 0 then

        G(n - 1);

end;

 

procedure G(n: integer);

begin

    writeln('*');

    if n > 1 then

        F(n - 3);

end;

алг F(цел n)

нач

    если n > 0 то

        G(n - 1)

    все

кон

 

алг G(цел n)

нач

    вывод "*"

    если n > 1 то

        F(n - 3)

    все

кон

Си

void F(int n);

void G(int n);

 

void F(int n){

    if (n > 0)

        G(n - 1);

}

 

void G(int n){

    printf("*");

    if (n > 1)

        F(n - 3);

}

 

 

Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?

Задание Д17 (тема Д17, №9368)

Текст задания

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

 

ЗапросНайдено страниц (в тысячах)
Гомер & Илиада200
Гомер & (Одиссея | Илиада)470
Гомер & Одиссея355

 

Какое количество страниц (в тысячах) будет найдено по запросу Гомер & Одиссея & Илиада? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время

выполнения запросов.

Задание Д19 (тема Д19, №9370)

Текст задания

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 4, 7, 3, 8, 5, 0, 1, 2, 9, 6 соответственно, т.е. A[0] = 4, A[1] = 7 и т.д.

Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на пяти языках программирования).

 

БейсикPython

 c = 0

 FOR i = 1 TO 9

    IF A(i) < A(0) THEN

        c = c + 1

        t = A(i)

        A(i) = A(0)

        A(0) = t

    ENDIF

 NEXT i

 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

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

    если A[i] < A[0] то

        c := c + 1

        t := A[i]

        A[i] := A[0]

        A[0] := t

    все

 кц

Си++

 c = 0;

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

    if (A[i] < A[0])

    {

        c++;

        t = A[i];

        A[i] = A[0];

        A[0] = t;

    }

 

Задание 22 (тема 22, №9371)

Текст задания

Ниже на пяти языках программирования записан алгоритм. Получив на вход число 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;

}

 

Задание Д23 (тема Д23, №9374)

Текст задания

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

 

(¬ (x1y1)) ≡ (x2y2)

(¬ (x2y2)) ≡ (x3y3)

      …

(¬ (x8y8)) ≡ (x9y9)

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

Задание Д24 C1 (тема Д24 C1, №9375)

Текст задания

На обработку поступает положительное целое число, не превышающее 109. Нужно написать программу, которая выводит на экран сумму цифр этого числа, меньших 7. Если в числе нет цифр, меньших 7, требуется на экран вывести 0. Программист написал программу неправильно. Ниже эта программа для Вашего удобства приведена на пяти языках программирования.

 

 

БейсикPython

DIM N, DIGIT, SUM AS LONG

INPUT N

SUM = 0

WHILE N > 0

    DIGIT = N MOD 10

    IF DIGIT < 7 THEN

        SUM = SUM + 1

    END IF

    N = N \ 10

WEND

PRINT DIGIT

N = int(input())

sum = 0

while N > 0:

    digit = N % 10

    if digit < 7:

        sum = sum + 1

    N = N // 10

print(digit)

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

var N, digit, sum: longint;

begin

    readln(N);

    sum := 0;

    while N > 0 do

    begin

        digit := N mod 10;

        if digit < 7 then

            sum := sum + 1;

        N := N div 10;

    end;

    writeln(digit)

end.

алг

нач

    цел N, digit, sum

    ввод N

    sum := 0

    нц пока N > 0

        digit := mod(N,10)

        если digit < 7 то

            sum := sum + 1

        все

        N := div(N,10)

    кц

    вывод digit

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int N, digit, sum;

    cin >> N;

    sum = 0;

    while (N > 0)

    {

        digit = N % 10;

        if (digit < 7)

            sum = sum + 1;

        N = N / 10;

    }

    cout << digit<< endl;

    return 0;

}

 

 

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

1. Напишите, что выведет эта программа при вводе числа 456.

2. Приведите пример такого трёхзначного числа, при вводе которого программа выдаёт верный ответ.

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

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

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

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

Задание Д25 C2 (тема Д25 C2, №9376)

Текст задания

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, в которых хотя бы одно число делится на 3. В данной задаче под парой подразумевается два подряд идущих элемента массива. Например, для массива из пяти элементов: 6; 2; 9; –3; 6 – ответ: 4.

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

 

 

БейсикPython

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

       J AS INTEGER,

       K AS INTEGER

 

FOR I = 1 TO N

INPUT A(I)

NEXT I

...

END

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

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

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

a = []

n = 20

for i in range(0, n):

    a.append(int(input()))

...

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

const

    N = 20;

var

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

    i, j, k: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 20

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

    цел i, j, k

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

        ввод a[i]

    кц

    ...

кон

Си++Естественный язык

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, k;

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

        cin >> a[i];

    ...

    return 0;

}

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.

 

 

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

Задание Д26 C3 (тема Д26 C3, №9377)

Текст задания

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

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

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит, описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. Например, при начальных позициях (6, 34), (7, 33), (9, 32) выигрышная стратегия есть у Пети. Чтобы выиграть, ему достаточно удвоить количество камней во второй куче.

Задание 1. Для каждой из начальных позиций (6, 33), (8, 32) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 2. Для каждой из начальных позиций (6, 32), (7, 32), (8, 31) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.

Задание 3. Для начальной позиции (7, 31) укажите, кто из игроков имеет выигрышную стратегию. Опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии. Постройте дерево всех партий, возможных при указанной Вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.

Задание Д27 C4 (тема Д27 C4, №9378)

Текст задания

В физической лаборатории проводится долговременный эксперимент по изучению гравитационного поля Земли. По каналу связи каждую минуту в лабораторию передаётся положительное целое число – текущее показание прибора «Сигма 2015». Количество передаваемых чисел в серии известно и не превышает 10 000. Все числа не превышают 1000. Временем, в течение которого происходит передача, можно пренебречь.

Необходимо вычислить «бета-значение» серии показаний прибора – минимальное чётное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Если получить такое произведение не удаётся, ответ считается равным –1.

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

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

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

Максимальная оценка за выполнение задания А – 2 балла.

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

Программа считается эффективной по времени, если время работы

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

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

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

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

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

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

Входные данные представлены следующим образом. В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N > 6. В каждой из следующих N строк задаётся одно положительное целое число – очередное показание прибора.

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

11

12

45

5

3

17

23

21

20

19

18

17

Программа должна вывести одно число – описанное в условии произведение либо –1, если получить такое произведение не удаётся.

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

54