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

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

Список тем

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

Задания

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

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

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

 

ABCDEF
A217
B248
C45
D8556
E52
F1762

 

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

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

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

Переведите в шестнадцатеричную систему счисления двоичное число 110110.

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

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

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

 

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

Таблица 1
IDФамилия_И.О.Пол
28Леоненко М.Д.Ж
38Грант А.БМ
39Грант Б.А.М
40Грант Б.Б.М
48Степаненко З.А.Ж
49Степаненко Т.Л.Ж
50Степаненко Л.Л.М
58Кривец Д.Н.Ж
59Кривец Р.Д.М
60Колос Е.Л.Ж
61Колос А.Е.М
68Крохо М.Б.Ж
78Волченко Т.Д.Ж

Таблица 2
ID_РодителяID_Ребенка
3839
5839
3940
7840
3848
5848
4849
5049
2850
4860
5060
3968
7868

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

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

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

 

1. прибавь 2,

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

 

Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, умножает его на 5. Запишите порядок команд в программе, которая преобразует число 1 в число 29 и содержит не более 4 команд. Указывайте лишь номера команд. (Например, программа 2121— это программа умножь на 5, прибавь 2, умножь на 5, прибавь 2. Эта программа преобразует число 2 в число 67.)

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

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

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

 

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

DIM N, S AS INTEGER

N = 20

S = 0

WHILE S <= 257

S = S + 10

N = N + 3

WEND

PRINT N

var n, s: integer;

begin

    n := 20;

    s := 0;

    while s <= 257 do

    begin

        s := s + 10;

        n := n + 3

    end;

    write(n)

end.

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

#include <iostream>

using namespace std;

int main()

{

    int n, s;

    n = 20;

    s = 0;

    while (s <= 257)

    {

        s = s + 10;

        n = n + 3;

    }

    cout « n « endl;

}

алг

нач

цел n, s

n := 20

s := 0

нц пока s <= 257

    s := s + 10

    n := n + 3

кц

вывод n

кон

Python

n = 20

s = 0

while s <= 257:

    s += 10

    n += 3

print(n)

 

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

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

Документ объёмом 40 Мбайт можно передать с одного компьютера на другой двумя способами. А. Сжать архиватором, передать архив по каналу связи, распаковать. Б. Передать по каналу связи без использования архиватора. Какой способ быстрее и насколько, если:

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

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

  • время, требуемое на сжатие документа, — 15 секунд, на распаковку — 2 секунды?

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

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

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

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

Определите, какое из указанных имён файлов удовлетворяет маске: *b*a*.c?*.

 

1) harbour.cpp

2) probable.cpp

3) base.c

4) debt.cpp

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

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

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

 

ABC
171
2=(C1–1)/(A1–3)=B1/(C1−1)=(A1–4*B1)/(C1+3)

 

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

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

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

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

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

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

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

 

A — 11110, Б — 00000, В — 01011.

 

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

Получено сообщение 11011 01010 10110 00010. Декодируйте это сообщение — выберите правильный вариант.

 

1) ххАБ

2) ВВАБ

3) хВАБ

4) хххх

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

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

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

 

После приёма слова производится его обработка. При этом проверяется сумма его разрядов, включая контрольный. Если она нечётна, это означает, что при передаче этого слова произошёл сбой, и оно автоматически заменяется на зарезервированное слово 0000000. Если она чётна, это означает, что сбоя не было или сбоев было больше одного. В этом случае принятое слово не изменяется. Исходное сообщение 1000100 1010101 0001001 было принято в виде 1000101 1010101 0010001. Как будет выглядеть принятое сообщение после обработки?

 

1) 0000000 1010101 0010001

2) 1000100 0000000 0001001

3) 0000000 1010101 0000000

4) 1000101 1010101 0000000

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

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

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

 

ABCDE
13456
2315182124
3417202326
4519222528
5621242730

 

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

 

1) =A5*2+Е1*3

2) =$A5*2+$Е1*3

3) =$A5*2+Е$1*3

4) =A$5*2+$Е1*3

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

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

Для регистрации на сайте некоторой страны пользователю требуется придумать пароль. Длина пароля — ровно 8 символов. В качестве символов могут быть использованы десятичные цифры и 30 различных букв местного алфавита, причём все буквы используются в двух начертаниях: как строчные, так и прописные (регистр буквы имеет значение). Под хранение каждого такого пароля на компьютере отводится одинаковое и минимально возможное целое количество байтов. При этом используется посимвольное кодирование, и все символы кодируются одинаковым и минимально возможным количеством битов. Определите объём памяти, который используется для хранения 110 паролей. (Ответ дайте в байтах.)

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

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

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

 

1) 2 секунды

2) 6 секунд

3) 16 секунд

4) 27 секунд

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

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

Система команд исполнителя РОБОТ, «живущего» в прямоугольном лабиринте на клетчатой плоскости, включает в себя 4 команды-приказа и 4 команды проверки условия. Команды-приказы: вверх, вниз, влево, вправо. При выполнении любой из этих команд РОБОТ перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если РОБОТ начнёт движение в сторону находящейся рядом с ним стены, то он разрушится, и программа прервётся.

 

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

 

