№№ заданий Пояснения Ответы Ключ Добавить инструкцию Критерии
Источник Раздел кодификатора ФИПИ Справка
PDF-версия PDF-версия (вертикальная) PDF-версия (крупный шрифт) PDF-версия (с большим полем) Версия для копирования в MS Word
Вариант № 4871414

1.

Вы­чис­ли­те: 101010102 – 2528 + 716. Ответ за­пи­ши­те в де­ся­тич­ной си­сте­ме счис­ле­ния.

2.

Логическая функция F задаётся выражением (zy) ∨ ((xz ) ≡ (yw)).

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

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

 

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

 

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

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

 

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

 

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

3.

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

 

П1П2П3П4П5П6П7
П14015
П2403550
П310658
П415352233
П51050
П65065225040
П783340

 

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

4.

В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите ID дяди Корзун П. А.

 

Таблица 1
IDФамилия_И.О.Пол
1072Онищенко А. Б.Ж
1028Онищенко Б. Ф.М
1099Онищенко И. Б.М
1178Онищенко П. И.М
1056Онищенко Т. И.М
1065Корзун А. И.Ж
1131Корзун А. П.М
1061Корзун Л. А.М
1217Корзун П. А.Ж
1202Зельдович М. А.М
1027Лемешко Д. А.Ж
1040Лемешко В. А.Ж
1046Месяц К. Г.М
1187Лукина Р. Г.Ж
1093Фокс П. А.Ж
1110Друк Г. Р.Ж

Таблица 2
ID_РодителяID_Ребенка
10271072
10271099
10281072
10281099
10721040
10721202
10721217
10991156
10991178
11101156
11101178
11311040
11311202
11311217
11871061
11871093

5.

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

6.

Ав­то­мат по­лу­ча­ет на вход четырёхзнач­ное число (число не может на­чи­нать­ся с нуля). По этому числу стро­ит­ся новое число по сле­ду­ю­щим пра­ви­лам.

1. Скла­ды­ва­ют­ся от­дель­но пер­вая и вто­рая, вто­рая и тре­тья, тре­тья и четвёртая цифры за­дан­но­го числа.

2. Наи­мень­шая из по­лу­чен­ных трёх сумм уда­ля­ет­ся.

3. Остав­ши­е­ся две суммы за­пи­сы­ва­ют­ся друг за дру­гом в по­ряд­ке не­убы­ва­ния без раз­де­ли­те­лей.

 

При­мер. Ис­ход­ное число: 1984. Суммы: 1 + 9 = 10, 9 + 8 = 17, 8 + 4 = 12. Уда­ля­ет­ся 10. Ре­зуль­тат: 1217.

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

7.

Дан фраг­мент элек­трон­ной таб­ли­цы. Из ячей­ки B2 в одну из ячеек диа­па­зо­на A1:A4 была ско­пи­ро­ва­на фор­му­ла. При ко­пи­ро­ва­нии ад­ре­са ячеек в фор­му­ле ав­то­ма­ти­че­ски из­ме­ни­лись, и чис­ло­вое зна­че­ние в этой ячей­ке стало рав­ным 8. В какую ячей­ку была ско­пи­ро­ва­на фор­му­ла? В от­ве­те ука­жи­те толь­ко одно число — номер стро­ки, в ко­то­рой рас­по­ло­же­на ячей­ка.

 

ABCDE
14321
2= D$3 + $C2432
36543
47654

 

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

8.

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

 

 

БейсикPython

DIM K, S AS INTEGER

S = 1

K = 0

WHILE K < 13

    S = S + 2 * K

    K = K + 4

WEND

PRINT K+S

s = 1

k = 0

while k < 13:

    s += 2*k

    k += 4

print(k+s)

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

var k, s: integer;

begin

       s:=1;

       k:=0;

      while k < 13 do begin

            s:=s+2*k;

             k:=k+4;

       end;

      write(s+k);

end.

алг

