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


Вариант № 5445858

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


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


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

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


Ответ:

2
Задание 2 № 11103

Логическая функция F задаётся выражением

 

(x ∧ y ∧¬z) ∨ (x ∧ y ∧ z) ∨ (x ∧¬y ∧¬z).

 

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

 

Перем. 1Перем. 2Перем. 3Функция
?????????F
0101
1101
1111

 

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

 

Пример. Если бы функция была задана выражением ¬x ∨ y, зависящим от двух переменных: x и y, и был приведён фрагмент её таблицы истинности, содержащий все наборы аргументов, при которых функция F истинна.

 

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

 

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


Ответ:

3
Задание 3 № 14689

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

 

 

П1П2П3П4П5П6П7
П1374
П2152
П336
П46812
П571589
П649
П7212

 

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

ВНИ­МА­НИЕ. Длины от­рез­ков на схеме не от­ра­жа­ют длины дорог.


Ответ:

4
Задание 4 № 1407

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

 

 Школьник  Язык 
 Цветкова И. Е.  английский 
 Шемроков Е. Е.  английский 
 Солнухов А. П.  английский 
 Колосков В. Р.  немецкий 
 Почкин Н. Р.  английский 
 Песков П. В.  английский 
 Цветкова И. Э.  немецкий 
 Шемроков Е. Е.  немецкий 
 Цветкова И. Э.  французский 

 Школьник  Секция  Руководитель 
 Цветкова И. Э.  плавание  Вводов А. М. 
 Шемроков Е. Е.  теннис   Алатова А. А. 
 Солнухов А. П.  авиамодельная  Серов П. Д. 
 Колосков В. Р.  теннис  Оган Ю. Ю. 
 Почкин П. Р.  юный техник  Теков А. Е. 
 Песков П. В.  авиамодельная  Серов П. Д. 
 Почкин Н. Р.  теннис  Апатова А. А. 
 Почкин Н. Р.  плавание  Вводов А. М. 
 Цветкова И. Э.  теннис  Оган Ю. Ю. 

 

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


Ответ:

5
Задание 5 № 16434

По ка­на­лу связи пе­ре­да­ют­ся со­об­ще­ния, со­дер­жа­щие толь­ко семь букв: А, Б, Г, И, Н, Р, Т. Для пе­ре­да­чи ис­поль­зу­ет­ся дво­ич­ный код, удо­вле­тво­ря­ю­щий усло­вию Фано. Ко­до­вые слова для не­ко­то­рых букв из­вест­ны: Г — 110, И — 01, Т — 10. Какое наи­мень­шее ко­ли­че­ство дво­ич­ных зна­ков по­тре­бу­ет­ся для ко­ди­ро­ва­ния слова БА­РА­БАН?

 

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


Ответ:

6
Задание 6 № 16435

Автомат обрабатывает натуральное число N > 1 по следующему алгоритму.

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

2. Последняя цифра двоичной записи удаляется.

3. Если исходное число N было нечётным, в конец записи (справа) дописываются цифры 10, если четным — 01.

4. Результат переводится в десятичную систему и выводится на экран.

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

1. Двоичная запись числа N: 1101.

2. Удаляется последняя цифра, новая запись: 110.

3. Исходное число нечётно, дописываются цифры 10, новая запись: 11010.

4. На экран выводится число 26.

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


Ответ:

7
Задание 7 № 9757

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

 

ABCDE
1404400707
2303300606
3202200= $B2 + B$25
410110040

 

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


Ответ:

8
Задание 8 № 7984

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

 

Бей­сикPython

DIM N, S AS INTEGER

 N = 1

 S = 0

 WHILE N <= 300

    S = S + 30

    N = N * 3

 WEND

 PRINT S

n = 1

s = 0

while n <= 300:

    s = s + 30

    n = n * 3

print(s)

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

var n, s: integer;

begin

    n := 1;

    s := 0;

    while n <= 300 do

    begin

        s := s + 30;

        n := n * 3

    end;

    write(s)

end.

алг