ПОКА условие

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

КОНЕЦ ПОКА

 

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

 

ЕСЛИ условие

ТО команда1

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

КОНЕЦ ЕСЛИ

 

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

 

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

 

НАЧАЛО

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

ЕСЛИ слева свободно

ТО влево

ИНАЧЕ вниз

КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

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

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

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

 

x1x2x3x4x5x6x7x8F
100111111
111011000
010110010

 

Каким из приведённых ниже выражений может быть F?

 

1) x1 ∧ ¬x2 ∧ x3 ∧ ¬x4 ∧ x5 ∧ x6 ∧ ¬x7 ∧ ¬x8

2) ¬x1 ∨ x2 ∨ x3 ∨ ¬x4 ∨ ¬x5 ∨ ¬x6 ∨ ¬x7 ∨ ¬x8

3) x1 ∨ ¬x2 ∨ x3 ∨ ¬x4 ∨ ¬x5 ∨ x6 ∨ x7 ∨ ¬x8

4) x1 ∧ ¬x2 ∧ ¬x3 ∧ x4 ∧ x5 ∧ x6 ∧ x7 ∧ x8

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

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

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

 

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

Маска: 255.255.192.0

 

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

 

ABCDEFGH
03264128192208224255

 

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

 

ABCDEFGH
1281682558127017192

 

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

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

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

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

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

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

В системе счисления с некоторым основанием десятичное число 12 записывается в виде 30. Укажите это основание.

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

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

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

 

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

F(n) = 3 × F(n − 1) − F(n − 2) при n> 2.

 

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

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

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

Ниже приведён фрагмент программы, записанный на четырёх языках программирования. Массив A двумерный; в программе рассматривается его фрагмент, соответствующий значениям индексов от 1 до n.

 

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

FOR i = 1 TO n

    c = A(i,i)

    A(i,i) = A(i,n–i+1)

    A(i,n–i+1) = c

NEXT i

for i := 1 to n do

begin

    c := A[i,i];

    A[i,i] := A[i,n–i+1];

    A[i,n–i+1] := c

end;

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

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

    c = A[i][i];

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

    A[i][n-i+1] = c;

}

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

    c := A[i,i]

    A[i,i] := A[i,n–i+1]

    A[i,n–i+1] := c

кц

Python

for i in range(1, n+1):

    c = A[i,i]

    A[i,i] = A[i,n–i+1]

    A[i,n–i+1] = c

 

 

Представим рассмотренный фрагмент массива в виде квадратной таблицы, в которой для элемента массива A[i, j] величина i является номером строки, а величина j — номером столбца, в котором расположен элемент. Тогда данный алгоритм меняет местами

 

1) два столбца в таблице

2) две строки в таблице

3) элементы двух диагоналей таблицы

4) элементы диагонали и строки таблицы

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

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

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

 

ЗапросНайдено страниц
(в тысячах)
Бюффон & (Руссо | Вольтер)460
Бюффон & Руссо & Вольтер110
Бюффон & Руссо260

 

Компьютер печатает количество страниц (в тысячах), которое будет найдено по следующему запросу:

 

Бюффон & Вольтер.

 

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

Задание Д19 C4 (тема Д19 C4, №6472)

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

В еженедельном выпуске популярной газеты было объявлено голосование по выбору актёра, который, по мнению читателей, должен сняться в продолжении фильма «Белое солнце пустыни». На выбор был предложен список из шести актеров. Вам предлагается написать эффективную, в том числе по используемой памяти, программу, которая будет обрабатывать результаты sms-голосования по данному вопросу. Результаты голосования получены в виде списка актёров (каждый элемент списка соответствует одному sms-сообщению). Следует учитывать, что количество голосов в списке может быть очень велико. Перед текстом программы кратко опишите используемый Вами алгоритм решения задачи. На вход программе в первой строке подаётся количество пришедших sms-сообщений N. В каждой из последующих N строк записаны фамилия и имя актера (сначала фамилия, а потом через пробел имя). Длина строки не превосходит 50 символов. Пример входных данных:

 

5

Меньшиков Олег

Миронов Евгений

Меньшиков Олег

Машков Владимир

Меньшиков Олег

 

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

 

Меньшиков Олег 3

Миронов Евгений 1

Машков Владимир 1

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

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

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

 

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

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

A = -11: B = 11

M = A: R = F(А)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+18

FUNCTION F(x)

    F = (x*x-4)*(x*x-4)+11

END FUNCTION

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

Function F(x:integer): integer;

    begin

        F := (x*x-4)*(x*x-4)+11

    end;

begin

    a := -11; b := 11;

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

end.

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

#include <iostream>

using namespace std;

int F(int x)

{

    return (x*x-4)*(x*x-4)+11;

}

int main()

{

    int a, b, t, M, R;

    a = -11; b = 11;

    M = a; R = F(a);

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

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M+18 << endl;

}

