В начало страницы

Вариант «ЕГЭ по информатике 30.05.2013. Основная волна. Урал. Вариант 1» (ОСН-2013)

Список тем

1, Д1, 3, 5, 6, 7, Д7, Д7, 8, 8, Д8, Д9, Д10, 11, Д11, 12, Д12, Д12, 13, 14, Д15, 16, Д17, Д17, Д18, Д21, Д21, Д21, 22, 23, Д23, Д23, Д24 C1, Д24 C1, Д24 C1, Д24 C1, Д25, Д25 C2, Д26 C3, Д27 C4, 0

Задания

Задание 1 (тема 1, №5473)

Текст задания

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

 

ABCDEF
A34720
B35
C44
D754511
E54
F20114

 

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

Задание Д1 (тема Д1, №5472)

Текст задания

Дано  A = EA16,  B = 3548. Какое из чисел C, записанных в двоичной системе, отвечает условию A < C < B?

 

1) 111011002

2) 111010112

3) 111010102

4) 111011102

Задание 3 (тема 3, №5477)

Текст задания

Ниже представлены две таблицы из базы данных. Каждая строка таблицы 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

Задание 5 (тема 5, №5485)

Текст задания

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

 

1. прибавь 2,

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

 

Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, умножает его на 5. Запишите порядок команд в программе, которая преобразует число 2 в число 16 и содержит не более 4 команд. Указывайте лишь номера команд.

 

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

 

умножь на 5,

прибавь 2,

умножь на 5,

прибавь 2.

 

Эта программа преобразует число 1 в число 37.)

Задание 6 (тема 6, №5489)

Текст задания

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

 

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

DIM N, S AS INTEGER

N = 0

S = 0

WHILE S <= 325

    S = S + 10

    N = N + 3

WEND

PRINT N

var n, s: integer;

begin

    n : = 0;

    s : = 0;

    while s <= 325 do

    begin

        s : = s + 10;

        n : = n + 3

    end;

    write(n)

end.

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

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 0;

    s = 0;

    while (s <= 325)

    {

        s = s + 10;

        n = n + 3;

    }

    cout « n « endl;

}

алг

нач

цел n, s

    n : = 0

    s : = 0

    нц пока s <= 325

        s : = s + 10

        n : = n + 3

    кц

вывод n

кон

Python

n = 0

s = 0

while s <= 325:

    s += 10

    n += 3

print(n)

 

Задание 7 (тема 7, №5494)

Текст задания

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

 

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

 

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

 

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

 

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

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

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

 

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

Задание Д7.1 (тема Д7, №5475)

Текст задания

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

 

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

 

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

adob.dat

adob.data

dos.dat

pardon.dat

odor.dat

radost.dat

 

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

adob.dat

dos.dat

pardon.dat

odor.dat

 

1) *do?.dat

2) *do?.dat?

3) *?do?*.*?dat?*

4) ?do*.dat

Задание Д7.2 (тема Д7, №5487)

Текст задания

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

 

ABC
122
2=B2=(B1-2)/A1=B2+C1

 

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

 

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

Задание 8.1 (тема 8, №5488)

Варианты

Текст задания

Для передачи аварийных сигналов договорились использовать специальные цветные сигнальные ракеты, запускаемые последовательно. Одна последовательность ракет — один сигнал; в каком порядке идут цвета — существенно. Какое количество различных сигналов можно передать при помощи запуска ровно четырёх таких сигнальных ракет, если в запасе имеются ракеты пяти различных цветов (ракет каждого вида неограниченное количество, цвет ракет в последовательности может повторяться)?

Задание 8.2 (тема 8, №5712)

Варианты

Текст задания

Для передачи аварийных сигналов договорились использовать специальные цветные сигнальные ракеты, запускаемые последовательно. Одна последовательность ракет — один сигнал; в каком порядке идут цвета — существенно. Какое количество различных сигналов можно передать при помощи запуска ровно четырёх таких сигнальных ракет, если в запасе имеются ракеты пяти различных цветов (ракет каждого вида неограниченное количество, цвет ракет в последовательности может повторяться)?

Задание Д8 (тема Д8, №5480)

Текст задания

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

 

 

А — 11010, Б — 10111, В — 01101.

 

 

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

 

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

 

1) АххБ

2) АВхБ

3) хххх

4) АВББ

Задание Д9 (тема Д9, №5476)

Текст задания

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

 

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

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

0100100 0001001 0011000

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

0100110 0001100 0011000.

 

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

 

