Заголовок: ЕГЭ по информатике 30.05.2013. Основная волна. Дальний Восток. Вариант 2.
Комментарий:
Версия для копирования в MS Word
PDF-версии: горизонтальная · вертикальная · крупный шрифт · с большим полем
РЕШУ ЕГЭ — информатика
Вариант № 215609

ЕГЭ по информатике 30.05.2013. Основная волна. Дальний Восток. Вариант 2.

1.  
i

Дано N = 3278, M = D916. Какое из чисел K, за­пи­сан­ных в дво­ич­ной си­сте­ме, от­ве­ча­ет усло­вию N < K < M?

 

1)  110110002

2)  110110012

3)  110111002

4)  110101112

2.  
i

Между населёнными пунк­та­ми А, В, С, D, Е, F по­стро­е­ны до­ро­ги, про­тяжённость ко­то­рых при­ве­де­на в таб­ли­це (от­сут­ствие числа в таб­ли­це озна­ча­ет, что пря­мой до­ро­ги между пунк­та­ми нет):

ABCDEF
A32620
B35
C22
D652812
E82
F20122

Опре­де­ли­те длину крат­чай­ше­го пути между пунк­та­ми А и F (при усло­вии, что пе­ре­дви­гать­ся можно толь­ко по по­стро­ен­ным до­ро­гам).

3.  
i

Дан фраг­мент таб­ли­цы ис­тин­но­сти вы­ра­же­ния F:

x1x2x3x4x5x6x7x8F
110111100
101011011
010110100

Каким вы­ра­же­ни­ем может быть F?

 

1) ¬x1 ∧ х2 ∧ ¬хЗ ∧ х4 ∧ х5 ∧ ¬х6 ∧ х7 ∧ ¬х8

2) ¬x1 ∨ х2 ∨ ¬хЗ ∨ х4 ∨ ¬х5 ∨ х6 ∨ х7 ∨ ¬х8

3)  x1 ∧ ¬х2 ∧ хЗ ∧ ¬х4 ∧ х5 ∧ х6 ∧ ¬х7 ∧ х8

4)  x1 ∨ ¬х2 ∨ ¬хЗ ∨ ¬х4 ∨ ¬х5 ∨ х6 ∨ ¬х7 ∨ х8

4.  
i

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

 

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

 

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

 

Опре­де­ли­те, по какой из масок может быть вы­бра­на ука­зан­ная груп­па фай­лов:

comfort.с

cobalt.срр

coat.с

cost.cpp

 

1)  ?о*.?*

2)  *t.?

3)  c*t.c??

4)  co?t.?

1) ?о*.?*
2) *t.?
3) c*t.c??
4) co?t.?
5.  
i

В не­ко­то­рой ин­фор­ма­ци­он­ной си­сте­ме ин­фор­ма­ция ко­ди­ру­ет­ся дво­ич­ны­ми ше­сти­раз­ряд­ны­ми сло­ва­ми. При пе­ре­да­че дан­ных воз­мож­ны их ис­ка­же­ния, по­это­му в конец каж­до­го слова до­бав­ля­ет­ся седь­мой (кон­троль­ный) раз­ряд таким об­ра­зом, чтобы сумма раз­ря­дов но­во­го слова, счи­тая кон­троль­ный, была чётной. На­при­мер, к слову 110011 спра­ва будет до­бав­лен 0, а к слову 101100  — 1.

 

После приёма слова про­из­во­дит­ся его об­ра­бот­ка. При этом про­ве­ря­ет­ся сумма его раз­ря­дов, вклю­чая кон­троль­ный. Если она нечётна, это озна­ча­ет, что при пе­ре­да­че этого слова про­изошёл сбой, и оно ав­то­ма­ти­че­ски за­ме­ня­ет­ся на за­ре­зер­ви­ро­ван­ное слово 0000000. Если она чётна, это озна­ча­ет, что сбоя не было или сбоев было боль­ше од­но­го. В этом слу­чае при­ня­тое слово не из­ме­ня­ет­ся.

Ис­ход­ное со­об­ще­ние

1101001 0011000 0011101

было при­ня­то в виде

1101001 0001001 0011100.

 

Как будет вы­гля­деть при­ня­тое со­об­ще­ние после об­ра­бот­ки?

 

1)  0000000 0001001 0011100

