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

1.

Сколь­ко вер­ных не­ра­венств среди пе­ре­чис­лен­ных:

 

100110102 > 25610;

100110102 > 9F16;

100110102 > 2328.

2.

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

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

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

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
????????????F
000
000
0000

 

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

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

 

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

 

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

3.

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

 

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

4.

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

 

Таб­ли­ца 1
IDФа­ми­лия И.О.ПолГод рож­де­ния
127Гри­щен­ко А.В. М1936
148Гри­щен­ко Д.И. М1998
182 Гри­щен­ко Е.П. Ж1940
212Гри­щен­ко И.А. М1970
243 Гри­щен­ко Н.Н. Ж1976
254Клейн А.Б. М1984
314Клейн Е.А. Ж2009
412 Клейн М.А. Ж2011
543Пань­ко О.А. Ж1948
544 Пет­ров В.И. М1961
545 Пет­ров О.В. М1991
750 Пет­ро­ва А.Е. Ж1962
830 Седых А.Н. Ж1980
849Седых Н.Н. М1943

Таб­ли­ца 2
ID Ро­ди­те­ляID Ре­бен­ка
127 212
182212
212148
243148
254314
254412
543243
543830
544545
750545
830314
830412
849243
849830

5.

Для 5 букв латинского алфавита заданы их двоичные коды (для некоторых букв — из двух бит, для некоторых — из трех). Эти коды представлены в таблице:

 

abcde
1001100110110

 

Какой набор букв закодирован двоичной строкой 1000110110110? Все буквы в последовательности — разные.

6.

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

 

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

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

 

Пример. Исходное число: 9575. Суммы: 9 + 5 = 14; 5 + 7 = 12; 7 + 5 = 12. Наибольшие суммы: 14, 12. Результат: 1214.

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

7.

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

 

ABC
134
2=(A1 + B1+2)/(C1 – B1)=( 2*C1 – 2)/ A1=B1*C1/(B1 – A1)

 

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

8.

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

 

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

Dim s, k As Integer

s = 0

k = 1

while k < 11

    s = s + k

    k = k + 1

End While

Console.Write(s)

var s, k : integer;

begin

    s:=0;

    k:=1;

    while k<11 do

    begin

        s:=s+k;

        k:=k+1;

    end;

    write(s);

end.

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

#include <iostream>

using namespace std;

 

int main(){

    int s, k;

    s = 0;

    k = 1;

    while (k < 11) {

        s = s + k;

        k = k + 1;

    }

    cout « s « endl;

}

нач

цел s, k

s:=0

k:=1

нц пока k < 11

    s:=s+k; k:=k+1

кц

вывод s

кон

Python

s = 0

k = 1

while k < 11:

    s += k

    k += 1

print(s)

 

9.

Гра­фи­че­ский файл с раз­ре­ше­ни­ем 1024х600 на жест­ком диске за­ни­ма­ет не более 120 КБайт. Опре­де­ли­те мак­си­маль­ное ко­ли­че­ство цве­тов, ко­то­рое может ис­поль­зо­вать­ся для ко­ди­ро­ва­ния дан­но­го изоб­ра­же­ния.

10.

Все 5-буквенные слова, составленные из букв Л, Н, Р, Т, записаны в алфавитном порядке. Вот начало списка:

 

1. ЛЛЛЛЛ

2. ЛЛЛЛН

3. ЛЛЛЛР

4. ЛЛЛЛТ

5. ЛЛЛНЛ

 

Запишите слово, которое стоит на 150-м месте от начала списка.

11.

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

 

БейсикPython

SUB F(n)

    PRINT n

    IF n > 1 THEN

        F(n - 1)

        F(n - 3)

    END IF

END SUB

def F(n):

    print(n)

    if n > 1:

        F(n - 1)

        F(n - 3)

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

procedure F(n: integer);

    begin

        writeln(n);

        if n > 1 then

            begin

                F(n - 1);

                F(n - 3)

            end

    end

алг F(цел n)

нач

вывод n, нс

если n > 1 то

    F(n - 1)

    F(n - 3)

все

кон

C++

void F(int n)

{

    cout << n;

    if (n > 1)

    {

        F(n - 1);

        F(n - 3);

    }

}

 

Чему равна сумма всех чисел, напечатанных на экране при выполнении вызова F(6)?

12.

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

13.

Ав­то­ма­ти­че­ское устрой­ство осу­ще­стви­ло ав­то­ма­ти­че­скую пе­ре­ко­ди­ров­ку ин­фор­ма­ци­он­но­го со­об­ще­ния на рус­ском языке из 16-бит­но­го пред­став­ле­ния Unicode в 8-бит­ную ко­ди­ров­ку КОИ при этом ин­фор­ма­ци­он­ное со­об­ще­ние умень­ши­лось на 240 бит. Ка­ко­ва длина со­об­ще­ния в сим­во­лах?