1) 0100110 0000000 0011000

2) 0000000 0001100 0011000

3) 0000000 0000000 0011000

4) 0100110 0001100 0000000

Задание Д10 (тема Д10, №5478)

Текст задания

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

 

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

 

ABCDE
114151617
21428293031
31529303132
41630313233
51731323334

 

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

 

1) =$Е1+А$2

2) =Е1+А2

3) =Е$1+А$2

4) =Е$1+$А2

Задание 11 (тема 11, №5482)

Текст задания

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

Задание Д11 (тема Д11, №5479)

Текст задания

Производится четырёхканальная (квадро) звукозапись с частотой дискретизации 64 кГц и 32-битным разрешением. Запись длится 1 минуту, её результаты записываются в файл, сжатие данных не производится. Какая из приведённых ниже величин наиболее близка к размеру полученного файла?

 

1) 59 Мбайт

2) 107 Мбайт

3) 157 Мбайт

4) 203 Мбайт

Задание 12 (тема 12, №5484)

Текст задания

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

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

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

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

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

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

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

Цикл

 

ПОКА условие

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

КОНЕЦ ПОКА

 

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

 

ЕСЛИ условие

ТО команда1

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

КОНЕЦ ЕСЛИ

 

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

 

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

 

НАЧАЛО

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

ЕСЛИ справа свободно

ТО вправо

ИНАЧЕ вниз

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

Задание Д12.1 (тема Д12, №5474)

Текст задания

Дан фрагмент таблицы истинности выражения 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

Задание Д12.2 (тема Д12, №5495)

Текст задания

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

 

IP-адрес узла: 130.131.132.128

Маска: 255.255.192.0

 

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

 

ABCDEFGH
064128129130131192255

 

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

 

ABCDEFGH
1281682558127017192

 

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

Задание 13 (тема 13, №5493)

Текст задания

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

 

Задание 14 (тема 14, №5491)

Текст задания

Запишите десятичное число 27 в системе счисления с основанием 4. Основание системы счисления (нижний индекс после числа) писать не нужно.

Задание Д15 (тема Д15, №5481)

Текст задания

На числовой прямой даны два отрезка: Р = [3, 38] и Q = [21, 57]. Выберите из предложенных отрезков такой отрезок А, что логическое выражение

 

((х ∈ Q) → (х ∈ Р)) → ¬(х ∈ A)

 

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

 

1) [6,20]

2) [22,35]

3) [42,55]

4) [20,40]

Задание 16 (тема 16, №5490)

Текст задания

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

 

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

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

 

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

Задание Д17.1 (тема Д17, №5496)

Варианты

Текст задания

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

 

ЗапросНайдено страниц
(в тысячах)
Евклид & Аристотель & Платон120
Евклид & Платон280
Евклид & Аристотель780

 

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

Задание Д17.2 (тема Д17, №5720)

Варианты

Текст задания

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

 

ЗапросНайдено страниц
(в тысячах)
Евклид & Аристотель & Платон120
Евклид & Платон280
Евклид & Аристотель780

 

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

Задание Д18 (тема Д18, №5486)

Текст задания

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

 

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

a = 40

b = 5

a = a - 3 * b

IF a > и THEN

    с = a - b

ELSE

    c = 2 * a - b

ENDIF

a := 40;

b := 5;

a := a - 3 * b;

if a > b then

    с := a - b

else

    c := 2 * a - b;

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

a = 40;

b = 5;

a = a - 3 * b;

if (a > b)

    с = a - b;

else

    с = 2 * a - b;

a := 40

b := 5

a := a - 3 * b

если a > b

    то с := a - b

    иначе с := 2 * a - b

все

Python

a = 40

b = 5

a = a - 3 * b

if a > b:

    с = a - b

else:

    с = 2 * a - b

 

Задание Д21.1 (тема Д21, №5498)

Варианты

Текст задания

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

 

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

DIM А, В, Т, М, R AS INTEGER

А = -13: В = 13 М = A: R=F(А)

FOR Т = А ТО В

    IF F(Т) < R THEN

        М = Т

        R = F (Т)

    END IF

NEXT Т

PRINT M+20

FUNCTION F(x)

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

END FUNCTION

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

    Function F(x:integer):integer;

        begin

            F := (x*x-25)*(x*x-25)+25 end;

begin

    a := -13;

    b := 13;

    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+20)

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

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

}

int main() {

    int a, b, t, M, R;

    a = -13;

    b = 13;

    M = a;

    R = F (a);

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

        if (F(t) < R)

        {

            M = t; R = F(t);

        }

    }

    cout << M+20 << endl;

}