нач

    цел n, s

    n := 1

    s := 0

    нц пока n <= 300

        s := s + 30

        n := n * 3

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 1;

    s = 0;

    while (n <= 300)

{

    s = s + 30;

    n = n * 3;

}

    cout « s « endl;

return 0;

}

 


Ответ:

9
Задание 9 № 9301

Производилась двухканальная (стерео) звукозапись с частотой дискретизации 64 кГц и 16-битным разрешением. В результате был получен файл размером 60 Мбайт, сжатие данных не производилось. Определите приблизительно, сколько времени (в минутах) проводилась запись?

В качестве ответа укажите ближайшее к времени записи целое число.


Ответ:

10
Задание 10 № 7986

Сколько слов длины 5, начинающихся с согласной буквы и заканчивающихся гласной буквой, можно составить из букв З, И, М, А? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.


Ответ:

11
Задание 11 № 13460

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

 

БейсикPython

 FUNCTION F(n)

  IF n > 2 THEN

    F = F(n - 1) +G(n - 2)

  ELSE

     F = 2

  END IF

 END FUNCTION

 

 FUNCTION G(n)

  IF n > 2 THEN

    G = G(n - 1) +F(n - 2)

  ELSE

     G = 2

  END IF

 END FUNCTION

def F(n):

    if n > 2:

      return F(n-1) + G(n-2)

    else: return 2

def G(n):

    if n > 2:

      return G(n-1) + F(n-2)

    else: return 2

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

function F(n : integer): integer;

 begin

  if n > 2 then

   F := F(n - 1) + G(n - 2)

  else

   F := 2;

 end;

function G(n : integer): integer;

 begin

  if n > 2 then

   G := G(n - 1) + F(n - 2)

  else

   G := 2;

 end;

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

 нач

  если n > 2

  то

    знач:= F(n-1) + G(n-2)

  иначе

    знач:=2

  все

 кон

алг цел G(цел n)

 нач

  если n > 2

  то

    знач:= G(n-1) + F(n-2)

  иначе

    знач:=2

  все

 кон

Си

int F(int n) {

    if (n > 2)

     return F(n-1) + G(n-2);

    else

     return 2;

}

int G(int n) {

    if (n > 2)

     return G(n-1) + F(n-2);

    else

     return 2;

}

 

 

Чему будет равно значение, вычисленное при выполнении вызова G(6)?


Ответ:

12
Задание 12 № 7988

В тер­ми­но­ло­гии сетей TCP/IP маска сети — это дво­ич­ное число, мень­шее 232; в маске сна­ча­ла (в стар­ших раз­ря­дах) стоят еди­ни­цы, а затем с не­ко­то­ро­го места нули. Маска опре­де­ля­ет, какая часть IP-ад­ре­са узла сети от­но­сит­ся к ад­ре­су сети, а какая — к ад­ре­су са­мо­го узла в этой сети. Обыч­но маска за­пи­сы­ва­ет­ся по тем же пра­ви­лам, что и IP-адрес — в виде четырёх байт, причём каж­дый байт за­пи­сы­ва­ет­ся в виде де­ся­тич­но­го числа. Адрес сети по­лу­ча­ет­ся в ре­зуль­та­те при­ме­не­ния по­раз­ряд­ной конъ­юнк­ции к за­дан­но­му IP-ад­ре­су узла и маске. На­при­мер, если IP-адрес узла равен 231.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 231.32. 240.0.

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


Ответ:

13
Задание 13 № 217

В скачках участвуют 20 лошадей. Специальное устройство регистрирует прохождение каждой лошадью финиша, записывая ее номер с использованием минимально возможного количества бит, одинакового для каждой лошади. Каков информационный объем сообщения, записанного устройством, если до финиша добрались только 15 из 20 участвовавших в скачках лошадей? (Ответ дайте в битах.)


Ответ:

14
Задание 14 № 1816

