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

1.

Сколько существует целых чисел x, для которых выполняется неравенство 2A16 < x < 618?

В ответе укажите только количество чисел, сами числа писать не нужно.

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.

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

 

ABCDEFG
A26
B253
C518
D63197
E95
F77
G857

 

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

4.

Во фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите, сколько всего родных братьев и сестёр есть у Жук М. Б.

 

Таблица 1
IDФамилия_И.О.Пол
1674Жук М.Б.Ж
1702Баль А.П.М
1769Черняк И.Б.М
1834Ререх А.И.Ж
2046Черняк П.И.М
2060Радек П.А.Ж
2094Черняк Б.Ф.М
2192Чиж Д.К.Ж
2425Рерих Л.А.Ж
2435Черняк А.Б.Ж
2607Малеев К.Г.М
2679Баль П.А.М
2816Черняк Т.И.Ж
2946Панина Р.Г.Ж
2968Тесленко Г.Р.Ж
2998Рерих В.И.Ж

Таблица 2
ID_РодителяID_Ребенка
17022679
17692046
17692816
17692997
20941674
20941769
20942435
21921674
21921769
21922435
24352679
29682997
29682046
29682816
29972060
29972425

5.

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

6.

Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика:

Вперед 5 – Кузнечик прыгает вперёд на 5 единиц,

Назад 3 – Кузнечик прыгает назад на 3 единицы.

Какое наименьшее количество раз должна встретиться в программе команда «Назад 3», чтобы Кузнечик оказался в точке 21?

7.

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

 

ABC
12=A1+1
2=C1-B1=(3*B1+C1)/3=B2+A1

 

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

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.

Каково время (в минутах) передачи полного объема данных по каналу связи, если известно, что передано 150 Мбайт данных, причем первую половину времени передача шла со скоростью 2 Мбит в секунду, а остальное время — со скоростью 6 Мбит в секунду?

10.

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

11.

Ниже на пяти языках программирования записана рекурсивная функция (процедура) F.

 

БейсикPython

SUB F(n)

  PRINT n,

  IF n >= 3 THEN

    F(n - 1)

    F(n - 3)

  END IF

END SUB

def F(n):

    print(n)

    if n >= 3:

        F(n - 1)

        F(n - 3)

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

procedure F(n: integer);

begin

  write(n);

  if n >= 3 then

  begin

    F(n - 1);

    F(n - 3)

  end

end;

алг F(цел n)

нач

  вывод n

  если n >= 3 то

    F(n - 1)

    F(n - 3)

  все

кон

Си

void F(int n) {

    cout « n « endl;

    if (n >= 3) {

        F(n - 1);

        F(n - 3);

    }

}

 

 

Что выведет программа при вызове F(5)? В ответе запишите последовательность выведенных цифр слитно (без пробелов).

12.

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

13.

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

14.

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

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

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

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

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

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

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

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

 

Цикл

ПОКА условие

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

КОНЕЦ ПОКА

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

 

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

 

НАЧАЛО

    ПОКА нашлось (11111)

        заменить (222, 1)

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

    КОНЕЦ ПОКА

КОНЕЦ

15.

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

 

16.

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

 

17.

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

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

 

ЗапросНайдено страниц
(в тысячах)
(Суворов & Альпы) | (Суворов & Варшава)1100
Суворов & Варшава600
Суворов & Варшава & Альпы50

 

 

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

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

18.

Элементами множеств А, P, Q являются натуральные числа, причём P = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}, Q = {3, 6, 9, 12, 15, 18, 21, 24, 27, 30}.

Известно, что выражение

((x A) → (x P)) ∨ (¬(x Q) → ¬(x A))

истинно (т. е. принимает значение 1) при любом значении переменной х.

Определите наибольшее возможное количество элементов в множестве A.

19.

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

 

БейсикPython

i = 0: j = 9

WHILE A(i) < 10

    i = i + 1

WEND

WHILE A(j) > 10

    j = j - 1

WEND

t = A(i) - A(j)

i = 0

j = 9

while A[i] < 10 :

     i += 1

while A[j] > 10 :

     j -= 1

t = A[i] - A[j]

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

i = 0; j = 9;

while A[i] < 10 do

  i := i + 1;

while A[j] > 10 do

  j := j - 1;

t := A[i] - A[j];

i := 0

j := 9

нц пока A[i] < 10

   i := i + 1

кц

нц пока A[j] > 10

  j :=j - 1

кц

t := A[i] - A[j]

Си++

i = 0;

j = 9;

while (A[i] < 10) {

  i += 1;

}

while (A[j] > 10) {

  j -= 1;

}

t = A[i] - A[j];

 

20.

Ниже на пяти языках программирования записан алгоритм. Получив на вход число x, этот алгоритм печатает число M. Известно, что x > 150. Укажите наименьшее такое (т. е. большее 150) число x, при вводе которого алгоритм печатает 30.

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 2*X-30

M = 2*X+30

WHILE L <> M

  IF L > M THEN

    L = L - M

  ELSE

    M = M - L

  END IF