алг

нач

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

а := -13;

b := 13

М := a;

R := F(а)

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

если F(t) < R

то М := t;

R := F(t)

все

кц

вывод М+20

кон

алг

цел Р(цел х)

нач

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

кон

Python

def f(x):

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

a = -13

b = 13

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(M+20)

 

Задание Д21.2 (тема Д21, №5722)

Варианты

Текст задания

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

 

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

DIM А, В, Т, М, R AS INTEGER

А = -13: В = 13 М = A: R=F(А)

FOR Т = А ТО В

    IF F(Т) < R THEN

        М = Т

        R = F (Т)

    END IF

NEXT Т

PRINT M+20

FUNCTION F(x)

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

END FUNCTION

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

    Function F(x:integer):integer;

        begin

            F := (x*x-25)*(x*x-25)+25 end;

begin

    a := -13;

    b := 13;

    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+20)

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

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

}

int main() {

    int a, b, t, M, R;

    a = -13;

    b = 13;

    M = a;

    R = F (a);

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

        if (F(t) < R)

        {

            M = t; R = F(t);

        }

    }

    cout << M+20 << endl;

}

алг

нач

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

а := -13;

b := 13

М := a;

R := F(а)

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

если F(t) < R

то М := t;

R := F(t)

все

кц

вывод М+20

кон

алг

цел Р(цел х)

нач

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

кон

Python

def f(x):

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

a = -13

b = 13

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(M+20)

 

Задание Д21.3 (тема Д21, №5882)

Варианты

Текст задания

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

 

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

DIM А, В, Т, М, R AS INTEGER

А = -13: В = 13 М = A: R=F(А)

FOR Т = А ТО В

    IF F(Т) < R THEN

        М = Т

        R = F (Т)

    END IF

NEXT Т

PRINT M+20

FUNCTION F(x)

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

END FUNCTION

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

    Function F(x:integer):integer;

        begin

            F := (x*x-25)*(x*x-25)+25 end;

begin

    a := -13;

    b := 13;

    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+20)

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

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

}

int main() {

    int a, b, t, M, R;

    a = -13;

    b = 13;

    M = a;

    R = F (a);

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

        if (F(t) < R)

        {

            M = t; R = F(t);

        }

    }

    cout << M+20 << endl;

}

алг

нач

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

а := -13;

b := 13

М := a;

R := F(а)

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

если F(t) < R

то М := t;

R := F(t)

все

кц

вывод М+20

кон

алг

цел Р(цел х)

нач

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

кон

Python

def f(x):

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

a = -13

b = 13

M = a

R = f(a)

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

    if (f(t) < R):

        M = t

        R = f(t);

print(M+20)

 

Задание 22 (тема 22, №5492)

Варианты

Текст задания

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

 

 

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

DIM X, А, В, С AS INTEGER

INPUT X

А = 0: В = 10

WHILE X > 0

    С = X MOD 10

    А = А + С

    IF С < В THEN В = С

    X = X \ 10

WEND

PRINT А

PRINT В

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 10;

    while x>0 do

        begin

            с := x mod 10;

            a := a+c;

            if c < b then b := c;

            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 = 10;

    while (x > 0) {

        с = x%10;

        a = a+c;

        if (c < b)

            b = c;

        x = x /10;

    }

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

}

алг

нач

цел х, а, b, с

ввод X

а := 0; b := 10

нц пока х>0

    с := mod(х, 10)

    а := а+с

    если с < b

        то b := с

все

х := div(х, 10)

кц

вывод а, не, b

кон

Python

x = int(input())

a = 0

b = 10

while x > 0:

    с = x % 10

    a += c

    if c < b:

        b = c

    x //= 10

print(a)

print(b)

 

Задание 23 (тема 23, №5721)

Варианты

Текст задания

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

 

1. прибавь 1,

2. прибавь 5.

 

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

Задание Д23.1 (тема Д23, №5499)

Варианты

Текст задания

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

 

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

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

...

¬(x6 ≡ x7) ∧ ( (x6 ∧ ¬x8) ∨ (¬x6 ∧ x8) ) = 0

 

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

Задание Д23.2 (тема Д23, №5723)

Варианты

Текст задания

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

 

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

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

...

¬(x6 ≡ x7) ∧ ( (x6 ∧ ¬x8) ∨ (¬x6 ∧ x8) ) = 0

 

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

