СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Cайты, меню, вход, новости


Вариант № 7084217

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


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


Версия для печати и копирования в MS Word
Времени прошло:0:00:00
Времени осталось:3.9166666666666665:55:00
1
Задание 1 № 405

Вычислите сумму чисел х и у при x = B316, у = 1101102. Результат представьте в десятичной системе счисления.


Ответ:

2
Задание 2 № 15124

Логическая функция F задаётся выражением (xy ) ∨ ((y ∨ z) → x).

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

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

 

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

 

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

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

 

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

 

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


Ответ:

3
Задание 3 № 16879

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

 

П1П2П3П4П5П6П7
П1108
П27612
П374
П467
П5101514
П664615
П7812714

 

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


Ответ:

4
Задание 4 № 1401

Ниже приведены фрагменты таблиц базы данных победителей городских предметных олимпиад:

 

 Школа  Фамилия 
 № 10  Иванов 
 № 10  Петров 
 № 10  Сидоров 
 № 50  Кошкин 
 № 150  Ложкин 
 № 150  Ножкин 
 № 200  Тарелкин 
 № 200  Мискин 
 № 250  Чашкин 
 Фамилия  Предмет  Диплом 
 Иванов  физика  I степени 
 Мискин  математика  III степени 
 Сидоров  физика  II степени 
 Кошкин  история  I степени 
 Ложкин  физика  II степени 
 Ножкин  история  I степени 
 Тарелкин  физика  III степени 
 Петров  история  I степени 
 Мискин  физика  I степени 

 

Сколько дипломов I степени получили ученики 10-й школы?


Ответ:

5
Задание 5 № 15817

По каналу связи передаются сообщения, содержащие только семь букв: А, Б, Г, И, М, Р, Я. Для передачи используется двоичный код, удовлетворяющий условию Фано. Кодовые слова для некоторых букв известны: А — 010, Б — 00, Г — 101. Какое наименьшее количество двоичных знаков потребуется для кодирования слова МАГИЯ?

Примечание. Условие Фано означает, что ни одно кодовое слово не является началом другого кодового слова.


Ответ:

6
Задание 6 № 16809

Автомат обрабатывает натуральное число N (0 ≤ N ≤ 255) по следующему алгоритму:

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

2. Все цифры двоичной записи заменяются на противоположные (0 на 1, 1 на 0).

3. Полученное число переводится в десятичную запись.

4. Из нового числа вычитается исходное, полученная разность выводится на экран.

Пример. Дано число N = 13. Алгоритм работает следующим образом.

1. Восьмибитная двоичная запись числа N: 00001101.

2. Все цифры заменяются на противоположные, новая запись 11110010.

3. Десятичное значение полученного числа 242.

4. На экран выводится число 242 − 13 = 229.

 

Какое число нужно ввести в автомат, чтобы в результате получилось 133?


Ответ:

7
Задание 7 № 9299

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

куда производилось копирование, стало равным 42. В какую ячейку была скопирована формула? В ответе укажите только одно число – номер строки, в которой расположена ячейка.

 

 

 

ABCDE
1= D$1 + $D1220100
2= D$2 + $D25240200
3= D$3 + $D315260300
4= D$4 + $D425280400

 

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


Ответ:

8
Задание 8 № 14694

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

 

БейсикPython

DIM S, N AS INTEGER

S = 22

N = 0

WHILE S < S*S

    S = S - 1

    N = N + 3

WEND

PRINT N

s = 22

n = 0

while s < s*s:

    s = s - 1

    n = n + 3

print(n)

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

var s, n: integer;

begin

    s := 22;

    n := 0;

    while s < s*s do begin

        s := s - 1;

        n := n + 3

    end;

    writeln(n)

end.

алг

нач

    цел s, n

    n := 0

    s := 22

    нц пока s < s*s

        s := s - 1;

        n := n + 3

    кц

    вывод n

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int s = 22, n = 0;

    while (s < s*s) {

        s = s - 1;

        n = n + 3;

    }

    cout << n << endl;

    return 0;

}

 


Ответ:

9
Задание 9 № 2426

