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


Вариант № 5288950

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


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


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

Даны числа: 1, 3, 11 и 33. Ука­жи­те среди них число, дво­ич­ная за­пись ко­то­ро­го со­дер­жит ровно 3 еди­ни­цы.


Ответ:

2
Задание 2 № 13729

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

 

Перем. 1Перем. 2Перем. 3Перем. 4Функция
????????????F
10000
11000
11100

 

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

 

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

 

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

 

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


Ответ:

3
Задание 3 № 7662

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

 

ABCDEF
A24816
B23
C43
D83353
E55
F1635

 

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


Ответ:

4
Задание 4 № 15972

Ниже представлены два фрагмента таблиц из базы данных о жителях микрорайона. Каждая строка таблицы 2 содержит информацию о ребёнке и об одном из его родителей. Информация представлена значением поля ID в соответствующей строке таблицы 1. Определите на основании приведённых данных, сколько жителей родились в том же городе, что и их внук или внучка. При вычислении ответа учитывайте только информацию из приведённых фрагментов таблиц.

 

Таблица 1
IDФамилия И.О.ПолМесто рождения
64Келдыш С.М. МЛипецк
66Келдыш О.Н. ЖБрянск
67Келдыш М.И. МЛипецк
68Келдыш Н.С. ЖЛипецк
69Дейнеко Н.А.ЖБрянск
70Сиротенко В.Н.МТула
72Сиротенко Д.В.МТула
75Сиротенко Н.П,МТамбов
77Мелконян А.А.МТамбов
81Мелконян И.Н.ЖТамбов
82Лурье А.В.ЖТула
86Хитрово Н.И.МБрянск
88Хитрово Т.Н.ЖТула
89Гурвич З.И.ЖТула

Таблица 2
ID РодителяID Ребенка
6664
6764
8666
8169
7570
8970
7072
8872
8177
7581
8981
7082
8882
8688


Ответ:

5
Задание 5 № 1102

Для кодирования букв Д, X, Р, О, В решили использовать двоичное представление чисел 0, 1, 2, 3 и 4 соответственно (с сохранением одного незначащего нуля в случае одноразрядного представления). Закодируйте последовательность букв ХОРОВОД таким способом и результат запишите восьмеричным кодом.


Ответ:

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 № 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 № 3249

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

 

 

БейсикPython

DIM N, S AS INTEGER

N = 4

S = 0

WHILE N <= 8

    S = S + N

    N = N + 1

WEND

PRINT S

n = 4

s = 0

while n <= 8:

    s += n

    n += 1

print(s)

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

var n, s: integer;

begin

    n := 4;

    s := 0;

    while n <= 8 do

    begin

        s := s + n;

        n := n + 1;

    end;

    writeln(s);

end.

алг

нач

    цел n, s

    n := 4

    s := 0

    нц пока n <= 8

        s := s + n

        n := n + 1

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int n, s;

    n = 4, s = 0;

    while (n <= 8) {

        s = s + n;

        n = n + 1;

    }

    cout << s << endl;

    return 0;

}

 


Ответ:

9
Задание 9 № 9795

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


Ответ:

10
Задание 10 № 16385

Михаил составляет 5-буквенные коды. В кодах разрешается использовать только буквы А, Б, В, Г, Д, при этом код не может начинаться с гласной и не может содержать двух одинаковых букв подряд. Сколько различных кодов может составить Михаил?


Ответ:

11
Задание 11 № 15106

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

 

 

БейсикPython

SUB F(n)

    IF n > 0 THEN

         F(n - 3)

         F(n \ 3)

         PRINT N

    END IF

END SUB

 

