Вариант № 3800416

Демонстрационная версия ЕГЭ—2019 по информатике.

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


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



Версия для печати и копирования в MS Word
1
Тип Д1 № 16028
i

Вы­чис­ли­те зна­че­ние вы­ра­же­ния 9E16 − 9416.

В от­ве­те за­пи­ши­те вы­чис­лен­ное зна­че­ние в де­ся­тич­ной си­сте­ме счис­ле­ния.


Ответ:

2
Тип 2 № 16029
i

Ло­ги­че­ская функ­ция F задаётся вы­ра­же­ни­ем (¬x ∧ ¬y) ∨ (yz) ∨ ¬w.

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

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

 

Перем. 1Перем. 2Перем. 3Перем. 4Функ­ция
????????????F
0010
010
0110

 

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

 

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

 

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

 

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


Ответ:

3
Тип 1 № 16030
i

На ри­сун­ке слева изоб­ра­же­на схема дорог Н-⁠ского рай­о­на, в таб­ли­це звёздоч­кой обо­зна­че­но на­ли­чие до­ро­ги из од­но­го населённого пунк­та в дру­гой. От­сут­ствие звёздоч­ки озна­ча­ет, что такой до­ро­ги нет.

 

1234567
1**
2***
3***
4**
5***
6***
7**

 

Каж­до­му населённому пунк­ту на схеме со­от­вет­ству­ет его номер в таб­ли­це, но не­из­вест­но, какой имен­но номер. Опре­де­ли­те, какие но­ме­ра населённых пунк­тов в таб­ли­це могут со­от­вет­ство­вать населённым пунк­там B и C на схеме. В от­ве­те за­пи­ши­те эти два но­ме­ра в воз­рас­та­ю­щем по­ряд­ке без про­бе­лов и зна­ков пре­пи­на­ния.


Ответ:

4
Тип Д3 № 16031
i

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

При­ме­ча­ние. Бра­тьев (сестёр) счи­тать род­ны­ми, если у них есть хотя бы один общий ро­ди­тель.

 

 

Таб­ли­ца 1
IDФа­ми­лия_И. О.ПолГод рож­де­ния
64Кел­дыш С. М.М1989
66Кел­дыш О. Н.Ж1964
67Кел­дыш М. И.М1962
68Дей­не­ко Е. В.Ж1974
69Дей­не­ко Н. А.Ж1994
70Си­ро­тен­ко В. Н.М1966
72Си­ро­тен­ко Д. В.Ж1995
75Си­ро­тен­ко Н. П.М1937
77Мел­ко­нян А. А.М1987
81Мел­ко­нян И. Н.Ж1963
82Лурье А. В.Ж1989
86Хит­ро­во Н. И.М1940
88Хит­ро­во Т. Н.Ж1968
89Гур­вич З. И.Ж1940
............

 

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


Ответ:

5
Тип 4 № 16032
i

Для ко­ди­ро­ва­ния не­ко­то­рой по­сле­до­ва­тель­но­сти, со­сто­я­щей из букв А, Б, В, Г, Д, Е, ре­ши­ли ис­поль­зо­вать не­рав­но­мер­ный дво­ич­ный код, удо­вле­тво­ря­ю­щий усло­вию Фано. Для буквы А ис­поль­зо­ва­ли ко­до­вое слово 0; для буквы Б  — ко­до­вое слово 10. Ка­ко­ва наи­мень­шая воз­мож­ная сумма длин ко­до­вых слов для букв В, Г, Д, Е?

 

При­ме­ча­ние. Усло­вие Фано озна­ча­ет, что ни­ка­кое ко­до­вое слово не яв­ля­ет­ся на­ча­лом дру­го­го ко­до­во­го слова. Это обес­пе­чи­ва­ет воз­мож­ность од­но­знач­ной рас­шиф­ров­ки за­ко­ди­ро­ван­ных со­об­ще­ний.


Ответ:

6
Тип 5 № 16033
i

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

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

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

       а)  если N чётное, в конец числа (спра­ва) до­пи­сы­ва­ет­ся сна­ча­ла ноль, а затем еди­ни­ца.

       б)  если N нечётное, спра­ва до­пи­сы­ва­ет­ся сна­ча­ла еди­ни­ца, а затем ноль.