2)  1101001 0000000 0011100

3)  1101001 0000000 0000000

4)  1101001 0001001 0000000

1) 0000000 0001001 0011100
2) 1101001 0000000 0011100
3) 1101001 0000000 0000000
4) 1101001 0001001 0000000
6.  
i

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

 

По­яс­не­ние: дядей счи­та­ет­ся род­ной брат отца или ма­те­ри.

 

Таб­ли­ца 1
IDФа­ми­лия_И. О.Пол
14Ерёма С. В.М
24Пет­рен­ко И. П.М
25Пет­рен­ко П. И.М
26Пет­рен­ко П. П.М
34Ерёма А. И.Ж
35Ерёма В. С.Ж
36Ерёма С. С.М
44Ле­бедь А. С.Ж
45Ле­бедь В. А.М
46Гресс О. С.Ж
47Гресс П. О.М
54Клыч­ко А. П.Ж
64Крот П. А.Ж

Таб­ли­ца 2
ID_Ро­ди­те­ляID_Ре­бен­ка
2425
4425
2526
6426
2434
4434
3435
3635
1436
3446
3646
2554
6454

7.  
i

Коле нужно с по­мо­щью элек­трон­ных таб­лиц по­стро­ить таб­ли­цу умно­же­ния чисел от 3 до 6.

 

Для этого сна­ча­ла в диа­па­зо­нах В1:Е1 и А2:А5 он за­пи­сал числа от 3 до 6. Затем в ячей­ку Е2 за­пи­сал фор­му­лу умно­же­ния, после чего ско­пи­ро­вал её во все ячей­ки диа­па­зо­на В2:Е5. В итоге на экра­не по­лу­чил­ся фраг­мент таб­ли­цы умно­же­ния (см. рис.).

 

ABCDE
13456
239121518
3412162024
4515202530
5618243036

 

Какая фор­му­ла была за­пи­са­на в ячей­ке Е2?

 

1)  =А$2*$Е1

2)  =А2*Е1

3)  =$А2*$Е1

4)  =$А2*Е$1

8.  
i

Про­из­во­дит­ся двух­ка­наль­ная (сте­рео) зву­ко­за­пись с ча­сто­той дис­кре­ти­за­ции 16 кГц и 24-бит­ным раз­ре­ше­ни­ем, ре­зуль­та­ты за­пи­сы­ва­ют­ся в файл, сжа­тие дан­ных не ис­поль­зу­ет­ся. Раз­мер файла с за­пи­сью не может пре­вы­шать 4 Мбайт. Какая из при­ведённых ниже ве­ли­чин наи­бо­лее близ­ка к мак­си­маль­но воз­мож­ной про­дол­жи­тель­но­сти за­пи­си?

 

1)  13 се­кунд

2)  27 се­кунд

3)  39 се­кунд

4)  44 се­кун­ды

9.  
i

Для пе­ре­да­чи дан­ных по ка­на­лу связи ис­поль­зу­ет­ся 5-би­то­вый код. Со­об­ще­ние со­дер­жит толь­ко буквы А, Б и В, ко­то­рые ко­ди­ру­ют­ся сле­ду­ю­щи­ми ко­до­вы­ми сло­ва­ми:

 

А  — 00000, Б  — 10011, В  — 11100.

 

При пе­ре­да­че воз­мож­ны по­ме­хи. Од­на­ко не­ко­то­рые ошиб­ки можно по­пы­тать­ся ис­пра­вить. Любые два из этих трёх ко­до­вых слов от­ли­ча­ют­ся друг от друга не менее чем в трёх по­зи­ци­ях. По­это­му если при пе­ре­да­че слова про­изо­шла ошиб­ка не более чем в одной по­зи­ции, то можно сде­лать обос­но­ван­ное пред­по­ло­же­ние о том, какая буква пе­ре­да­ва­лась. (Го­во­рят, что «код ис­прав­ля­ет одну ошиб­ку».) На­при­мер, если по­лу­че­но ко­до­вое слово 10010, счи­та­ет­ся, что пе­ре­да­ва­лась буква Б. (От­ли­чие от ко­до­во­го слова для Б толь­ко в одной по­зи­ции, для осталь­ных ко­до­вых слов от­ли­чий боль­ше.) Если при­ня­тое ко­до­вое слово от­ли­ча­ет­ся от ко­до­вых слов для букв А, Б, В более чем в одной по­зи­ции, то счи­та­ет­ся, что про­изо­шла ошиб­ка (она обо­зна­ча­ет­ся 'х').

 