14.

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

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

Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды

заменить (111, 27)

преобразует строку 05111150 в строку 0527150.

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

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

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

Цикл

  ПОКА условие

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

  КОНЕЦ ПОКА

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

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

  ЕСЛИ условие

    ТО команда1

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

  КОНЕЦ ЕСЛИ

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

 

Ниже приведена программа для исполнителя Редактор.

НАЧАЛО

ПОКА нашлось (722) ИЛИ нашлось (557)

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

    ТО заменить (722, 57)

    ИНАЧЕ заменить (557, 72)

  КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

 

На вход этой программе подается строка, состоящая из 55 цифр; последняя цифра в строке — цифра 7, а остальные цифры — пятёрки. Какая строка получится в результате применения программы к этой строке? В ответе запишите полученную строку.

15.

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

16.

Укажите через запятую в порядке возрастания все основания систем счисления, в которых запись числа 71 оканчивается на 13.

17.

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

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

не­ко­то­ро­го сег­мен­та сети Ин­тер­нет.

 

За­просНай­де­но стра­ниц, тыс.
Гер­ма­ния & (Литва & Лат­вия | Эс­то­ния)350
Гер­ма­ния & Эс­то­ния204
Гер­ма­ния & Литва & Лат­вия & Эс­то­ния96

 

Какое ко­ли­че­ство стра­ниц (в тыс.) будет най­де­но по за­про­су

 

Гер­ма­ния & Литва & Лат­вия?

 

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

18.

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

 

ДЕЛ(x, А) → (ДЕЛ(x, 21) + ДЕЛ(x, 35))

 

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

(М. В. Кузнецова)

19.

В программе используется одномерный целочисленный массив A с индексами от 0 до 10. Значения элементов равны 8, 3, 16, 24, 35, 18, 4, 72, 8, 99, 44 соответственно, т. е. A[0] = 8, A[1] = 3 и т. д.

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

 

БейсикPython

c = 0

FOR i = 1 TO 9

  IF A(i) MOD 10 = A(0) THEN

    c = c + 1

    t = A(i+1)

    A(i+1) = A(i)

    A(i) = t

  END IF

NEXT i

c = 0

for i in range(1,10):

  if A[i]%10 == A[0]:

    c = c + 1

    t = A[i+1]

    A[i+1] = A[i]

    A[i] = t

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

c := 0;

for i := 1 to 9 do begin

if A[i] mod 10 = A[0] then

  begin

    c := c + 1;

    t := A[i+1];

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

    A[i] := t;

  end;

end;

c := 0

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

  если mod(A[i],10) = A[0] то

    c := c + 1

    t := A[i+1]

    A[i+1] := A[i]

    A[i] := t

  все

кц

Си++

c = 0;

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

  if (A[i]%10 == A[0]) {

    c++;

    t = A[i+1];

    A[i+1] = A[i];

    A[i] = t;

  }

}

 

20.

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

 

БейсикPython

DIM X,S,D,R AS LONG

INPUT X

S = X

R = 0

WHILE X > 0

  D = X MOD 2

  R = 10*R + D

   X = X \ 2

WEND

S = R + S

PRINT S

x = int(input())

S = x;

R = 0

while x > 0:

   d = x % 2

   R = 10*R + d

  x=x / / 2

S = R + S

print(S)

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

var x,d,R,S: longint;

begin

     readln(x);

     S := x;

     R := 0;

     while x > 0 do

     begin

       d := x mod 2

       R := 10*R + d;

       x := x div 2

     end;

     S := R + S

     writeln(s);

end.

алг

нач

     цел x, d, R, S

     ввод x

     S := x

     R := 0

     нц пока x > 0

         d := mod(x, 2)

         R := 10*R + d

         x := div(x, 2)

     кц

     S := R + S

    вывод S

кон

Си++

#include <iostream>

using namespace std;

int main()

{

     long x,d,R,S;

     cin >> x;

     S = x;

     R = 0;

     while (x > 0){

         d = x % 2;

         R = 10*R + d;

         x = x / 2;

       }

     S = R + S

     cout << S << endl;

    return 0;

}

 

21.

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

 

Бей­сикPython

DIM A, B, N, t AS INTEGER

A = -100: B = 100

N = 0

FOR t = A TO B

    IF F(t) <= 0 THEN

        N = N + 1

    END IF

NEXT t

PRINT N

 

FUNCTION F (x)

    F = (x - 16)*(x + 25)

END FUNCTION

def f(x):

    return (x - 16)*(x + 25)

 