На­при­мер, дво­ич­ная за­пись 100 числа 4 будет пре­об­ра­зо­ва­на в 10001, а дво­ич­ная за­пись 111 числа 7 будет пре­об­ра­зо­ва­на в 11110.

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

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


Ответ:

7
Тип Д7 № 16034
i

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

 

АBCDE
112345
22030405060
3300400=$B$3+D2600700
44000500060008000

 

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


Ответ:

8
Тип Д6 № 16035
i

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

 

Бей­сикPython

DIM N, S AS INTEGER

S = 0

N = 75

WHILE S + N < 150

    S = S + 15

    N = N − 5

WEND

PRINT N

s = 0

n = 75

while s + n < 150:

    s = s + 15

    n = n − 5

print(n)

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

var n, s: integer;

begin

    s := 0;

    n := 75;

    while s + n < 150 do

    begin

        s := s + 15;

        n := n − 5;

    end;

    writeln(n);

end.

алг

нач

    цел n, s

    s := 0

    n := 75

    нц пока s + n < 150

        s := s + 15

        n := n − 5

    кц

    вывод n

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int n, s;

    s = 0, n = 75;

    while (s + n < 150) {

        s = s + 15;

        n = n − 5;

    }

    cout << n << endl;

    return 0;

}


Ответ:

9
Тип 7 № 16036
i

Ав­то­ма­ти­че­ская ка­ме­ра про­из­во­дит раст­ро­вые изоб­ра­же­ния раз­ме­ром 200 × 256 пик­се­лей. Для ко­ди­ро­ва­ния цвета каж­до­го пик­се­ля ис­поль­зу­ет­ся оди­на­ко­вое ко­ли­че­ство бит, коды пик­се­лей за­пи­сы­ва­ют­ся в файл один за дру­гим без про­ме­жут­ков. Объём файла с изоб­ра­же­ни­ем не может пре­вы­шать 65 Кбайт без учёта раз­ме­ра за­го­лов­ка файла. Какое мак­си­маль­ное ко­ли­че­ство цве­тов можно ис­поль­зо­вать в па­лит­ре?


Ответ:

10
Тип 8 № 16037
i

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


Ответ:

11
Тип Д16 № 16038
i

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

 

Бей­сикPython

DECLARE SUB F(n)

SUB F(n)

    IF n > 0 THEN

        F(n − 1)

        PRINT n

        F(n − 2)

    END IF

END SUB

def F(n):

    if n > 0:

        F(n − 1)

        print(n)

        F(n − 2)

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

procedure F(n: integer);

begin

    if n > 0 then begin

        F(n − 1);

        writeln(n);

        F(n − 2)

    end

end;

алг F(цел n)

нач

    если n > 0 то

        F(n − 1)

        вывод n

        F(n − 2)

    все

кон

Си++

void F(int n) {

    if (n > 0) {

        F(n − 1);

        std: :cout << n;

        F(n − 2);

    }

}

 

 

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


Ответ:

12
Тип 13 № 16039
i

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

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

Для узла с IP-⁠ад­ре­сом 117.191.37.84 адрес сети равен 117.191.37.80. Чему равно наи­мень­шее воз­мож­ное зна­че­ние по­след­не­го (са­мо­го пра­во­го) байта маски? Ответ за­пи­ши­те в виде де­ся­тич­но­го числа.


Ответ:

13
Тип 11 № 16040
i

При ре­ги­стра­ции в ком­пью­тер­ной си­сте­ме каж­до­му поль­зо­ва­те­лю выдаётся па­роль, со­сто­я­щий из 7 сим­во­лов и со­дер­жа­щий толь­ко сим­во­лы из 26-⁠сим­воль­но­го на­бо­ра про­пис­ных ла­тин­ских букв. В базе дан­ных для хра­не­ния све­де­ний о каж­дом поль­зо­ва­те­ле от­ве­де­но оди­на­ко­вое и ми­ни­маль­но воз­мож­ное целое число байт. При этом ис­поль­зу­ют по­сим­воль­ное ко­ди­ро­ва­ние па­ро­лей, все сим­во­лы ко­ди­ру­ют оди­на­ко­вым и ми­ни­маль­но воз­мож­ным ко­ли­че­ством бит. Кроме соб­ствен­но па­ро­ля, для каж­до­го поль­зо­ва­те­ля в си­сте­ме хра­нят­ся до­пол­ни­тель­ные све­де­ния, для чего вы­де­ле­но целое число байт; это число одно и то же для всех поль­зо­ва­те­лей.