def F(n):

    if n > 0:

        F(n - 3)

        F(n // 3)

        print(n)

 

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

procedure F(n: integer);

begin

    if n > 0 then begin

        F(n – 3);

        F(n div 3);

        write(n)

    end

end;

 

алг F(цел n)

нач

    если n > 0 то

        F(n – 3)

        F(div(n,3))

        вывод n

    все

кон

 

С++

void F (int n)

{

     if (n > 0) {

        F (n - 3);

        F (n / 3);

        std::cout << n;

    }

}

 

 

 

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


Ответ:

12
Задание 12 № 2203

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

 


Ответ:

13
Задание 13 № 1910

Индивидуальные номера страховых медицинских свидетельств жителей в некоторой стране содержат только цифры 1, 3, 5, 7 и содержат одинаковое количество цифр, а именно 3 цифры. Известно, что медицинскую страховку имеют абсолютно все жители и номера всех свидетельств различны. Каково максимально возможное количество жителей в стране?


Ответ:

14
Задание 14 № 7786

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

Цикл

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

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

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

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

 

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

 

НАЧАЛО

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

ПОВТОРИ n РАЗ

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

сместиться на (15, −9)

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

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

КОНЕЦ

 

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


Ответ:

15
Задание 15 № 3288

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

 


Ответ:

16
Задание 16 № 7673

Решите уравнение: 121x + 110 = 1017

Ответ запишите в троичной системе (основание системы счисления в ответе писать не нужно).


Ответ:

17
Задание 17 № 4954

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

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

 

ЗапросНайдено страниц
(в тысячах)
Пекин & (Москва | Токио)338
Пекин & Москва204
Пекин & Москва & Токио50

 

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

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


Ответ:

18
Задание 18 № 15803

На числовой прямой задан отрезок A. Известно, что формула

 

((xA) → (x2 ≤ 100)) ∧ ((x2 ≤ 64) → (xA))

 

тождественно истинна при любом вещественном x. Какую наибольшую длину может иметь отрезок A?


Ответ:

19
Задание 19 № 7764

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

 

Бей­сикPython

c = 0

FOR i = 1 TO 9

    IF A(i - 1) >= A(i) THEN

        t = A(i)

        A(i) = A(i - 1)

        A(i - 1) = t

    ELSE

        c = c + 1

    ENDIF

NEXT i

c = 0

for i in range(1, 10):

    if A[i - 1] >= A[i]:

        t = A[i]

        A[i] = A[i - 1]

        A[i - 1] = t

    else:

        c = c + 1

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

c := 0;

for i := 1 to 9 do

    if A[i - 1] >= A[i] then

        begin

            t := A[i];

            A[i] := A[i - 1];

            A[i - 1] := t

        end

    else

        c := c + 1;

c := 0

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

если A[i - 1] >= A[i] то

    t := A[i]

    A[i] := A[i - 1]

    A[i - 1] := t

иначе

    c := c + 1

все

кц

Си++

c = 0;

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

    if (A[i-1] >= A[i])

    {

        t = A[i];

        A[i] = A[i - 1];

        A[i - 1] = t;

    }

    else

        c++;

 


Ответ:

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 № 13578

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

 

Бей­сикPython

DIM I AS LONG

I = 1

WHILE F(I) < G(I)

  I = I * 2

WEND

PRINT I

 

FUNCTION F(N)

  F = N * N * N

END FUNCTION

 

FUNCTION G(N)

  G = 500*N*N + 3

END FUNCTION

def f(n):

    return n*n*n

 

def g(n):

    return 500*n*n +3

i = 1

while f(i) < g(i):

    i*=2

print (i)

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

var

  i : longint;

 

function f(n: longint): longint;

begin

  f := n * n * n;

end;

 

function g(n: longint): longint;

begin

  g := 500*n * n + 3;

end;

 

begin

  i := 1;

  while f(i) < g(i) do

    i := i*2;

  writeln(i)

end.

алг

нач

  цел i

  i := 1

  нц пока f(i) < g(i)

    i := i * 2

  кц

  вывод i

кон

 

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

нач

  знач := n * n * n

кон

 

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

нач

  знач :=500*n * n + 3

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

  return n * n * n;

}

 

long g(long n) {

  return 500*n * n + 3;

}

 

int main()

{

  long i;

  i = 1;

  while (f(i) < g(i))

    i = i*2;

  cout << i << endl;

  return 0;

}

 


Ответ:

22
Задание 22 № 15638

Исполнитель Калькулятор преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:

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

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

Программа для исполнителя Калькулятор – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 21, при этом траектория вычислений содержит число 10 и не содержит число 17?


Ответ:

23
Задание 23 № 11359

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

 

(x1 → (x2y1)) ∧ (y1y2) = 1

(x2 → (x3y2)) ∧ (y2y3) = 1

...

(x5 → (x6y5)) ∧ (y5y6) = 1

x6y6 = 1

 

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


Ответ:

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 № 7936

Дан мас­сив, со­дер­жа­щий не­от­ри­ца­тель­ные целые числа. Не­об­хо­ди­мо вы­ве­сти:

- мак­си­маль­ный чётный эле­мент, если ко­ли­че­ство чётных эле­мен­тов не мень­ше, чем нечётных;

- мак­си­маль­ный нечётный эле­мент, если ко­ли­че­ство нечётных эле­мен­тов боль­ше, чем чётных.

На­при­мер, для мас­си­ва из шести эле­мен­тов, рав­ных со­от­вет­ствен­но 4, 6, 12, 17, 3, 8, от­ве­том будет 12 — наи­боль­шее чётное число, по­сколь­ку чётных чисел в этом мас­си­ве боль­ше.

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

 

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

CONST N=2000

DIM A(N) AS INTEGER

DIM I, J, K, M AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

END

const

N=2000;

var

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

i, j, k, m: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

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

#include <iostream>

using namespace std;

#define N 2000

int main(){

int a[N];

int i, j, k, m;

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

 

cin >> a[i];

return 0;

}

алг

нач

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

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

цел i, j, k, m

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

ввод a[i]

кц

кон

Python

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

// це­ло­чис­лен­ные пе­ре­мен­ные j, k, m

a = []

n = 2000 // ме­нять зна­че­ние n нель­зя

for i in range(0, n):

    a.append(int(input()))

 

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


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

26
Задание 26 № 4878

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


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

27
Задание 27 № 5291

По ка­на­лу связи пе­ре­даётся по­сле­до­ва­тель­ность по­ло­жи­тель­ных целых чисел Х1, Х2, ... все числа не пре­вы­ша­ют 1000, их ко­ли­че­ство за­ра­нее не­из­вест­но. Каж­дое число пе­ре­даётся в виде от­дель­ной тек­сто­вой стро­ки, со­дер­жа­щей де­ся­тич­ную за­пись числа. При­зна­ком конца пе­ре­да­ва­е­мой по­сле­до­ва­тель­но­сти яв­ля­ет­ся число 0.

 

Уча­сток по­сле­до­ва­тель­но­сти от эле­мен­та ХT до эле­мен­та XT+N на­зы­ва­ет­ся подъёмом, если на этом участ­ке каж­дое сле­ду­ю­щее число боль­ше или равно преды­ду­ще­му, при­чем уча­сток нель­зя рас­ши­рить, т.е.

1) Т = 1 или ХT-1 > ХT

2) XT+N — по­след­ний эле­мент по­сле­до­ва­тель­но­сти или XT+N > XT+N+1. Вы­со­той подъёма на­зы­ва­ет­ся раз­ность XT+N − ХT. Подъём счи­та­ет­ся зна­чи­тель­ным, если вы­со­та подъёма боль­ше ве­ли­чи­ны ми­ни­маль­но­го эле­мен­та этого подъ­ема.

 

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

 

Про­грам­ма долж­на вы­ве­сти ре­зуль­та­ты в сле­ду­ю­щей форме:

 

По­лу­че­но чисел: ...

Най­де­но зна­чи­тель­ных подъ­емов: ...

 

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

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

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

 

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

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

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

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

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

 

Перед тек­стом про­грам­мы крат­ко опи­ши­те ал­го­ритм ре­ше­ния за­да­чи.

 

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

 

144

17

21

27

3

7

9

11

25

0

 

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

По­лу­че­но чисел: 9

Най­де­но зна­чи­тель­ных подъ­емов: 1


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