Задание Д24 C1.1 (тема Д24 C1, №5500)

Варианты

Текст задания

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

 

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

DIM N AS LONG

INPUT N

max_digit = 9

WHILE N > 9

    digit = N MOD 10

    IF max_digit < digit THEN

        max_digit = digit

    END IF

        N = N \ 10

WEND

PRINT max digit

END

var N: longint;

    digit, max_digit: integer;

begin

    readln(N);

    max_digit := 9;

    while N > 9 do

    begin

        digit := N mod 10;

        if max_digit < digit then

            max_digit := digit;

        N := N div 10;

    end;

    writeln(max_digit);

end.

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

#include <iostream>

using namespace std;

int main()

{

    long int N;

    int digit, max_digit;

    cin >> N;

    max_digit = 9;

    while (N > 9)

    {

        digit = N % 10;

        if (max_digit < digit)

            max_digit = digit;

        N = N /10;

    }

    cout « max_digit « endl;

}

алг

нач

    цел N, digit, max_digit

    ввод N

    max_digit := 9

    нц пока N > 9

         digit := mod(N, 10)

        если max_digit < digit то

            max_digit := digit

        все

    N := div(N, 10)

    кц

    вывод max_digit

кон

Python

n = int(input())

max_digit = 9

while n > 9:

    digit = n % 10

    if max_digit < digit:

        max_digit = digit

    n //= 10;

print(max_digit)

 

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

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

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

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

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

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

Задание Д24 C1.2 (тема Д24 C1, №5724)

Варианты

Текст задания

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

 

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

DIM N AS LONG

INPUT N

max_digit = 9

WHILE N > 9

    digit = N MOD 10

    IF max_digit < digit THEN

        max_digit = digit

    END IF

        N = N \ 10

WEND

PRINT max digit

END

var N: longint;

    digit, max_digit: integer;

begin

    readln(N);

    max_digit := 9;

    while N > 9 do

    begin

        digit := N mod 10;

        if max_digit < digit then

            max_digit := digit;

        N := N div 10;

    end;

    writeln(max_digit);

end.

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

#include <iostream>

using namespace std;

int main()

{

    long int N;

    int digit, max_digit;

    cin >> N;

    max_digit = 9;

    while (N > 9)

    {

        digit = N % 10;

        if (max_digit < digit)

            max_digit = digit;

        N = N /10;

    }

    cout « max_digit « endl;

}

алг

нач

    цел N, digit, max_digit

    ввод N

    max_digit := 9

    нц пока N > 9

         digit := mod(N, 10)

        если max_digit < digit то

            max_digit := digit

        все

    N := div(N, 10)

    кц

    вывод max_digit

кон

Python

n = int(input())

max_digit = 9

while n > 9:

    digit = n % 10

    if max_digit < digit:

        max_digit = digit

    n //= 10;

print(max_digit)

 

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

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

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

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

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

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

Задание Д24 C1.3 (тема Д24 C1, №5756)

Варианты

Текст задания

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

 

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

DIM N AS LONG

INPUT N

max_digit = 9

WHILE N > 9

    digit = N MOD 10

    IF max_digit < digit THEN

        max_digit = digit

    END IF

        N = N \ 10

WEND

PRINT max digit

END

var N: longint;

    digit, max_digit: integer;

begin

    readln(N);

    max_digit := 9;

    while N > 9 do

    begin

        digit := N mod 10;

        if max_digit < digit then

            max_digit := digit;

        N := N div 10;

    end;

    writeln(max_digit);

end.

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

#include <iostream>

using namespace std;

int main()

{

    long int N;

    int digit, max_digit;

    cin >> N;

    max_digit = 9;

    while (N > 9)

    {

        digit = N % 10;

        if (max_digit < digit)

            max_digit = digit;

        N = N /10;

    }

    cout « max_digit « endl;

}

алг

нач

    цел N, digit, max_digit

    ввод N

    max_digit := 9

    нц пока N > 9

         digit := mod(N, 10)

        если max_digit < digit то

            max_digit := digit

        все

    N := div(N, 10)

    кц

    вывод max_digit

кон

Python

n = int(input())

max_digit = 9

while n > 9:

    digit = n % 10

    if max_digit < digit:

        max_digit = digit

    n //= 10;

print(max_digit)

 

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

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

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

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

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

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

Задание Д24 C1.4 (тема Д24 C1, №5788)

Варианты

Текст задания

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

 

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

DIM N AS LONG

INPUT N

max_digit = 9