Для хра­не­ния све­де­ний о 30 поль­зо­ва­те­лях по­тре­бо­ва­лось 600 байт. Сколь­ко байт вы­де­ле­но для хра­не­ния до­пол­ни­тель­ных све­де­ний об одном поль­зо­ва­те­ле? В от­ве­те за­пи­ши­те толь­ко целое число  — ко­ли­че­ство байт.


Ответ:

14
Тип Д12 № 16041
i

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

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

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

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

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

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

 

Цикл

ПОКА усло­вие

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

КОНЕЦ ПОКА

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

 

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

НА­ЧА­ЛО

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

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

            ТО за­ме­нить (11111, 88)

        ИНАЧЕ

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

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

            КОНЕЦ ЕСЛИ

        КОНЕЦ ЕСЛИ

    КОНЕЦ ПОКА

КОНЕЦ


Ответ:

15
Тип Д13 B13 № 16042
i

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

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


Ответ:

16
Тип 14 № 16043
i

Зна­че­ние ариф­ме­ти­че­ско­го вы­ра­же­ния 97 + 321 − 9 за­пи­са­ли в си­сте­ме счис­ле­ния с ос­но­ва­ни­ем 3. Сколь­ко цифр 2 со­дер­жит­ся в этой за­пи­си?


Ответ:

17
Тип Д17 № 16044
i

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

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

 

За­просНай­де­но стра­ниц
(в сот­нях тысяч)
Горло35
Ко­рабль35
Нос40
Ко­рабль & Нос20
Горло & Нос13
Горло & Ко­рабль0

 

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

 

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


Ответ:

18

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

(y + 2x ≠ 48) ∨ (A < x) ∨ (A < y)

тож­де­ствен­но ис­тин­но, то есть при­ни­ма­ет зна­че­ние 1 при любых целых не­от­ри­ца­тель­ных x и y?


Ответ:

19
Тип Д19 № 16046
i

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

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

Бей­сикPython

c = 0

FOR i = 1 TO 9

    IF A(i-1) < A(i) THEN

       c = c + 1

       t = A(i)

       A(i) = A(i-1)

       A(i-1) = t

    END IF

NEXT i

c = 0

for i in range(1,10):

    if A[i-1] < A[i]:

       c = c + 1

       t = A[i]

       A[i] = A[i-1]

       A[i-1] = t

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

c := 0;

for i := 1 to 9 do

    if A[i-1] < A[i] then

    begin

        c := c + 1;

        t := A[i];

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

         A[i-1] := t;

    end;

c := 0

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

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

       c := c + 1

       t := A[i]

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

       A[i-1] := t

     все

кц

Си++

c = 0;

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

     if (A[i-1] < A[i]){

        c++;

        t = A[i];

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

        A[i-1] = t;

    }

}


Ответ:

20
Тип Д22 № 16047
i

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

 

Бей­сикPython

DIM X, L, M AS INTEGER

INPUT X

L = 1

M = 0

WHILE X > 0

    M = M + 1

     IF X MOD 2 <> 0 THEN

      L = L * (X MOD 8)

     END IF

X = X \ 8

WEND

PRINT L

PRINT M

x = int(input())

L = 1

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 := 1;

     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)

    writeln(M)

end.

алг

нач

     цел x, L, M

     ввод x

     L := 1

     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(){

     int x, L, M;

     cin >> x;

     L = 1;

     M = 0;

     while (x > 0) {

          M = M + 1;

          if(x % 2 != 0) {

             L = L * (x % 8);

          }

          x = x / 8;

        }

        cout << L << endl << M << endl;

        return 0;

}


Ответ:

21
Тип Д21 № 16048
i

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

 

Бей­сикPython

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

A = −20: B = 20

M = A : R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

F=abs(abs(x−6)+abs(x+6)−16)+2

END FUNCTION

def F(x):

    return(abs(abs(x−6)+abs(x+6)−16)+2)

 

a = −20

b = 20

M = a

R = F(a)

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

    if F(t) <= R:

        M = t

        R = F(t)

print(M+R)

 

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

var

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

 

function F(x: integer): integer;