Документ объемом 10 Мбайт можно передать с одного компьютера на другой двумя способами:

 

А) Сжать архиватором, передать архив по каналу связи, распаковать

Б) Передать по каналу связи без использования архиватора.

 

Какой способ быстрее и насколько, если

– средняя скорость передачи данных по каналу связи составляет 218 бит в секунду,

– объем сжатого архиватором документа равен 30% от исходного,

– время, требуемое на сжатие документа – 7 секунд, на распаковку – 1 секунда?

 

В ответе напишите букву А, если способ А быстрее или Б, если быстрее способ Б. Сразу после буквы напишите количество секунд, насколько один способ быстрее другого.

Так, например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23. Слов «секунд», «сек.», «с.» к ответу добавлять не нужно.


Ответ:

10
Задание 10 № 7921

Сколько слов длины 6, начинающихся с согласной буквы, можно составить из букв Г, О, Д? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.


Ответ:

11
Задание 11 № 15796

Ниже на пяти языках программирования записан рекурсивный алгоритм F.

 

 

БейсикPython

SUB F(n)

    IF n > 0 THEN

         F(n − 3)

         PRINT N

         F(n \ 3)

    END IF

END SUB

 

def F(n):

    if n > 0:

        F(n − 3)

        print(n)

        F(n // 3)

 

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

procedure F(n: integer);

begin

    if n > 0 then begin

        F(n − 3);

        write(n);

        F(n div 3);

    end

end;

 

алг F(цел n)

нач

    если n > 0 то

        F(n − 3)

        вывод n

        F(div(n,3))

    все

кон

 

С++

void F (int n)

{

     if (n > 0) {

        F (n − 3);

        std::cout << n;

        F (n / 3);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(9). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.


Ответ:

12
Задание 12 № 2228

Петя записал IP-адрес школьного сервера на листке бумаги и положил его в карман куртки. Петина мама случайно постирала куртку вместе с запиской. После стирки Петя обнаружил в кармане четыре обрывка с фрагментами IP-адреса. Эти фрагменты обозначены буквами А, Б, В и Г. Восстановите IP-адрес. В ответе укажите последовательность букв, обозначающих фрагменты, в порядке, соответствующем IP-адресу.

 


Ответ:

13
Задание 13 № 5302

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


Ответ:

14
Задание 14 № 15109

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

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

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

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

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

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

 

Цикл

ПОКА условие

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

КОНЕЦ ПОКА

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

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

ЕСЛИ условие

    ТО команда1

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

КОНЕЦ ЕСЛИ

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

 

Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 77 единиц?

 

НАЧАЛО

    ПОКА нашлось (11)

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

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

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

        КОНЕЦ ЕСЛИ

    КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Задание 15 № 15800

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

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

 


Ответ:

16
Задание 16 № 2319

Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 31 оканчивается на 4.


Ответ:

17
Задание 17 № 9309

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

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

 

 

 

ЗапросНайдено страниц (в тысячах)
Англия & (Уэльс & Шотландия | Ирландия)450
Англия & Уэльс & Шотландия213
Англия & Уэльс & Шотландия & Ирландия87

 

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

Англия & Ирландия?

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


Ответ:

18
Задание 18 № 16393

Для какого наименьшего целого неотрицательного числа A выражение

 

(2x + 3y > 30) ∨ (x + yA)

 

тождественно истинно при любых целых неотрицательных x и y?


Ответ:

19
Задание 19 № 8107

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

 

БейсикPython

s = 0

FOR j = 0 TO 8

    IF A(j) > A(j+1) THEN

        s = s + 1

        t = A(j)

        A(j) = A(j+1)

        A(j+1) = t

    ENDIF

NEXT j

s = 0

for j in range(9):

    if A[j] > A[j+1]:

        s = s + 1

        t = A[j]

        A[j] = A[j+1]

        A[j+1] = t

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

s := 0;

for j := 0 to 8 do

    if A[j] > A[j+1] then

    begin

        s := s + 1;

        t := A[j];

        A[j] := A[j+1];

        A[j+1] := t;

    end;

s := 0

нц для j от 0 до 8

    если A[j] > A[j+1] то

        s := s + 1

        t := A[j]

        A[j] := A[j+1]

        A[j+1] := t

    все

кц

Си++

s = 0;

for (j = 0; j < 9; j++) {

    if (A[j] > A[j+1])

    {

        s++;

        t = A[j];

        A[j] = A[j+1];

        A[j+1] = t;

    }

}

 


Ответ:

20
Задание 20 № 15860

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

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

    M = M + 1

    IF X MOD 2 <> 0 THEN

        L = L + X MOD 8

    ENDIF

    X = X \ 8

WEND

PRINT L

PRINT M

x = int(input())

L = 0

M = 0

while x > 0 :

    M = M+1

     if (x % 2) != 0:

         L = L + x % 8

     x = x // 8

print(L)

print(M)

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

var x, L, M: integer;

begin

    readln(x);

    L:=0; M:=0;

    while x > 0 do begin

        M:=M + 1;

        if (x mod 2) <> 0 then

            L:= L + x mod 8;

        x:= x div 8;

    end;

    writeln(L); write(M);

end.

алг

нач

     цел x, L, M

     ввод x

     L := 0

     M := 0

    нц пока x > 0

        M := M + 1

         если mod(x,2) <> 0

            то

             L:= L + mod (x,8);

        x := div(x,8)

        все

     кц

     вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

 

int main(void) {

    int L, M, x;

    cin >> x;

     L = 0; M = 0;

    while (x > 0) {

         M = M + 1;

        if (x % 2 != 0) {

             L = L + x % 8;

        }

        x = x / 8;

    }

     cout << L << “ “ << M;

}

 


Ответ:

21
Задание 21 № 5754

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

 

 

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

DIM А, В, Т, М, R AS INTEGER

А = -13: В = 13 М = A: R=F(А)

FOR Т = А ТО В

    IF F(Т) < R THEN

        М = Т

        R = F (Т)

    END IF

NEXT Т

PRINT M+18

FUNCTION F(x)

    F = (x*x-4)*(x*x-4)+11

END FUNCTION

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

    Function F(x:integer):integer;

        begin

            F := (x*x-4)*(x*x-4)+11 end;

begin

    a := -13;

    b := 13;

    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+18)

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return (x*x-4)*(x*x-4) +11;

}

int main() {

    int a, b, t, M, R;

    a = -13;

    b = 13;

    M = a;

    R = F (a);

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

         if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout << M+18 << endl;

}

алг

нач

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

а := -13;

b := 13

М := a;

R := F(а)

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

если F(t) < R

то М := t;

R := F(t)

все

кц

вывод М+18

кон

алг

цел F(цел х)

нач

знач := (х*х-4)* (х*х-4)+11

кон

Python

def f(x):

    return (x*x-4)*(x*x-4)+11

a = -13

b = 13

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(M+18)

 


Ответ:

22
Задание 22 № 11358

Исполнитель А16 преобразует число, записанное на экране.

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

1. Прибавить 1

2. Прибавить 2

3. Умножить на 2

Первая из них увеличивает число на экране на 1, вторая увеличивает его на 2, третья умножает его на 2.

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

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 16, 18.


Ответ:

23
Задание 23 № 2206

Составьте таблицу истинности для логической функции

 

X = (А ↔ B) ∨ ¬(A → (B ∨ C))

 

в которой столбец значений аргумента А представляет собой двоичную запись числа 27, столбец значений аргумента В — числа 77, столбец значений аргумента С — числа 120. Число в столбце записывается сверху вниз от старшего разряда к младшему(включая нулевой набор). Переведите полученную двоичную запись значений функции X в десятичную систему счисления.


Ответ:

24
Задание 24 № 15864

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

 

БейсикPython

CONST n = 4

count = 0

maximum = 1000

FOR I = 1 TO n

    INPUT x

    IF X MOD 4 = 0 THEN

        count = count + 1

        IF x < maximum THEN

            maximum = x

        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 % 4 == 0:

        count += 1

        if x < maximum:

            maximum = x

if count > 0:

    print(count)

    print(maximum)

else:

    print("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 4 = 0 then begin

            count := count + 1;

             if x < maximum then

                 maximum := x;

            end;

         end;

     if count > 0 then begin

        writeln(count);

        writeln(maximum);

    end

    else

        writeln('NO');

end.

алг

нач

    цел n = 4

    цел i, x

    цел maximum, count

    count := 0

    maximum := 1000

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

        ввод x

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

            count := count + 1

            если x < maximum то

                maximum := x

            все

        все

    кц

    если count > 0 то

        вывод count, нс

        вывод maximum

    иначе

        вывод "NO"

    все

кон

Си++

#include <iostream>

using namespace std;

 

int main(){

    const int n = 4;

    int x, maximum, count;

    count = 0;

    maximum = 1000;

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

        cin >> x;

        if ( x % 4 == 0 ) {

            count++;

            if ( x < maximum )

                maximum = x;

        }

    }

    if ( count > 0 ) {

        cout << count << endl;

        cout << maximum;

    }

    else

        cout << "NO";

    return 0;

}

 

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

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

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

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

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

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

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

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

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

Примечание. 0 делится на любое натуральное число.


Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

25
Задание 25 № 13609

Дан массив, содержащий 2017 положительных целых чисел, не превышающих 10000. Необходимо найти и вывести количество таких элементов этого массива, шестнадцатеричная запись которых содержит ровно два знака, причём последний из них – буква от A до F. Например, для массива из 4 элементов, содержащего числа 42, 255, 162, 266, ответ будет равен 2: в шестнадцатеричной системе эти числа записываются как 2A, FF, A2, 10A; первые два – подходят, в третьем – последняя цифра не записывается буквой, в четвертом – больше двух знаков. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из описанных.

 

 

БейсикPython

CONST N=2017

DIM A(N) AS INTEGER

DIM I, M, K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

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

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

# переменных m, k

a = []

N = 2017

for i in range(0, N):

    a.append(int(input()))

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

const

    N=2017;

var

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

    i, m, k: integer;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=2017

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

    цел i, m, k

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

        ввод a[i]

    кц

    …

кон

Си++

#include <iostream>

using namespace std;

#define N 2017

int main(){

    int a[N];

    int i, m, k;

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

        cin >> a[i];

    …

    return 0;

}

 

 

 

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


Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

26
Задание 26 № 14712

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

 

увеличить количество камней в куче в два раза или увеличить количество камней в куче в три раза.

 

Например, имея кучу из 10 камней, за один ход можно получить кучу из 20 или 30 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

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

В начальный момент в куче было S камней, 1 ≤ S ≤ 61.

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

Выполните следующие задания.

Задание 1. Назовите все значения S, при которых Петя может выиграть первым ходом, причём у Пети есть ровно один выигрывающий ход.

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

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


Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.

27
Задание 27 № 5375

На ускорителе для большого числа частиц производятся замеры скорости каждой из них. Скорость частицы — это целое число (положительное, отрицательное или 0). Частиц, скорость которых измерена, может быть очень много, но не может быть меньше трёх. Скорости всех частиц различны. При обработке результатов в каждой серии эксперимента отбирается основное множество скоростей. Это такое непустое множество скоростей частиц (в него могут войти как скорость одной частицы, так и скорости всех частиц серии), для которого произведение скоростей является максимальным среди всех возможных множеств. При нахождении произведения знак числа учитывается. Если есть несколько таких множеств, то основным считается то, которое содержит наибольшее количество элементов.

 

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

 

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

 

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

Задание Б является усложнённым вариантом задания А, оно содержит дополнительные требования к программе.

 

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

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

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

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

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

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

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

 

 

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

 

5

 

123

2

 

-1000

 

0

 

10

 

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

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

 

1 2 5


Решения заданий с развернутым ответом не проверяются автоматически.
На следующей странице вам будет предложено проверить их самостоятельно.
Времени прошло:0:00:00
Времени осталось:3.9166666666666665:55:00
Завершить тестирование, свериться с ответами, увидеть решения.