По­лу­че­но со­об­ще­ние 11000 00001 11110 10001. Де­ко­ди­руй­те это со­об­ще­ние  — вы­бе­ри­те пра­виль­ный ва­ри­ант.

 

1)  ВАВх

2)  ВАВБ

3)  хАВх

4)  хххх

10.  
i

На чис­ло­вой пря­мой даны два от­рез­ка: Р = [12, 62] и Q = [52, 92]. Вы­бе­ри­те из пред­ло­жен­ных от­рез­ков такой от­ре­зок А, что ло­ги­че­ское вы­ра­же­ние

¬((х ∈ А) ∧ (х ∈ Р)) ∨ (х ∈ Q)

тож­де­ствен­но ис­тин­но, то есть при­ни­ма­ет зна­че­ние 1 при любом зна­че­нии пе­ре­мен­ной х.

 

1)  [7,60]

2)  [40,95]

3)  [45,55]

4)  [55,100]

11.  
i

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

12.  
i

В про­грам­ме опи­сан од­но­мер­ный це­ло­чис­лен­ный мас­сив А с ин­дек­са­ми от 0 до 10. Ниже пред­став­лен фраг­мент этой про­грам­мы, за­пи­сан­ный на раз­ных язы­ках про­грам­ми­ро­ва­ния.

 

Бей­сик

Пас­каль

FOR i = 0 ТО 10

    A (i) = i-1

NEXT i

FOR i = 1 TO 10

    A(i-1) = A(i)

NEXT i

A(10) = 10

 

for i = 0 to 10 do

    a[i] := i-1;

for i := 1 to 10 do

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

a[10] := 10;

 

 

Си++

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

for (i = 0; i <= 10; i++) {

    A[i] = i-1;

}

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

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

}

A[10] = 10;

 

 

нц для i от 0 до 10

    A[i] := i-1

кц

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

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

кц

А[10] := 10

 

Python

 

for i in range(0, 11):

    A[i] = i-1

for i in range(1, 10):

    A[i-1] = A[i]

A[10] = 10

 

Чему ока­жут­ся равны эле­мен­ты этого мас­си­ва после вы­пол­не­ния фраг­мен­та про­грам­мы?

 

1)  9 9 9 9 9 9 9 9 9 9 10

2)  1 2 3 4 5 6 7 8 9 10 10

3)  -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 10

4)  0 1 2 3 4 5 6 7 8 9 10

13.  
i

Си­сте­ма ко­манд ис­пол­ни­те­ля РОБОТ, «жи­ву­ще­го» в пря­мо­уголь­ном ла­би­рин­те на клет­ча­той плос­ко­сти, вклю­ча­ет в себя 4 ко­ман­ды-при­ка­за и 4 ко­ман­ды про­вер­ки усло­вия.

Ко­ман­ды-при­ка­зы:

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

При вы­пол­не­нии любой из этих ко­манд РОБОТ пе­ре­ме­ща­ет­ся на одну клет­ку со­от­вет­ствен­но: вверх ↑, вниз ↓, влево ←, впра­во →.

 

Если РОБОТ начнёт дви­же­ние в сто­ро­ну на­хо­дя­щей­ся рядом с ним стены, то он раз­ру­шит­ся, и про­грам­ма прервётся.

 

Дру­гие 4 ко­ман­ды про­ве­ря­ют ис­тин­ность усло­вия от­сут­ствия стены у каж­дой сто­ро­ны той клет­ки, где на­хо­дит­ся РОБОТ:

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

Цикл

 

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

 

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

КОНЕЦ ПОКА

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

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

 

ЕСЛИ усло­вие

ТО ко­ман­да1

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

КОНЕЦ ЕСЛИ

 

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

 

Сколь­ко кле­ток ла­би­рин­та со­от­вет­ству­ют тре­бо­ва­нию, что, начав дви­же­ние в ней и вы­пол­нив пред­ло­жен­ную про­грам­му, РОБОТ уце­ле­ет и оста­но­вит­ся в за­кра­шен­ной клет­ке (клет­ка F1)?

 