WEND

PRINT M

x = int(input())

L = 2*x-30

M = 2*x+30

while L != M:

  if L > M:

    L = L - M

  else:

    M = M - L

print(M)

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

var x, L, M: integer;

begin

  readln(x);

  L := 2*x-30;

  M := 2*x+30;

  while L <> M do begin

    if L > M then

      L := L - M

    else

      M := M - L;

  end;

  writeln(M);

end.

алг

нач

    цел x, L, M

    ввод x

    L := 2*x-30

    M := 2*x+30

    нц пока L <> M

      если L > M

        то

          L := L - M

        иначе

          M := M - L

      все

    кц

    вывод M

кон

Си++

#include <iostream>

using namespace std;

int main()

{

    int x, L, M;

    cin >> x;

    L = 2*x-30;

    M = 2*x+30;

    while (L != M) {

      if (L > M)

        L = L - M;

      else

        M = M - L;

    }

    cout « M « endl;

    return 0;

}

 

21.

Определите число различных значений входной переменной k, при которых программа выдаёт тот же ответ, что и при входном значении k = 8. Значение k = 8 также включается в подсчёт различных значений k. Для Вашего удобства программа приведена на пяти языках программирования.

 

БейсикPython

    DIM K, I AS LONG

    INPUT K

    I = 12

    WHILE I > 0 AND F(I) > K

        I = I − 1

    WEND

    PRINT I

 

    FUNCTION F(N)

        F = N * N * N

    END FUNCTION

def F(n):

    return n * n * n

 

k = int(input())

i = 12

while (i > 0 and F(i) > k):

    i = i − 1

print (i)

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

var k, i :longint;

function F(n: longint) : longint;

begin

    F := n * n * n;

end;

 

begin

     readln(k);

     i := 12;

    while (i > 0) and (F(i) > k) do

         i := i − 1;

    writeln(i);

end.

алг

нач

    цел i, k

    ввод k

    i := 12

    нц пока i > 0 и f(i) > k

        i := i − 1

    кц

    вывод i

кон

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

нач

    знач := n * n * n

кон

Си++

#include <iostream>

using namespace std;

 

long F(long n)

{

    return n * n * n

}

 

int main()

{

    int k, i;

    cin >> k;

    i = 12;

    while (i > 0 && F(i) > k)

        i−−

    cout << i;

return 0;

}

 

22.

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

    1. Прибавь 3

    2. Прибавь 4

    3. Прибавь 5

Первая из них увеличивает число на экране на 3, вторая увеличивает это число на 4, а третья – на 5. Программа для исполнителя Увеличитель345 – это последовательность команд.

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

23.

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

(x1→x2) ∧ (y1→y2) ∧ (y1→x1) = 1

(x2→x3) ∧ (y2→y3) ∧ (y2→x2) = 1

(x8→x9) ∧ (y8→y9) ∧ (y8→x8) = 1

(y9→x9) = 1

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

24.

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

 

 

БейсикPython

INPUT с, х

IF с>0 THEN

PRINT "нет решений"

ELSE

PRINT "х=",SQR(-с)

или х=",-SQR(-с)

ENDIF

END

c = float(input())

x = float(input())

if c > 0:

    print("нет решений")

else:

    print('х=',sqrt(-с),

' или х=',-sqrt(-с))

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

var с,х: real;

begin

readln (с,х);

if с>0 then

write ('нет решений')

else

write ('х=',sqrt(-с),

' или х=',-sqrt(-с));

end.

алг

нач

    вещ c,x

    если c > 0 то

        вывод 'нет решений'

    иначе

        вывод 'х=',sqrt(-с),

' или х=',-sqrt(-с)

    все

кон

Си++

#include <iostream>

using namespace std;

int main(void)

{ float c,x;

cin >> c >> x;

if (c>0)

cout << "нет решений";

else

cout << ""х="" << sqrt(-с) << " или х=" << -sqrt(-с)) << endl;

}

 

 

Последовательно выполните три задания:

1) Приведите пример таких чисел с, х, при которых программа неверно решает поставленную задачу.

2) Укажите, какая часть программы является лишней.

3) Укажите, как нужно доработать программу, чтобы не было случаев ее некорректной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).

25.

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

26.

Два игрока, Паша и Вася, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Паша. За один ход игрок может добавить в кучу один или четыре камня или увеличить количество камней в куче в пять раз. Игра завершается в тот момент, когда количество камней в куче становится не менее 69. Победителем считается игрок, сделавший последний ход, то есть первым получивший кучу, в которой будет 69 или больше камней. В начальный момент в куче было S камней, 1 ≤ S ≤ 68.

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

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

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

27.

На вход программе подается последовательность целых чисел. В первой строке сообщается количество чисел N, во второй строке идут сами числа.

Требуется написать программу, которая будет выводить на экран числа в следующем порядке:

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

 

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

 

Задание А. Имеется набор данных, состоящий из N = 20 пар целых чисел.

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

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

 

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

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

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

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

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

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