нач

    цел k, s

    s := 1

    k := 0

    нц пока k < 13

        s := s + 2 * k

        k := k + 4

    кц

    вывод s+k

кон

Си++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    s = 1, k = 0;

    while (k < 13) {

        s = s + 2 * k;

        k = k + 4;

    }

    cout << s+k << endl;

    return 0;

}

 

9.

Саша ска­чи­ва­ет из сети файл раз­ме­ром 60 Мбайт. Ско­рость пе­ре­да­чи пер­вой по­ло­ви­ны дан­ных со­став­ля­ет 256 Кбит в се­кун­ду, а вто­рой — в два раза мень­ше. Сколь­ко минут будет ска­чи­вать­ся файл?

10.

Игорь со­став­ля­ет таб­ли­цу ко­до­вых слов для пе­ре­да­чи со­об­ще­ний, каж­до­му со­об­ще­нию со­от­вет­ству­ет своё ко­до­вое слово. В ка­че­стве ко­до­вых слов Игорь ис­поль­зу­ет 5-бук­вен­ные слова, в ко­то­рых есть толь­ко буквы A, B, C, X, причём буква X по­яв­ля­ет­ся ровно 1 раз. Каж­дая из дру­гих до­пу­сти­мых букв может встре­чать­ся в ко­до­вом слове любое ко­ли­че­ство раз или не встре­чать­ся со­всем. Сколь­ко раз­лич­ных ко­до­вых слов может ис­поль­зо­вать Игорь?

11.

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

 

Бей­сикPython

SUB F(n)

    IF n > 2 THEN

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

    ELSE

        F = 1

    END IF

END SUB

def F(n):

    if n > 2:

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

    else: return 1

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

function F(n: integer): integer;

begin

    if n > 2 then

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

    else

        F := 1;

end;

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

нач

если n > 2

то

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

иначе

    знач := 1

все

кон

Си

int F(int n)

{

    if (n > 2)

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

    else return 1;

}

 

Чему будет равно зна­че­ние, вы­чис­лен­ное ал­го­рит­мом при вы­пол­не­нии вы­зо­ва F(5)?

12.

Маской подсети называется 32-разрядное двоичное число, которое определяет, какая часть IP-адреса компьютера относится к адресу сети, а какая часть IP-адреса определяет адрес компьютера в подсети. В маске подсети старшие биты, отведенные в IP-адресе компьютера для адреса сети, имеют значение 1; младшие биты, отведенные в IP-адресе компьютера для адреса компьютера в подсети, имеют значение 0.

Если маска подсети 255.255.255.192 и IP-адрес компьютера в сети 10.18.134.220, то номер компьютера в сети равен_____

13.

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

14.

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

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

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

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

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

Цикл

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

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

КОНЕЦ ПОКА

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

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

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

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

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

КОНЕЦ ЕСЛИ

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

 

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

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

 

НА­ЧА­ЛО

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

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

впра­во

КОНЕЦ ПОКА

вниз

КОНЕЦ ПОКА

КОНЕЦ

15.

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

16.

Укажите через запятую в порядке возрастания все десятичные числа, не превосходящие 25, запись которых в двоичной системе счисления оканчивается на 101?

17.

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

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

 

ЗапросНайдено страниц
(в тысячах)
Вебинар50
Информатика80
Ум100
Вебинар|Информатика110
Информатика & Ум30
Вебинар & Информатика & Ум5
Вебинар | Информатика | Ум165

 

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

18.

Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m».

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

 

¬ДЕЛ(x, А) → (ДЕЛ(x, 6) → ¬ДЕЛ(x, 4))

 

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

19.

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

 

Бей­сик Python

s = 27

n = 10

FOR i = 0 TO n-1

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

NEXT i

s = 27

n = 10

for i in range(0,n):

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

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

s := 27

n := 10

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

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

кц

s := 27;

n := 10;

for i:=0 to n-1 do begin

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

end;

Си++