алг

нач

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

a := -11; b := 11

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

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

    если F(t) <= R

    то

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

    все

кц

вывод M+18

кон

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

нач

знач := (x*x-4)*(x*x-4)+11

кон

Python

def f(x):

    return (x*x-4)*(x*x-4)+11

a = -11

b = 11

M = a

R = f(a)

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

    if (f(t) <= R):

        M = t

        R = f(t);

print(M+18)

 

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

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

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

 

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

DIM X, A, B, C AS INTEGER

INPUT X

A = 0: B = 0

WHILE X > 0

    C = X MOD 10

    A = A + C

    IF C > B THEN B = C

    X = X \ 10

WEND

PRINT A

PRINT B

var x, a, b, c: integer;

begin

    readln(x);

    a := 0; b := 0;

    while x>0 do

        begin

            c := x mod 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 = 0;

    while (x>0) {

        c = x%10;

        a = a+c;

        if (c>b)

            b = c;

        x = x/10;

    }

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

}

алг

нач

цел x, a, b, c

ввод x

a := 0; b := 0

нц пока x>0

    c := mod(x,10)

    a := a+c

    если c>b

        то b := c

     все

    x := div(x,10)

кц

вывод a, нс, b

кон

Python

x = int(input())

a = 0

b = 0

while x > 0:

    c = x % 10

    a += c

    if c > b:

        b = c

    x //= 10

print(a)

print(b)

 

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

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

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

 

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

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

...

(x9 ∧ x10) ∨ (¬x9 ∧ ¬x10) ∨ (x9 ≡ x11) = 1

 

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

Задание Д24 C1 (тема Д24 C1, №6469)

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

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

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

INPUT x, y

IF y<=1-x THEN

 IF y>=0 THEN

  IF x>=0 THEN

   IF x*x+y*y<=1 THEN

    PRINT "принадлежит"

   ELSE

    PRINT "не принадлежит"

   END IF

  END IF

 END IF

END IF

END

var x,y: real;

begin

readln(x,y);

if y<=1-x then

if y>=0 then

if x>=0 then

if x*x+y*y<=1 then

write('принадлежит')

else

write('не принадлежит');

end.

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

#include <iostream>

using namespace std;

int main()

{

float x,y;

cin >> x >> y;

if (y<=1-x)

if (y>=0)

if (x>=0)

if (x*x+y*y<=1)

cout << "принадлежит";

else

cout << "не принадлежит";

}

алг

нач

вещ x,y

ввод x,y

если y<=1-x то

если y>=0 то

если x>=0 то

если x*x+y*y<=1 то

вывод 'принадлежит'

иначе

вывод 'не принадлежит'

все

все

все

все

кон

Python

x = float(input())

y = float(input())

if y<=1-x:

    if y>=0:

        if x>=0:

            if x*x+y*y<=1:

                print("принадлежит")

            else:

                print("не принадлежит")

 

 

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

 

1. Перерисуйте и заполните таблицу, которая показывает, как работает программа при аргументах, принадлежащих различным областям (A, B, C, D, E, F, G, H, I, J, K). Точки, лежащие на границах областей, отдельно не рассматривать. Координатные оси не являются границами областей. В столбцах условий укажите «да», если условие выполнится, «нет», если условие не выполнится, «—» (прочерк), если условие не будет проверяться, «не изв.», если программа ведёт себя по-разному для разных значений, принадлежащих данной области. В столбце «Программа выведет» укажите, что программа выведет на экран. Если программа ничего не выводит, напишите «—» (прочерк). Если для разных значений, принадлежащих области, будут выведены разные тексты, напишите «не изв.». В последнем столбце укажите «да» или «нет».

 

ОбластьУсловие1 (y<=1–x)Условие 2 (y>=0)Условие 3

(x>=0)

Условие 4 (x*x+y*y<=1)Программа

выведет

Область

обрабатывается

верно

A
В
С
D
Е
F
G
Н
I
J
K

 

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

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

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

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести произведение всех двузначных элементов массива с суммой цифр, кратной 7. Гарантируется, что в исходном массиве есть хотя бы один элемент, значение которого является двузначным числом, и при этом сумма его цифр делится на 7. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Исходные данные всегда подобраны так, что результат произведения не выходит за пределы объявленных типов данных.

 

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

N = 30

DIM A(N) AS LONG

DIM I, J, P AS LONG

FOR I = 1 TO N

INPUT A(I)

NEXT I

...

END

const

N = 30;

var

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

i, j, p: longint;

begin

for i := 1 to N do

readln(a[i]);

...

end.

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

#include <iostream>

using namespace std;

#define N 30

int main() {

long a[N];

long i, j, p;

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

cin >> a[i];

...

}

алг

нач

цел N = 30

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

цел i, j, p

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

ввод a[i]

кц

...

кон

Eстественный язык
Объявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, P. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. …
Python

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

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

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

a = []

n = 30

for i in range(0, n):

a.append(int(input()))

...

 

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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