НА­ЧА­ЛО

ПОКА свер­ху сво­бод­но ИЛИ спра­ва сво­бод­но

ЕСЛИ свер­ху сво­бод­но

ТО вверх

ИНАЧЕ впра­во

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

14.  
i

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

 

1.  вычти 1,

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

 

Пер­вая из них умень­ша­ет число на экра­не на 1, вто­рая удва­и­ва­ет его. За­пи­ши­те по­ря­док ко­манд в про­грам­ме, ко­то­рая пре­об­ра­зу­ет число 17 в число 135 и со­дер­жит не более 4 ко­манд. Ука­зы­вай­те лишь но­ме­ра ко­манд.

(На­при­мер, про­грам­ма 212  — это про­грам­ма

 

умножь на 2,

вычти 1,

умножь на 2,

 

Эта про­грам­ма пре­об­ра­зу­ет число 3 в число 10.)

15.  
i

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

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

a = 30

b = 18

a = 3 * b - a

IF a > b THEN

    с = 2 * a - b

ELSE

    с = 2 * a + b

ENDIF

a := 30;

b := 18;

a := 3 * b - a;

if a > b then

    с := 2 * a - b

else

с := 2 * a + b;

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

a = 30;

b =18;

a = 3 * b - a;

if (a > b)

    с = 2 * a - b;

else

с = 2 * a + b;

a := 30

b := 18

a := 3 * b - a

если a > b

    то с := 2 * a - b

    иначе c := 2 * a + b

все

Python

a = 30

b = 18

a = 3 * b - a

if a > b:

    с = 2 * a - b

else:

    с = 2 * a + b

16.  
i

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

 

ABC
145
2=(C1+3)/(A1+4)=B1/(C1-3)=(A1+1)/(2*C1-2*B1)

 

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

 

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

17.  
i

Не­ко­то­рый ал­фа­вит со­дер­жит три раз­лич­ные буквы. Сколь­ко трёхбук­вен­ных слов можно со­ста­вить из букв дан­но­го ал­фа­ви­та (буквы в слове могут по­вто­рять­ся)?

18.  
i

Опре­де­ли­те число, ко­то­рое будет на­пе­ча­та­но в ре­зуль­та­те вы­пол­не­ния про­грам­мы (за­пи­сан­ной ниже на раз­ных язы­ках про­грам­ми­ро­ва­ния):

 

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

DIM N, S AS INTEGER

N = 0

S = 0

WHILE S <= 257

    S = S + 25

    N = N + 4

WEND

PRINT N

var n, s: integer;

begin

    n : = 0;

    s : = 0;

    while s <= 257 do

    begin

        s : = s + 25;

        n : = n + 4

    end;

    write(n)

end.

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

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 0;

    s = 0;

    while (s <= 257)

    {

        s = s + 25;

        n = n + 4;

    }

    cout « n « endl;

}

алг

нач

цел n, s

    n : = 0

    s : = 0

    нц пока s <= 257

        s : = s + 25

        n : = n + 4

    кц

вывод n

кон

Python

n = 0

s = 0

while s <= 257:

    s += 25

    n += 4

print(n)

19.  
i

Ал­го­ритм вы­чис­ле­ния зна­че­ния функ­ции F(n), где n  — на­ту­раль­ное число, задан сле­ду­ю­щи­ми со­от­но­ше­ни­я­ми:

F(n)  =  n + 1 при n ≤ 2;

F(n)  =  2 · F(n − 1) + F(n − 2) при n > 2.

 

Чему равно зна­че­ние функ­ции F(4)? В от­ве­те за­пи­ши­те толь­ко на­ту­раль­ное число.

20.  
i

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

21.  
i

Ниже на пяти язы­ках за­пи­сан ал­го­ритм. По­лу­чив на вход число x, этот ал­го­ритм пе­ча­та­ет два числа: a и b. Ука­жи­те наи­боль­шее из таких чисел x, при вводе ко­то­рых ал­го­ритм пе­ча­та­ет сна­ча­ла 2, а потом 3. До­пус­ка­ет­ся диа­па­зон зна­че­ний для ве­ли­чин це­ло­го типа: от −231 до 231  — 1.

 

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