Исполнитель КОРАБЛИК «живет» в ограниченном прямоугольном водоеме-лабиринте, разделенном на клетки и изображенном на рисунке (вид сверху). Серые клетки — скалистые берега, светлые — свободное пространство, безопасное для передвижения КОРАБЛИКА. По краю водоема-лабиринта также находятся скалы с нанесенными на них номерами и буквами для удобства идентификации клеток.

 

 

Система команд исполнителя КОРАБЛИК:

вверх вниз влево вправо

При выполнении любой из этих команд КОРАБЛИК перемещается на одну клетку соответственно (по отношению к наблюдателю): вверх ↑, вниз ↓, влево ←, вправо →. Четыре команды проверяют истинность условия отсутствия стены у каждой стороны той клетки, где находится КОРАБЛИК (также по отношению к наблюдателю):

сверху
свободно
снизу
свободно
слева
свободно
справа
свободно

Цикл

ПОКА < условие > команда

выполняется, пока условие истинно, иначе происходит переход на следующую строку.

При попытке передвижения на любую серую клетку КОРАБЛИК разбивается о скалы.

Сколько клеток приведенного лабиринта соответствуют требованию, что, стартовав в ней и выполнив предложенную. ниже программу, КОРАБЛИК не разобьется?

 

НАЧАЛО

ПОКА <слева свободно> влево

ПОКА <справа свободно> вправо

вверх

вправо

КОНЕЦ


Ответ:

15
Задание 15 № 3294

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

 


Ответ:

16
Задание 16 № 5214

Запись числа 6910 в системе счисления с основанием N оканчивается на 1 и содержит 4 цифры. Чему равно основание этой системы счисления N?


Ответ:

17
Задание 17 № 13744

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

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

 

ЗапросНайдено страниц
(в сотнях тысяч)
Бабочка22
Гусеница40
Трактор24
Трактор | Бабочка | Гусеница66
Трактор & Гусеница12
Трактор & Бабочка0

 

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

 

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


Ответ:

18
Задание 18 № 13494

Обозначим через m&n поразрядную конъюнкцию неотрицательных целых чисел m и n.

Например, 14&5 = 11102&01012 = 01002 = 4.

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

 

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

 

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


Ответ:

19
Задание 19 № 13468

В программе используется фрагмент одномерного целочисленного массив A с индексами от 1 до 10. Значения элементов равны 3, 14, 15, 92, 6, 2, 7, 18, 28, 17 соответственно, т. е. A[1] = 3, A[2] = 14 и т. д.

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

 

БейсикPython

s = 0

n = 10

FOR i = 3 TO n

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

NEXT i

s = 0

n = 10

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

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

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

s := 0;

n := 10;

for i:=3 to n do begin

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

end;

s := 0

n := 10

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

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

кц

Си++

s = 0;

n = 10;

for (i = 3; i <= n; i++) {

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

}

 


Ответ:

20
Задание 20 № 14781

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

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

 

 

БейсикPython

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

A = −9: B = 9

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+R

 

FUNCTION F(x)

    IF X > 0 THEN

        F = (x−10)*(x−10)+10

    ELSE

        F = (x+9)*(x+9)+11

    END IF

END FUNCTION

def F(x):

    if x > 0:

        return (x−10)*(x−10)+10

    else:

        return (x+9)*(x+9)+11

 

a = −9; b = 9

M = a; R = F(a)

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

    if F(t) < R:

        M = t; R = F(t)

print(M+R)

 

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

var

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

 

function F(x: integer): integer;

begin

    if x > 0

        then F := (x−10)*(x−10)+10

        else F := (x+9)*(x+9)+11;

end;

 

begin

    a := −9; b := 9;

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

end.

 

алг

нач

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

    a := −9; b := 9

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

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

        если F(t) < R

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

        все

    кц

    вывод M + R

кон

 

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

нач

    если x > 0

        то знач := (x−10)*(x−10)+10

        иначе знач := (x+9)*(x+9)+11

    все

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

    if (x > 0) return (x−10)*(x−10)+10;

    else return (x+9)*(x+9)+11;

}

 

int main()