WHILE N > 9

    digit = N MOD 10

    IF max_digit < digit THEN

        max_digit = digit

    END IF

        N = N \ 10

WEND

PRINT max digit

END

var N: longint;

    digit, max_digit: integer;

begin

    readln(N);

    max_digit := 9;

    while N > 9 do

    begin

        digit := N mod 10;

        if max_digit < digit then

            max_digit := digit;

        N := N div 10;

    end;

    writeln(max_digit);

end.

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

#include <iostream>

using namespace std;

int main()

{

    long int N;

    int digit, max_digit;

    cin >> N;

    max_digit = 9;

    while (N > 9)

    {

        digit = N % 10;

        if (max_digit < digit)

            max_digit = digit;

        N = N /10;

    }

    cout « max_digit « endl;

}

алг

нач

    цел N, digit, max_digit

    ввод N

    max_digit := 9

    нц пока N > 9

         digit := mod(N, 10)

        если max_digit < digit то

            max_digit := digit

        все

    N := div(N, 10)

    кц

    вывод max_digit

кон

Python

n = int(input())

max_digit = 9

while n > 9:

    digit = n % 10

    if max_digit < digit:

        max_digit = digit

    n //= 10;

print(max_digit)

 

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

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

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

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

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

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

Задание Д25 (тема Д25, №5716)

Варианты

Текст задания

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

 

 

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

DIM X, А, В, С AS INTEGER

INPUT X

А = 0: В = 10

WHILE X > 0

    С = X MOD 10

    А = А + С

    IF С < В THEN В = С

    X = X \ 10

WEND

PRINT А

PRINT В

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 10;

    while x>0 do

        begin

            с := x mod 10;

            a := a+c;

            if c < b then b := c;

            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 = 10;

    while (x > 0) {

        с = x%10;

        a = a+c;

        if (c < b)

            b = c;

        x = x /10;

    }

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

}

алг

нач

цел х, а, b, с

ввод X

а := 0; b := 10

нц пока х>0

    с := mod(х, 10)

    а := а+с

    если с < b

        то b := с

все

х := div(х, 10)

кц

вывод а, не, b

кон

Python

x = int(input())

a = 0

b = 10

while x > 0:

    с = x % 10

    a += c

    if c < b:

        b = c

    x //= 10

print(a)

print(b)

 

Задание Д25 C2 (тема Д25 C2, №5501)

Текст задания

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

 

 

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

 

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

N=20

DIM A(N) AS INTEGER

DIM I, J, MAX 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, max: 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, max;

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

        cin >> a[i];

...

}

алг

нач

    цел N=20

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

    цел i, j, max

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

        ввод a[i]

    кц

    ...

кон

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

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

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

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

...

Python

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

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

# целочисленные переменные j, max

a = []

n = 20

for i in range(0, n):

a.append(int(input()))

...

 

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

Задание Д26 C3 (тема Д26 C3, №5502)

Текст задания

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

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

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

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

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

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

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

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

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

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

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

Задание Д27 C4 (тема Д27 C4, №5503)

Текст задания

По каналу связи передаётся последовательность положительных целых чисел, все числа не превышают 1000. Количество чисел известно, но может быть очень велико. Затем передаётся контрольное значение последовательности — наибольшее число R, удовлетворяющее следующим условиям:

 

1) R — произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел, произведения различных элементов последовательности, равных по величине, допускаются);

 

2) R делится на 14.

 

Если такого числа R нет, то контрольное значение полагается равным 0. В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.

 

Напишите программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет проверять правильность контрольного значения. Программа должна напечатать отчёт по следующей форме:

 

Вычисленное контрольное значение: ...

 

Контроль пройден (или — Контроль не пройден)

 

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

 

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

 

Вам предлагаются два задания, связанные с этой задачей: задание А и задание Б. Вы можете решать оба задания А и Б или одно из них по своему выбору.

Итоговая оценка выставляется как максимальная из оценок за задания А и Б. Если решение одного из заданий не представлено, то считается, что оценка за это задание составляет 0 баллов.

Задание Б является усложненным вариантом задания А, оно содержит дополнительные требования к программе. Перед программой укажите версию языка программирования.

 

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

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

Максимальная оценка за выполнение задания А – 2 балла.

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

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

 

 

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

 

6

77

14

7

9

499

100

7700

 

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

 

Вычисленное контрольное значение: 7700

Контроль пройден

Задание 0 (тема 0, №5483)

Текст задания

В программе описан одномерный целочисленный массив А с индексами от 0 до 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