a = -100

b = 100

n = 0

 

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

    if f(t) <= 0:

        n = n + 1

print(n)

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

var a, b, N, t: integer;

Function F(x: integer):integer;

    begin

        F := (x - 16)*(x + 25)

    end;

begin

    a := -100; b := 100;

    N := 0;

    for t := a to b do begin

        if (F(t) <= 0) then

            N := N + 1

    end;

    write(N)

end.

алг

нач

    цел a, b, N, t

    a := -100; b := 100

    N := 0

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

        если F(t) <= 0

            то

                N := N + 1

        все

    кц

    вывод N

кон

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

нач

    знач := (x - 16)*(x + 25)

кон

Си++

#include <iostream>

using namespace std;

int F(int x) {

    return (x - 16)*(x + 25);

}

 

int main() {

    int a, b, N, t;

    a = -100; b = 100;

    N = 0;

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

        if (F(t) <= 0) {

            N++;

        }

    }

    cout « N « endl;

}

 

22.

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

 

1. прибавь 1

2. сделай нечётное

 

Первая из этих команд увеличивает число x на экране на 1, вторая переводит число x в число 2x+1. Например, вторая команда переводит число 10 в число 21. Программа для исполнителя НечетМ – это последовательность команд. Сколько существует таких программ, которые число 1 преобразуют в число 27, причём траектория вычислений не содержит число 26? Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы 121 при исходном числе 7 траектория будет состоять из чисел 8, 17, 18.

23.

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

 

¬(x1 ≡ x2) ∧ (x1 ∨ x3) ∧ (¬x1 ∨ ¬x3) = 0

¬(x2 ≡ x3) ∧ (x2 ∨ x4) ∧ (¬x2 ∨ ¬x4) = 0

...

¬(x8 ≡ x9) ∧ (x8 ∨ x10) ∧ (¬x8 ∨ ¬x10) = 0

 

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

24.

Дано на­ту­раль­ное число N, не пре­вос­хо­дя­щее 108. Не­об­хо­ди­мо найти и вы­ве­сти число, ко­то­рое по­лу­чит­ся при за­пи­си N спра­ва на­ле­во и уда­ле­нии всех еди­ниц. Ве­ду­щие нули вы­во­дить не надо. Если в числе N нет цифр кроме еди­ниц и нулей, не­об­хо­ди­мо вы­ве­сти 0. На­при­мер, при вводе числа 1984 нужно вы­ве­сти 489, а при вводе 2001 нужно вы­ве­сти 2. Для ре­ше­ния этой за­да­чи уче­ник на­пи­сал такую про­грам­му:

 

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

DIM N, M AS LONG

DIM D AS INTEGER

INPUT N

M = 0

WHILE N>=1

D = N MOD 10

IF D>1 THEN

M = 10*D + M

END IF

N = (N – D) \ 10

WEND

PRINT M

END

var n, m: longint;

d: integer;

begin

read(n);

m := 0;

while n>=1 do begin

d := n mod 10;

if d > 1 then begin

m := 10*d + m;

end;

n := (n – d) div 10;

end;

write(m);

end.

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

#include <iostream>

using namespace std;

int main(){

long int n, m;

int d;

cin >> n;

m = 0;

while (n>=1) {

d = n%10;

if (d>1) {

m = 10*d + m;

}

n = (n – d) / 10;

}

cout << m;

}

алг

нач

цел n, m

цел d

ввод n

m := 0

нц пока n>=1

d := mod(n,10)

если d>1 то

m := 10*d + m

все

n := div(n-d,10)

кц

вывод m

кон

Python

n = int(input())

m = 0

while n >= 1:

    d = n %10;

    if d > 1:

        m = 10*d + m

    n = (n – d) // 10

print(m)

 

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

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

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

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

 

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

25.

Дан целочисленный квадратный массив 10 x 10. Опишите на русском языке или на одном из языков программирования алгоритм вычисления суммы максимальных элементов из каждой строки. Напечатать значение этой суммы. Предполагается, что в каждой строке элемент единственный.

26.

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

 

Ответ обоснуйте.

27.

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

 

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

 

Задание А. Имеется набор данных, состоящий из 10 пар координат.

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

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

 

Задание Б. Имеется набор данных, состоящий из пар координат. Пар может быть много.

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

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

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

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

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

 

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

В первой строке вводится одно целое положительное число — количество точек N. Каждая из следующих N строк содержит два целых числа: сначала координата x, затем координата y очередной точки.

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

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

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

6

0 0

2 0

0 2

3 -3

5 -5

6 6

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

11

 

Рассматривайте только четырёхугольники со сторонами лежащими не на оси Ox.

 

Комментарий.

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