{

    int a, b, t, M, R;

    a = −9; b = 9;

    M = a; R = f(a);

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

        if (f(t) < R) {

            M = t; R = f(t);

        }

    }

    cout << M + R;

    return 0;

}

 


Ответ:

22
Задание 22 № 16397

Исполнитель РазДваТри преобразует число на экране.

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

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

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

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

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

Программа для исполнителя РазДваТри — это последовательность команд.

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

Траектория вычислений — это последовательность результатов выполнения всех команд программы. Например, для программы 312 при исходном числе 6 траектория будет состоять из чисел 9, 10, 20.


Ответ:

23
Задание 23 № 15835

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

 

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

y1y2) ∧ (¬y2y3) ∧ (¬y3y4) ∧ (¬y4y5) = 1

x1y1 = 1

 

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


Ответ:

24
Задание 24 № 9316

Для заданного положительного вещественного числа A необходимо найти максимальное целое число K, при котором выполняется неравенство

(при K = 0 сумма считается равной 0).

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

 

Бейсик Python

DIM A, S AS DOUBLE

DIM K AS INTEGER

INPUT A

K = 0

S = 1

WHILE S < A

    K = K + 1

    S = S + 1.0/K

WEND

PRINT K

END

a = float(input())

k = 0

s = 1

while s < a:

    k = k + 1

    s = s + 1.0/k

print(k)

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

алг

нач

    вещ a, s

    цел k

    ввод a

    k := 0

    s := 1

    нц пока s<a

        k := k + 1

        s := s + 1.0/k

    кц

    вывод k

кон

var a, s: real;

k: integer;

begin

    read(a);

    k := 0;

    s := 1;

    while s<a do begin

        k := k + 1;

        s := s + 1.0/k;

    end;

    write(k);

end.

Си++

#include <iostream>

using namespace std;

int main(){

    double a, s;

    int k;

    cin >> a;

    k = 0;

    s = 1;

    while (s<a) {

        k = k + 1;

        s = s + 1.0/k;

    }

    cout « k « endl;

    return 0;

}

 

 

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

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

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

3. Найдите в программе все ошибки (их может быть одна или несколько).

Для каждой ошибки выпишите строку, в которой она допущена, и приведите эту же строку в исправленном виде.

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


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

25
Задание 25 № 10301

Дан массив, содержащий 2016 неотрицательных целых чисел. Необходимо найти в этом массиве количество таких элементов, которые равны среднему арифметическому двух элементов, расположенных сразу после него. Например, в массиве из 6 элементов, равных соответственно 2, 3, 1, 5, 6, 4, есть три таких элемента, они расположены на первом, втором и четвёртом месте и равны 2, 3 и 5.

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

 

БейсикPython

CONST N=2016

DIM A(N) AS INTEGER

DIM I, K AS INTEGER

FOR I = 1 TO N

  INPUT A(I)

NEXT I

END

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

# вание целочисленной

# переменной k

a = []

N = 2016

for i in range(0, N):

  a.append(int(input()))

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

const

  N=2016;

var

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

  i, k: integer;

begin

  for i:=1 to N do

    readln(a[i]);

  …

end.

алг

нач

  цел N=2016

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

  цел i, k

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

    ввод a[i]

  кц

кон

Си++

#include <iostream>

using namespace std;

#define N 2016

int main(){

  int a[N];

  int i, k;

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

    cin >> a[i];

  …

  return 0;

}

 

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


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

26
Задание 26 № 5069

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в пять раз. Например, имея кучу из 10 камней, за один ход можно получить кучу из 11 или 50 камней. У каждого игрока, чтобы делать ходы, есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится более 200. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 201 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 200.

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

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

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

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

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

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

3. Укажите такое значение S, при котором

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

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

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


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

27
Задание 27 № 5631

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

 

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

 

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

 

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

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

 

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

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

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

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

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

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

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

 

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

6

123.4

0.2

200.2

0.0

6.7

218.0

 

Программа должна вывести в одной строке сначала количество элементов в основном множестве, а затем — его минимальный элемент.

 

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


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