s = 27;

n = 10;

for (i = 0; i <= n-1; i++) {

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

}

 

Из­вест­но, что в на­ча­ле вы­пол­не­ния этого фраг­мен­та в мас­си­ве на­хо­ди­лась воз­рас­та­ю­щая по­сле­до­ва­тель­ность чисел, то есть A[0] < A[1] < … < A[10].

Какое наи­боль­шее зна­че­ние может иметь пе­ре­мен­ная s после вы­пол­не­ния дан­ной про­грам­мы?

20.

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

 

БейсикPython

DIM X, Y, A, B AS INTEGER

A = 10

B = 0

INPUT X

WHILE X > 0

    Y = X MOD 10

    X = X \ 10

    IF Y < A THEN A = Y

    IF Y > B THEN B = Y

WEND

PRINT A

PRINT B

a = 10

b = 0

x = int(input())

while x > 0:

    y = x % 10

    x = x // 10

    if y < a:

        a = y

    if y > b:

        b = y

print(a)

print(b)

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

var x, y, a, b: integer;

begin

    a := 10;

    b := 0;

    readln(x);

    while x > 0 do

        begin

            y := x mod 10;

            x := x div 10;

            if y < a then

                a := y;

            if y > b then

                b := y;

        end;

writeln(a);

writeln(b)

end.

алг

нач

цел x, y, a, b

a := 10

b := 0

ввод x

нц пока x > 0

    y := mod(x, 10)

    x := div(x, 10)

    если y < a

        то a := y

    все

    если y > b

        то b := y

    все

кц

вывод a, нс, b

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, y, a, b;

    a = 10;

    b = 0;

    cin >> x;

    while (x > 0)

    {

        y = x % 10;

        x = x / 10;

        if (y < a)

            a = y;

        if (y > b)

            b = y;

    }

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

}

 

21.

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

 

БейсикPython

DIM K, I AS LONG

INPUT K

I = 1

WHILE F(I) <= K*G(I)

  I = I + 1

WEND

PRINT I

 

FUNCTION F(N)

  F = N * N * N

END FUNCTION

 

FUNCTION G(N)

  G = N * N

END FUNCTION

def f(n):

  return n*n*n

 

def g(n):

  return n*n

 

k = int(input())

i = 1

while f(i) <= k*g(i):

  i += 1

print (i)

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

var

  k, i : longint;

 

function f(n: longint): longint;

begin

  f := n * n * n;

end;

 

function g(n: longint): longint;

begin

  g := n*n;

end;

 

begin

  readln(k);

  i := 1;

  while f(i) <= k*g(i) do

    i := i+1;

  writeln(i)

end.

алг

нач

  цел i, k

  ввод k

  i := 1

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

    i := i + 1

  кц

  вывод i

кон

 

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

нач

  знач := n * n * n

кон

 

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

нач

  знач := n * n

кон

Си++

#include <iostream>

using namespace std;

long f(long n) {

  return n * n * n;

}

 

long g(long n) {

  return n*n;

}

 

int main()

{

  long k, i;

  cin >> k;

  i = 1;

  while (f(i) <= k*g(i))

    i++;

  cout << i << endl;

  return 0;

}

 

22.

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

 

1. прибавь 2,

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

 

Первая из них увеличивает число на экране на 2, вторая — увеличивает его в 5 раз.

Программа для Калькулятора — это последовательность команд.

Сколько есть программ, которые число 2 преобразуют в число 50?

23.

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

 

(x1 ∨ x2) ∧ ((x1 ∧ x2) →x3) ∧ ¬ (x1 ∧ y1) = 1

(x2 ∨ x3) ∧ ((x2 ∧ x3) →x4) ∧ ¬ (x2 ∧ y2) = 1

...

(x5 ∨ x6) ∧ ((x5 ∧ x6) →x7) ∧ ¬ (x5 ∧ y5) = 1

(x6 ∨ x7) ∧ ¬(x6 ∧ y6) = 1