begin

f:=abs(abs(x−6)+abs(x+6)−16)+2;

end;

 

begin

    a := −20; b := 20;

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

    for t := a to b do begin

        if F(t) <= R then begin

            M := t;

            R := F(t);

        end;

    end;

    write(M+R);

end.

 

алг

нач

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

    a := −20; b := 20

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

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

        если F(t) <= R

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

        все

    кц

    вывод M + R

кон

 

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

нач

знач:=abs(abs(x−6)+abs(x+6)−16)+2

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

return (abs(abs(x−6)+abs(x+6)−16)+2);

}

 

int main()

{

    int a, b, t, M, R;

    a = −20; b = 20;

    M = a; R = F(a);

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

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M + R;

    return 0;

}


Ответ:

22
Тип 23 № 16049
i

Ис­пол­ни­тель Вы­чис­ли­тель пре­об­ра­зу­ет число на экра­не.

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

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

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

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

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

Про­грам­ма для ис­пол­ни­те­ля Вы­чис­ли­тель  — это по­сле­до­ва­тель­ность ко­манд.

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

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


Ответ:

23
Тип Д23 № 16050
i

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

(y1 → (y2x1)) ∧ (x1x2) = 1

(y2 → (y3x2)) ∧ (x2x3) = 1

                        …

(y6 → (y7x6)) ∧ (x6x7) = 1

y7x7 = 1

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


Ответ:

24
Тип Д24 C1 № 16051
i

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

Бей­сикPython

DIM N, DIGIT, MINDIGIT AS LONG

INPUT N

MINDIGIT = N MOD 10

WHILE N > 0

    DIGIT = N MOD 10

    IF DIGIT MOD 2 = 0 THEN

        IF DIGIT < MINDIGIT THEN

            MINDIGIT = DIGIT

        END IF

    END IF

    N = N \ 10

WEND

IF MINDIGIT = 0 THEN

    PRINT "NO"

ELSE

    PRINT MINDIGIT

END IF

N = int(input())

minDigit = N % 10

while N > 0:

    digit = N % 10

    if digit % 2 == 0:

        if digit < minDigit:

            minDigit = digit

    N = N // 10

if minDigit == 0:

    print("NO")

else:

    print(minDigit)

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

var N,digit,minDigit: longint;

begin

    readln(N);

    minDigit := N mod 10;

    while N > 0 do

    begin

        digit := N mod 10;

        if digit mod 2 = 0 then

            if digit < minDigit then

                minDigit := digit;

        N := N div 10;

    end;

    if minDigit = 0 then

        writeln('NO')

    else

        writeln(minDigit);

end.

алг

нач

    цел N, digit, minDigit

    ввод N

    minDigit := mod(N,10)

    нц пока N > 0

        digit := mod(N,10)

        если mod(digit, 2) = 0 то

            если digit < minDigit то

                minDigit := digit

            все

        все

        N := div(N,10)

    кц

    если minDigit = 0 то

        вывод "NO"

    иначе

        вывод minDigit

    все

кон

Си++

#include <iostream>

using namespace std;

 

int main() {

        long N, digit, minDigit;

        cin >> N;

        minDigit = N % 10;

        while (N > 0) {

            digit = N % 10;

            if (digit % 2 == 0)

                if (digit < minDigit)

                    minDigit = digit;

            N = N / 10;

        }

        if (minDigit == 0)

            cout << "NO" << endl;

        else

            cout << minDigit << endl;

        return 0;

}

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

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

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

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

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

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

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

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

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


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

25
Тип Д25 C2 № 16052
i

Дан це­ло­чис­лен­ный мас­сив из 30 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать на­ту­раль­ные зна­че­ния от 1 до 10 000 вклю­чи­тель­но. Опи­ши­те на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, ко­то­рый на­хо­дит ми­ни­мум среди эле­мен­тов мас­си­ва, не де­ля­щих­ся на­це­ло на 6, а затем за­ме­ня­ет каж­дый эле­мент, не де­ля­щий­ся на­це­ло на 6, на число, рав­ное най­ден­но­му ми­ни­му­му. Га­ран­ти­ру­ет­ся, что хотя бы один такой эле­мент в мас­си­ве есть. В ка­че­стве ре­зуль­та­та не­об­хо­ди­мо вы­ве­сти изменённый мас­сив, каж­дый эле­мент вы­во­дит­ся с новой строч­ки.