DIM X, A, B, C AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    C = X MOD 2

    IF C = 0 THEN

        A = A + 1

    ELSE

        B = B + 1

    END IF

    X = X / 10

WEND

PRINT A

PRINT B

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x > 0 do

    begin

        c := x mod 2

        if c = 0 then

            a := a + 1

        else

            b := b + 1

        x := x div 10

    end;

    writeln(a); write(b);

end.

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

#include <iostream>

using namespace std;

 

int main()

{

    int x, a, b, c;

    cin >> x;

    a = 0; b = 0;

    while (x > 0) {

        c = x%2

        if (c == 0) a = a + 1;

        else b = b + 1;

        x = x / 10;

    }

    cout << a << endl << b endl;

}

 

 

алг

нач

цел x, a, b, c

ввод x

a := 0; b := 0

нц пока x > 0

    c := mod(x, 2)

    если c = 0

    то a := a + 1

    иначе b := b + 1

все

x := div(x, 10)

кц

вывод а, нс b

кон

Python

x = int(input())

a = 0

b = 0

while x > 0:

    c = x % 2

    if c == 0:

        a += 1

    else:

        b += 1

    x = x // 10

print(a)

print(b)

22.  
i

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

 

23.  
i

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

 

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

 

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

 

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

 

 · сред­няя ско­рость пе­ре­да­чи дан­ных по ка­на­лу связи со­став­ля­ет 222 бит в се­кун­ду;

 · объём сжа­то­го ар­хи­ва­то­ром до­ку­мен­та равен 75% ис­ход­но­го;

 · время, тре­бу­е­мое на сжа­тие до­ку­мен­та,  — 14 се­кунд, на рас­па­ков­ку  — 3 се­кун­ды?

 

В от­ве­те на­пи­ши­те букву А, если быст­рее спо­соб А, или Б, если быст­рее спо­соб Б. Сразу после буквы на­пи­ши­те число, обо­зна­ча­ю­щее, на сколь­ко се­кунд один спо­соб быст­рее дру­го­го. Так, на­при­мер, если спо­соб Б быст­рее спо­со­ба А на 23 се­кун­ды, в от­ве­те нужно на­пи­сать Б23. Еди­ни­цы из­ме­ре­ния «се­кунд», «сек.», «с.» к от­ве­ту до­бав­лять не нужно.

24.  
i

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

IP-⁠адрес узла: 128.194.208.64

Маска: 255.255.224.0

При за­пи­си от­ве­та вы­бе­ри­те из при­ведённых в таб­ли­це чисел че­ты­ре эле­мен­та IP-⁠ад­ре­са сети и за­пи­ши­те в нуж­ном по­ряд­ке со­от­вет­ству­ю­щие им буквы без ис­поль­зо­ва­ния точек.

 

ABCDEFGH
064128192194208224255

 

При­мер.

Пусть ис­ко­мый IP-⁠адрес: 192.168.128.0 и дана таб­ли­ца:

 

ABCDEFGH
1281682558127017192

 

В этом слу­чае пра­виль­ный ответ будет за­пи­сан в виде: HBAF.

25.  
i

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

 

За­просНай­де­но стра­ниц
(в ты­ся­чах)
про­тон & бозон165
фотон & про­тон & бозон80
фотон & бозон125

 

Ком­пью­тер пе­ча­та­ет ко­ли­че­ство стра­ниц (в ты­ся­чах), ко­то­рое будет най­де­но по сле­ду­ю­ще­му за­про­су: (про­тон|фотон) & бозон Ука­жи­те целое число, ко­то­рое на­пе­ча­та­ет ком­пью­тер. Счи­та­ет­ся, что все за­про­сы вы­пол­ня­лись прак­ти­че­ски од­но­вре­мен­но, так что набор стра­ниц, со­дер­жа­щих все ис­ко­мые слова, не из­ме­нял­ся за время вы­пол­не­ния за­про­сов.

26.  
i

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

 

1.  при­бавь 1,

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

 

Пер­вая из них уве­ли­чи­ва­ет число на экра­не на 1, вто­рая утра­и­ва­ет его. Про­грам­ма для Утро­и­те­ля  — это по­сле­до­ва­тель­ность ко­манд. Сколь­ко есть про­грамм, ко­то­рые число 3 пре­об­ра­зу­ют в число 36?

27.  
i

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

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

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

A = -10: B = 33