x7 ∧ y7 = 0

 

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

24.

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

 

 

Бей­сикPython

CONST n = 4

count = 0

maximum = 1000

FOR I = 1 TO n

  INPUT x

    IF x mod 2 = 0 THEN

      count = count + 1

    IF x > maximum THEN

      maximum = I

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

        count += 1

        if x > maximum:

            maximum = i

if count > 0:

    print (count)

    print (maximum)

else:

    print ("NO")

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

алг

нач

  цел n = 4

  цел i, x

  цел maximum, count

  count := 0

  maximum := 1000

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

    ввод x

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

      count := count + 1

      если x > maximum то

        maximum := i

      все

    все

  кц

  если count > 0 то

    вывод count, нс

в    ывод maximum

  иначе

    вывод "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 2 = 0 then

    begin

      count := count + 1;

      if x > maximum then

          maximum := i

    end

  end;

  if count > 0 then

  begin

    writeln(count);

    writeln(maximum)

  end

  else

    writeln('NO')

end.

Си++

#include <iostream>

using namespace std;

#define n 4

int main(void)

{

  int i, x;

  int maximum, count;

  count = 0;

  maximum = 1000;

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

  {

    cin >> x;

    if (x % 2 == 0)

    {

      count++;

      if (x > maximum)

        maximum = i;

    }

  }

  if (count > 0)

  {

    cout << count << endl;

    cout << maximum << endl;

  }

  else

    cout << "NO\n";

}

 

 

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

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

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

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

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

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

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

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

 

При­ме­ча­ние. 0 – чётное число.

25.

Дан массив, содержащий 2015 неотрицательных целых чисел. Ямой называется не крайний элемент массива, который меньше обоих своих соседей. Необходимо найти в массиве самую глубокую яму, то есть яму, значение которой минимально. Если в массиве нет ни одной ямы, ответ считается равным 0.

Например, в массиве из шести элементов, равных соответственно 4, 9, 2, 17, 3, 8, есть две ямы – 2 и 3, самая глубокая яма – 2.

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

 

БейсикPython

CONST N=2015