На­при­мер, для ис­ход­но­го мас­си­ва из шести эле­мен­тов:

14

6

11

18

9

24

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

9

6

9

18

9

24

 

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

 

Бей­сикPython

CONST N AS INTEGER = 30

DIM A (1 TO N) AS LONG

DIM I AS LONG,

    J AS LONG,

    K AS LONG

 

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

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

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

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

a = []

n = 30

for i in range(0, n):

    a.append(int(input()))

...

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

const

N = 30;

var

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

i, j, k: longint;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

алг

нач

    цел N = 30

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

    цел i, j, k

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

        ввод a[i]

    кц

    ...

 

кон

Си++

#include <iostream>

using namespace std;

const int N = 30;

int main() {

long a[N];

long i, j, k;

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

    cin >> a[i];

    ...

    return 0;

}

 

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


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

26
Тип Д26 C3 № 16053
i

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

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

В на­чаль­ный мо­мент в пер­вой куче было шесть кам­ней, во вто­рой куче  — S кам­ней; 1 ≤ S ≤ 61.

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

 

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

За­да­ние 1.

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

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

За­да­ние 2. Ука­жи­те такое зна­че­ние S, при ко­то­ром у Пети есть вы­иг­рыш­ная стра­те­гия, причём од­но­вре­мен­но вы­пол­ня­ют­ся два усло­вия:

— Петя не может вы­иг­рать за один ход;

— Петя может вы­иг­рать своим вто­рым ходом не­за­ви­си­мо от того, как будет хо­дить Ваня.

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

За­да­ние 3. Ука­жи­те зна­че­ние S, при ко­то­ром од­но­вре­мен­но вы­пол­ня­ют­ся два усло­вия:

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

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

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

По­строй­те де­ре­во всех пар­тий, воз­мож­ных при этой вы­иг­рыш­ной стра­те­гии Вани (в виде ри­сун­ка или таб­ли­цы).

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


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

27
Тип Д27 C4 № 16054
i

На вход про­грам­мы по­сту­па­ет по­сле­до­ва­тель­ность из N целых по­ло­жи­тель­ных чисел, все числа в по­сле­до­ва­тель­но­сти раз­лич­ны. Рас­смат­ри­ва­ют­ся все пары раз­лич­ных эле­мен­тов по­сле­до­ва­тель­но­сти, на­хо­дя­щих­ся на рас­сто­я­нии не мень­ше чем 4 (раз­ни­ца в ин­дек­сах эле­мен­тов пары долж­на быть 4 или более, по­ря­док эле­мен­тов в паре не­ва­жен). Не­об­хо­ди­мо опре­де­лить ко­ли­че­ство таких пар, для ко­то­рых про­из­ве­де­ние эле­мен­тов де­лит­ся на 29.

Опи­са­ние вход­ных и вы­ход­ных дан­ных

В пер­вой стро­ке вход­ных дан­ных задаётся ко­ли­че­ство чисел N (4 ≤ N ≤ 1000). В каж­дой из по­сле­ду­ю­щих N строк за­пи­са­но одно целое по­ло­жи­тель­ное число, не пре­вы­ша­ю­щее 10 000.

В ка­че­стве ре­зуль­та­та про­грам­ма долж­на вы­ве­сти одно число: ко­ли­че­ство пар эле­мен­тов, на­хо­дя­щих­ся в по­сле­до­ва­тель­но­сти на рас­сто­я­нии не мень­ше чем 4, в ко­то­рых про­из­ве­де­ние эле­мен­тов крат­но 29.

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

7

58

2

3

5

4

1

29

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

5

По­яс­не­ние. Из 7 за­дан­ных эле­мен­тов с учётом до­пу­сти­мых рас­сто­я­ний между ними можно со­ста­вить 6 про­из­ве­де­ний: 58 · 4, 58 · 1, 58 · 29, 2 · 1, 2 · 29, 3 · 29. Из них на 29 де­лят­ся 5 про­из­ве­де­ний.

Тре­бу­ет­ся на­пи­сать эф­фек­тив­ную по вре­ме­ни и по па­мя­ти про­грам­му для ре­ше­ния опи­сан­ной за­да­чи.

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

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

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

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

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

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

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


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