M = A: R = F(А)

FOR T = A TO B

    IF F(T) > R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M

FUNCTION F(x)

    F = 3*(x -1)*(x-1)+37

END FUNCTION

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

    Function

    F(x:integer):integer;

        begin

            F := 3*(x -1)*(x-1)+37

        end;

begin

    a := -10; b := 33;

    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)

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return 3*(x -1)*(x-1)+37;

}

int main()

{

    int a, b, t, M, R;

    a = -10; b = 33;

    M = a; R = F(a);

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

        if (F(t) > R) {

            M = t; R = F(t);

        }

    }

    cout « M « endl;

}

алг

нач

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

a := -10; b := 33

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

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

если F(t) > R

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

все

кц

вывод M

кон

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

нач

знач:= 3*(x -1)*(x-1)+37

кон

Python

def f(x):

    return 3*(x -1)*(x-1)+37

a = -10

b = 33

M = a

R = f(a)

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

    if (f(t) > R):

        M = t

        R = f(t);

print(M)

28.  
i

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

 

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

((x3 ≡ x4) ∨ (x5 ≡ x6)) ∧ (¬(x3 ≡ x4) ∨ ¬(x5 ≡ x6)) = 1

...

((x7 ≡ x8) ∨ (x9 ≡ x10)) ∧ (¬(x7 ≡ x8) ∨ ¬(x9 ≡ x10)) = 1

 

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

29.  
i

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

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

DIM N AS LONG

INPUT N

sum = 0

WHILE N >= 9

    digit = N MOD 10

    sum = sum + digit

    N = N \ 10

WEND

PRINT sum

END

var N: longint;

    digit, sum: integer;

begin

    readln(N);

    sum := 0;

    while N >= 9 do

    begin

        digit := N mod 10;

        sum := sum + digit;

        N := N div 10;

    end;

    writeln(sum);

end.

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

#include <iostream>

using namespace std;

int main()

{

    long int N;

    int digit, sum;

    cin >> N;

    sum = 0;

    while (N >= 9)

    {

        digit = N % 10;

        sum = sum + digit;

        N = N / 10;

    }

    cout « sum « endl;

}

 

алг

нач

    цел N, digit, sum

    ввод N

    sum := 0

    нц пока N >= 9

        digit := mod(N, 10)

        sum := sum + digit

        N := div(N, 10)

    кц

    вывод sum

кон

Python

n = int(input())

sum = 0

while n >= 9:

    digit = n % 10

    sum += digit

    n //=10;

print(sum)

 

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

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

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

3.   Ука­жи­те одно число для ко­то­ро­го эта про­грам­ма будет ра­бо­тать верно.

30.  
i

Дан це­ло­чис­лен­ный мас­сив из 20 эле­мен­тов. Эле­мен­ты мас­си­ва могут при­ни­мать целые зна­че­ния от −1000 до 1000 вклю­чи­тель­но. Опи­ши­те на есте­ствен­ном языке или на одном из язы­ков про­грам­ми­ро­ва­ния ал­го­ритм, поз­во­ля­ю­щий найти и вы­ве­сти ми­ни­маль­ное зна­че­ние среди по­ло­жи­тель­ных эле­мен­тов мас­си­ва, не крат­ных 3. Если в ис­ход­ном мас­си­ве нет эле­мен­та, зна­че­ние ко­то­ро­го по­ло­жи­тель­но и не де­лит­ся на 3, то вы­ве­сти со­об­ще­ние «Не най­де­но».

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

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

N = 20

DIM A(N) AS INTEGER

DIM I, J, MIN AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

...

END

const

    N = 20;

var

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

    i, j, min: integer;

begin

    for i := 1 to N do

        readln(a[i]);

    ...

end.

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

#include <iostream>

using namespace std;

#define N 20

int main() {

    int a[N];

    int i, j, min;

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

        cin >> a[i];

...

}

алг

нач

    цел N = 20

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

    цел i, j, min

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

        ввод a[i]

    кц

    ...

кон

Есте­ствен­ный язык

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

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

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

Python

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

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

a = []

n = 20

for i in range(0, n):

a.append(int(input()))

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

31.  
i

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

32.  
i

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

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

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

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

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

 

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

 

5

123

2

−1000

0

10

 

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

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

 

1 2 3 5