DIM A(N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

   INPUT A(I)

NEXT I

END

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

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

// переменных j, k

a = []

n = 2015 // менять значение n

нельзя

for i in range(0, n):

a.append(int(input()))

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

const

N=2015;

var

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

i, j, k: integer;

begin

for i:=1 to N do

readln(a[i]);

end.

алг

нач

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

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

цел i, j, k

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

ввод a[i]

кц

кон

Си++

#include <iostream>

using namespace std;

#define N 2015

int main(){

int a[N];

int i, j, k;

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

cin >> a[i];

return 0;

}

 

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

26.

Два иг­ро­ка, Петя и Ваня, иг­ра­ют в сле­ду­ю­щую игру. Перед ними лежат две кучки кам­ней, в пер­вой из ко­то­рых 4, а во вто­рой - 3 камня. У каж­до­го иг­ро­ка не­огра­ни­чен­но много кам­ней. Иг­ро­ки ходят по оче­ре­ди, пер­вый ход де­ла­ет Петя. Ход со­сто­ит в том, что игрок или утра­и­ва­ет число кам­ней в какой-то куче, или до­бав­ля­ет 1 ка­мень в какую-то кучу. Игра за­вер­ша­ет­ся в тот мо­мент, когда общее ко­ли­че­ство кам­ней в двух кучах ста­но­вит­ся не менее 20. Если в мо­мент за­вер­ше­ния игры общее число кам­ней в двух кучах не менее 35, то вы­иг­рал Ваня, в про­тив­ном слу­чае - Петя. Кто вы­иг­ры­ва­ет при без­оши­боч­ной игре обоих иг­ро­ков? Ука­жи­те, стра­те­гию вы­иг­ры­ва­ю­ще­го иг­ро­ка - какой ход он дол­жен сде­лать в каж­дой из по­зи­ций, ко­то­рые могут ему встре­тить­ся при пра­виль­ной игре. До­ка­жи­те, что опи­сан­ная стра­те­гия - вы­иг­рыш­ная.

27.

Дед Мороз и Сне­гу­роч­ка при­хо­дят на дет­ские утрен­ни­ки с меш­ком кон­фет. Дед Мороз делит кон­фе­ты по­ров­ну между всеми при­сут­ству­ю­щи­ми детьми (детей на утрен­ни­ке ни­ко­гда не бы­ва­ет боль­ше 100), а остав­ши­е­ся кон­фе­ты от­да­ет Сне­гу­роч­ке. Сне­гу­роч­ка каж­дый раз за­пи­сы­ва­ет в блок­нот ко­ли­че­ство по­лу­чен­ных кон­фет. Если кон­фе­ты раз­де­ли­лись между всеми детьми без остат­ка, Сне­гу­роч­ка ни­че­го не по­лу­ча­ет и ни­че­го не за­пи­сы­ва­ет. Когда утрен­ни­ки за­кон­чи­лись, Деду Мо­ро­зу стало ин­те­рес­но, какое число чаще всего за­пи­сы­ва­ла Сне­гу­роч­ка. Дед Мороз и Сне­гу­роч­ка — вол­шеб­ные, по­это­му число утрен­ни­ков N, на ко­то­рых они по­бы­ва­ли, может быть очень боль­шим. На­пи­ши­те про­грам­му, ко­то­рая будет ре­шать эту за­да­чу. Перед тек­стом про­грам­мы крат­ко опи­ши­те ал­го­ритм ре­ше­ния за­да­чи и ука­жи­те ис­поль­зу­е­мый язык про­грам­ми­ро­ва­ния и его вер­сию.

 

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

 

За­да­ние А. Име­ет­ся набор чисел, со­сто­я­щий из 10 пар по­ло­жи­тель­ных целых чисел. В этом ва­ри­ан­те за­да­ния оце­ни­ва­ет­ся толь­ко пра­виль­ность про­грам­мы, время ра­бо­ты и раз­мер ис­поль­зо­ван­ной па­мя­ти не имеют зна­че­ния.

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

 

За­да­ние Б. Име­ет­ся набор дан­ных, со­сто­я­щий из пар по­ло­жи­тель­ных целых чисел. По­ста­рай­тесь сде­лать про­грам­му эф­фек­тив­ной по вре­ме­ни и ис­поль­зу­е­мой па­мя­ти (или хотя бы по одной из этих ха­рак­те­ри­стик).

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

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

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

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

 

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

В пер­вой стро­ке вво­дит­ся одно целое по­ло­жи­тель­ное число — ко­ли­че­ство утрен­ни­ков N. Каж­дая из сле­ду­ю­щих N строк со­дер­жит два целых числа: сна­ча­ла D — ко­ли­че­ство при­шед­ших на оче­ред­ной утрен­ник детей, а затем K – ко­ли­че­ство кон­фет в мешке Деда Мо­ро­за на этом утрен­ни­ке. Га­ран­ти­ру­ет­ся вы­пол­не­ние сле­ду­ю­щих со­от­но­ше­ний:

1 ≤ N ≤ 10000

1 ≤ D ≤ 100 (для каж­до­го D)

D ≤ K ≤ 1000 (для каж­дой пары D, K)

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

Про­грам­ма долж­на вы­ве­сти одно число — то, ко­то­рое Сне­гу­роч­ка за­пи­сы­ва­ла чаще всего. Если не­сколь­ко чисел за­пи­сы­ва­лись оди­на­ко­во часто, надо вы­ве­сти боль­шее из них. Если Сне­гу­роч­ка ни разу ни­че­го не за­пи­сы­ва­ла, надо вы­ве­сти ноль.

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

7

10 58

15 315

20 408

100 1000

32 63

32 63

11 121

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

31