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

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

Список тем

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

Задания

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

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

На рисунке слева изображена схема дорог Н-ского района, в таблице звёздочкой обозначено наличие дороги из одного населённого пункта в другой. Отсутствие звёздочки означает, что такой дороги нет. Определите, какие номера населённых пунктов в таблице могут соответствовать населённым пунктам В и Е на схеме. В ответе запишите

эти два номера в возрастающем порядке без пробелов и знаков препинания.

 

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

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

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

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

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

Найдите значение выражения 7F16 – 7A16. Ответ укажите в десятичной системе счисления.

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

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

Найдите значение выражения 9F16 − 9416. Ответ укажите в десятичной системе счисления.

Задание 2.1 (тема 2, №26945)

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

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

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

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

 

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

 

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

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

 

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

 

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

Задание 2.2 (тема 2, №26974)

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

Логическая функция F задаётся выражением (xy) ∧ ¬(yz) ∧ ¬w. На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных x, y, z, w.

 

Переменная 1Переменная 2Переменная 3Переменная 4Функция
1 1
00101
1001

 

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

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

 

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

 

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

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

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

В фрагменте базы данных представлены сведения о родственных отношениях. На основании имеющихся данных найдите минимальную разницу между годами рождения двух родных сестёр.

Таблица 1
IDФамилия И.О.ПолГод рождения
240Черных А. В.М1930
261Черных Д. И.Ж1933
295Черных Е. П.М1954
325Черных И. А.Ж1953
356Черных Н. Н.М1954
367Гунько А. Б.Ж1958
427Малых Е. А.М1972
517Краско М. А.Ж1978
625Соболь О. К.Ж1976
630Краско В. К.Ж1979
743Гунько Б. В.Ж1994
854Колосова А. Е.Ж2001
943Гунько А. Н.М1993
962Малых Н. Н.М1998

Таблица 2
ID РодителяID Ребенка
240325
261325
240356
261356
325517
325427
356625
356630
367625
367630
625943
625962
427743
427854

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

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

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

 

Таблица 1
IDФамилия_И. О.ПолМесто рождения
64Келдыш С.М.МЛипецк
66Келдыш О.Н.ЖБрянск
67Келдыш М.И.МЛипецк
68Келдыш Н.С.ЖЛипецк
69Дейнеко Н.А.ЖБрянск
70Сиротенко В.Н.МТула
72Сиротенко Д.В.МТула
75Сиротенко Н.П.МТула
77Мелконян А.А.МТамбов
81Мелконян И.Н.ЖТамбов
82Лурье А.В.ЖТула
86Хитрово Н.И.МБрянск
88Хитрово Т.Н.ЖТула
89Гурвич З.И.ЖЛипецк

Таблица 2
ID_РодителяID_Ребенка
6664
6764
8666
8169
7570
8970
7072
8872
8177
7581
8981
7082
8882
8688

Задание 4.1 (тема 4, №26948)

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

Для кодирования некоторой последовательности, состоящей только из букв А, Б, В, Г, Д, решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв А, Б, В использовали соответственно кодовые слова 1, 00, 0100. Укажите минимальную возможную суммарную длину для букв Г и Д, если известно, что код должен допускать однозначное декодирование.

 

Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

Задание 4.2 (тема 4, №26977)

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

Для кодирования некоторой последовательности, состоящей только из букв А, Б, В, Г, Д, Е решили использовать неравномерный двоичный код, удовлетворяющий условию Фано. Для букв А, Б использовали соответственно кодовые слова 00, 01. Какова наименьшая возможная сумма длин кодовых букв В, Г, Д, Е, при котором код будет допускать однозначное декодирование.

 

Примечание. Условие Фано означает, что никакое кодовое слово не является началом другого кодового слова. Это обеспечивает возможность однозначной расшифровки закодированных сообщений.

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

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

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число следующим образом.

1) Строится двоичная запись числа N.

2) К этой записи дописывается справа два нуля, если число четное, или две единицы в противном случае

Укажите максимальное число N, после обработки которого с помощью этого алгоритма получается число менее 94. В ответе это число запишите в десятичной системе.

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

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

На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.

1) Строится двоичная запись числа N.

2) К этой записи дописываются разряды по следующему правилу:

а) если число четное, то к двоичной записи числа в конце дописываются 1 и 0;

б) если число нечетное, то к двоичной записи числа в конце дописывается 01.

Полученная таким образом запись является двоичной записью искомого числа R. Укажите наибольшее число R меньшее 109, которое может получиться после обработки этого алгоритма. В ответе это число запишите в десятичной системе.

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

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

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

 

БейсикPython

DIM S, N AS INTEGER

S = 190

N = 0

WHILE S – N > 0

    S = S – 5

    N = N + 15

WEND

PRINT S

s = 190

n = 0

while s – n > 0:

    s = s – 5

    n = n + 15

print(s)

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

var s, n: integer;

begin

    s := 190;

    n := 0;

    while s – n > 0 do

    begin

        s := s – 5;

        n := n + 15

    end;

    writeln(s)

end.

алг

нач

    цел n, s

    s := 190

    n := 0

    нц пока s – n > 0

        s := s – 5

        n := n + 15

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main()

{ int s = 190, n = 0;

    while (s – n > 0) { s = s – 5; n = n + 15; }

    cout << s << endl;

    return 0;

}

 

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

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

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

 

БейсикPython

DIM S, N AS INTEGER

S = 0

N = 90

WHILE S + N < 145

    S = S + 20

    N = N − 10

WEND

PRINT S

s = 0

n = 90

while s + n < 145:

    s = s + 20

    n = n − 10

print(s)

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

var s, n: integer;

begin

    s := 0;

    n := 90;

    while s + n < 145 do

    begin

        s := s + 20;

        n := n − 10;

    end;

    writeln(s)

end.

алг

нач

    цел n, s

    s := 0

    n := 90

    нц пока s + n < 145

        s := s + 20

        n := n − 10

    кц

    вывод s

кон

Си++

#include <iostream>

using namespace std;

int main()

{ int s = 0, n = 90;

    while (s + n < 145) { s = s + 20; n = n − 10;}

    cout << s << endl;

    return 0;

}

 

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

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

На снимок размером 1200 на 1024 пикселей в памяти выделено не более 1000 Кбайт. Найдите максимально возможное количество цветов в палитре изображения.

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

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

Камера делает фотоснимки размером 250 × 300 пикселей. На хранение одного кадра отводится 40 Кбайт. Найдите максимально возможное количество цветов в палитре изображения.

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

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

В ячейки диапазонов C1:F6 и B2:B6 электронной таблицы записаны числа, как показано на рисунке.

 

 

ABCDEF
110203040
2111213141
3212223242
4313233343
5414243444
6515253545

 

 

В ячейке B1 записали формулу =$F1+D$4. После этого ячейку B1 скопировали в ячейку C6. Какое число будет показано в ячейке C6?

Примечание: знак $ используется для обозначения абсолютной адресации.

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

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

Дан фрагмент электронной таблицы. Из ячейки E4 в ячейку D2 была скопирована формула. При копировании адреса ячеек в формуле автоматически изменились. Чему равно значение выражения D2 + E4?

 

ABCDE
140304044
2306153
320815152
410232817=$C4+E$3

 

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

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

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

Найдите количество пятизначных восьмеричных чисел, в которых все цифры различны и никакие две четные или нечетные не стоят рядом.

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

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

Сколько существует шестизначных чисел, делящихся на 5, в которых каждая цифра может встречаться только один раз, при этом никакие две чётные и две нечётные цифры не стоят рядом.

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

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

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 9 символов и содержащий только заглавные буквы латинского 26-символьного алфавита. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 15 пользователях потребовалось 300 байт.

Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число — количество байт.

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

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

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 11 символов и содержащий только прописные буквы латинского 26-символьного алфавита и десять цифр. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 30 пользователях потребовалось 750 байт.

Сколько байт выделено для хранения дополнительных сведений об одном пользователе? В ответе запишите только целое число — количество байт.

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

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

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

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

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

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

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

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

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

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

исполнителя при этом не изменяется.

 

Цикл

    ПОКА условие

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

    КОНЕЦ ПОКА

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

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

    ЕСЛИ условие

        ТО команда1

    КОНЕЦ ЕСЛИ

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

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

    ЕСЛИ условие

        ТО команда1

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

    КОНЕЦ ЕСЛИ

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

 

Дана программа для Редактора:

НАЧАЛО

ПОКА нашлось (>1) ИЛИ нашлось (>2) ИЛИ нашлось (>3)

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

    ТО заменить (>1, 22>)

    КОНЕЦ ЕСЛИ

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

    ТО заменить (>2, 2>)

    КОНЕЦ ЕСЛИ

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

    ТО заменить (>3, 1>)

    КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

 

На вход приведённой ниже программе поступает строка, начинающаяся с символа «>», а затем содержащая 26 цифр 1, 10 цифр 2 и 14 цифр 3, расположенных в произвольном порядке.

Определите сумму числовых значений цифр строки, получившейся в результате выполнения программы. Так, например, если результат работы программы представлял бы собой строку, состоящую из 50 цифр 4, то верным ответом было бы число 200.

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

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

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

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

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

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

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

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

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

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

исполнителя при этом не изменяется.

 

Цикл

    ПОКА условие

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

    КОНЕЦ ПОКА

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

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

    ЕСЛИ условие

        ТО команда1

    КОНЕЦ ЕСЛИ

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

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

    ЕСЛИ условие

        ТО команда1

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

    КОНЕЦ ЕСЛИ

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

 

Дана программа для Редактора:

НАЧАЛО

ПОКА нашлось (49) ИЛИ нашлось (97) ИЛИ нашлось (47)

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

    ТО заменить (47, 74)

    КОНЕЦ ЕСЛИ

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

    ТО заменить (97, 79)

    КОНЕЦ ЕСЛИ

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

    ТО заменить (49, 94)

    КОНЕЦ ЕСЛИ

КОНЕЦ ПОКА

КОНЕЦ

 

На вход приведённой ниже программе поступает строка, содержащая 40 цифр 7, 40 цифр 9 и 50 цифр 4, расположенных в произвольном порядке. Запишите без разделителей символы, которые имеют порядковые номера 25, 71 и 105 в получившейся строке.

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

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

В терминологии сетей TCP/IP маска сети — это двоичное число, меньшее 232; в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Для узла с IP-адресом 220.128.112.88 адрес сети равен 220.128.112.80. Чему равно значение последнего байта маски? Ответ запишите в виде десятичного числа.

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

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

В терминологии сетей TCP/IP маска сети — это двоичное число, меньшее 232; в маске сначала (в старших разрядах) стоят единицы, а затем с некоторого места нули. Маска определяет, какая часть IP-адреса узла сети относится к адресу сети, а какая — к адресу самого узла в этой сети. Обычно маска записывается по тем же правилам, что и IP-адрес — в виде четырёх байт, причём каждый байт записывается в виде десятичного числа. Адрес сети получается в результате применения поразрядной конъюнкции к заданному IP-адресу узла и маске.

Например, если IP-адрес узла равен 131.32.255.131, а маска равна 255.255.240.0, то адрес сети равен 131.32.240.0.

Для узла с IP-адресом 117.191.208.37 адрес сети равен 117.191.192.0. Чему равно наименьшее возможное значение третьего слева байта маски сети?

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

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

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

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

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

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

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

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

Значение арифметического выражения: 1618 · 410 − 46 − 16 — записали в системе счисления с основанием 4. Сколько цифр «3» содержится в этой записи?

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

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

Значение арифметического выражения: 168 · 420 − 45 − 64 — записали в системе счисления с основанием 4. Сколько цифр «3» содержится в этой записи?

Задание 15.1 (тема 15, №26961)

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

Для какого наибольшего целого положительного числа А выражение

 

(x + 3y > A) ∨ (y < 30) ∨ (x < 30)

 

тождественно истинно, т. е. принимает значение 1 при любых целых неотрицательных x и y?

Задание 15.2 (тема 15, №26990)

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

Для какого наибольшего целого неотрицательного числа A выражение

 

(x > A) ∨ (y > A) ∨ (2y + x < 110)

 

тождественно истинно, то есть принимает значение 1 при любых целых неотрицательных x и y?

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

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

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

 

 

БейсикPython

SUB F(n)

    IF n > 0 THEN

         PRINT N

         F(n \ 3)

         F(n − 2)

    END IF

END SUB

 

def F(n):

    if n > 0:

        print(n)

        F(n // 3)

        F(n − 2)

 

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

procedure F(n: integer);

begin

    if n > 0 then begin

        write(n);

        F(n div 3);

        F(n − 2);

    end

end;

 

алг F(цел n)

нач

    если n > 0 то

        вывод n

        F(div(n,3))

        F(n − 2)

    все

кон

 

С++

void F (int n)

{

     if (n > 0) {

        std::cout << n;

        F (n / 3);

        F (n − 2);

    }

}

 

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

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

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

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

 

БейсикPython

SUB F(n)

    IF n > 2 THEN

         F(n \ 2)

         F(n − 1)

         PRINT N

    END IF

END SUB

 

def F(n):

    if n > 2:

        F(n // 2)

        F(n − 1)

        print(n)

 

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

procedure F(n: integer);

begin

    if n > 2 then begin

        F(n div 2);

        F(n − 1);

        write(n);

    end

end;

 

алг F(цел n)

нач

    если n > 2 то

        F(div(n,2))

        F(n − 1)

        вывод n

    все

кон

 

С++

void F (int n)

{

     if (n > 2) {

        F (n / 2);

        F (n − 1);

        std::cout << n;

    }

}

 

 

Запишите подряд без пробелов и разделителей все числа, которые будут напечатаны на экране при выполнении вызова F(7). Числа должны быть записаны в том же порядке, в котором они выводятся на экран.

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

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

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

В таблице приведены запросы и количество страниц, которые нашел поисковый сервер по этим запросам в некотором сегменте Интернета:

 

ЗапросКоличество

страниц

(тыс.)

Руда64
Железо41
Витамины36
Руда | Железо | Витамины105
Железо & Витамины27
Руда & Витамины0

 

Сколько страниц (в тысячах) будет найдено по запросу Железо & Руда?

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

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

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

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

В таблице приведены запросы и количество страниц, которые нашел поисковый сервер по этим запросам в некотором сегменте Интернета:

 

ЗапросКоличество

страниц

(тыс.)

Аврора50
Крейсер45
Заря23
Аврора & Заря9
Заря & Крейсер0
Заря | Крейсер | Аврора93

 

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

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

Задание Д19.1 (тема Д19, №26962)

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

В программе используется одномерный целочисленный массив A с индексами от 0 до 10. Значения элементов равны 0, 7, 1, 3, 2, 14, 5, 9, 11, 0, 7, т. е. A[0]=0, A[1]=7 и т. д. Определите значение переменной s после выполнения следующего фрагмента программы:

 

БейсикPython

s = 0

n = 2

FOR i = 0 TO 10

    IF A(i) < A(n) THEN

        s = s + A(i)

    ELSE

        A(n) = A(i)

    END IF

NEXT i

s = 0

n = 2

for i in range(11):

    if A[i] < A[n]:

        s += A[i]

    else:

        A[n] = A[i]

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

s := 0;

n := 2;

for i := 0 to 10 do

    if A[i] < A[n] then

        s := s + A[i]

    else

        A[n] := A[i];

s := 0

n := 2

нц для i от 0 до 10

    если A[i] < A[n] то

        s := s + A[i]

    иначе

        A[n] := A[i]

    все

кц

Си++

s = 0;

n = 2;

for (int i = 0; i < 11; i++)

{

    if (A[i] < A[n])

        s += A[i];

    else

        A[n] = A[i];

}

 

Задание Д19.2 (тема Д19, №26991)

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

Представленный ниже на пяти языках программирования фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 0 до 11. Перед началом выполнения данного фрагмента эти элементы массива имели значения 5, 43, 20, 7, 13, 7, 29, 13, 2, 33, 15, 5 (т. е. A[0] = 5, A[1] = 43, ..., A[11] = 5). Определите значение переменной s после выполнения фрагмента

 

 

БейсикPython

s = 0

FOR i = 1 TO 11

    IF A(i-1) DIV A(i) < 2 THEN

        s = s + A(i)

    ELSE

        A(i) = A(i) * i

    END IF

NEXT i

s = 0

for i in range(1,12):

    if A[i - 1] // A[i] < 2:

        s += A[i]

    else:

        A[i] = A[i] * i

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

s := 0;

for i:=1 to 11 do begin

    if A[i - 1] div A[i] < 2

        then s := s + A[i]

    else A[i] := A[i] * i;

end;

 

s := 0

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

    если div(A[i-1],A[i]) < 2

        то s := s + A[i]

    иначе A[i] := A[i] * i

    все

кц

С++

s = 0;

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

    if (A[i-1] / A[i] < 2)

        s += A[i];

    else

        A[i] = A[i] * i;

}

 

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

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

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

 

БейсикPython

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

A = −20: B = 20

M = A : R = F(A)

FOR T = A TO B

    IF F(T) <= R THEN

        M = T

        R = F(T)

    END IF

NEXT T

PRINT M+R

 

FUNCTION F(x)

F=abs(abs(x−3)+abs(x+4)−9)+6

END FUNCTION

def F(x):

return(abs(abs(x−3)+abs(x+4)−9)+6)

 

a = −20; b = 20

M = a; R = F(a)

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

    if F(t) <= R:

        M = t; R = F(t)

print(M+R)

 

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

var

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

 

function F(x: integer): integer;

begin

f:=abs(abs(x−3)+abs(x+4)−9)+6;

end;

 

begin

    a := −20; b := 20;

    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+R);

end.

 

алг

нач

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

    a := −20; b := 20

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

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

        если F(t) <= R

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

        все

    кц

    вывод M + R

кон

 

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

нач

знач:=abs(abs(x−3)+abs(x+4)−9)+6

кон

 

С++

#include <iostream>

using namespace std;

long f(int x) {

return (abs(abs(x−3)+abs(x+4)−9)+6);

}

 

int main()

{

    int a, b, t, M, R;

    a = −20; b = 20;

    M = a; R = F(a);

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

        if (F(t) <= R) {

            M = t; R = F(t);

        }

    }

    cout << M + R;

    return 0;

}

 

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

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

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

 

 

БейсикPython

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

A = -20: B = 20

M = A: R = F(A)

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 = 2*(x*x-9)*(x*x-9)+5;

END FUNCTION

def F(x):

    return 2*(x*x-9)*(x*x-9)+5

a=-20; b=20

M=a; R=F(a)

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

    if F(t) < R:

        M=t; R=F(t)

print(M + 18)

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

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

Function F(x:integer):integer;

    begin

        F := 2*(x*x-9)*(x*x-9)+5;

    end;

BEGIN

    a := -20; b := 20;

    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.

алг

нач

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

    a := -20; b := 20

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

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

        если F(t) < R

            то

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

        все

    кц

    вывод M + 18

кон

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

нач

    знач := 2*(x*x-9)*(x*x-9)+5

кон

Си++

#include <iostream>

using namespace std;

int F(int x)

{

    return 2*(x*x-9)*(x*x-9)+5;

}

int main()

{

    int a, b, t, M, R;

    a = -20; b = 20;

    M = a; R = F(a);

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

        if (F(t) < R) {

            M = t; R = F(t);

        }

    }

    cout << M + 18 << endl;

    return 0;

}

 

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

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

Ниже приведён алгоритм. Укажите наибольшее число x, при вводе которого алгоритм напечатает сначала 10, потом 3.

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 0

M = 0

WHILE X > 0

    M = M + 1

     IF X MOD 2 = 0 THEN

      L = L + (X MOD 8)

     END IF

X = X \ 8

WEND

PRINT L

PRINT M

x = int(input())

L = 0

M = 0

while x > 0:

     M = M + 1

     if x % 2 == 0:

      L = L + (x % 8)

     x = x // 8

print(L)

print(M)

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

var x, L, M: integer;

begin

     readln(x);

     L := 0;

     M := 0;

     while x>0 do

    begin

         M :=M+1;

         if x mod 2 = 0 then

            L := L + (x mod 8);

         x := x div 8;

    end;

    writeln(L);

    writeln(M);

end.

алг

нач

     цел x, L, M

     ввод x

     L := 0

     M := 0

    нц пока x > 0

        M := M + 1

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

            то

             L := L + mod(x,8)

        все

        x := div(x,8)

     кц

     вывод L, нс, M

кон

Си++

#include <iostream>

using namespace std;

 

int main(){

     int x, L, M;

     cin >> x;

     L = 0;

     M = 0;

     while (x > 0) {

          M = M + 1;

          if(x % 2 == 0) {

             L = L + (x % 8);

          }

          x = x / 8;

        }

        cout << L << endl << M << endl;

        return 0;

}

 

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

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

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

 

БейсикPython

DIM X, L, M AS INTEGER

INPUT X

L = 1

M = 0

WHILE X > 0

    M = M + 1

     IF X MOD 2 = 0 THEN

      L = L * (X MOD 8)

     END IF

X = X \ 8

WEND

PRINT M

PRINT L

x = int(input())

L = 1

M = 0

while x > 0:

     M = M + 1

     if x % 2 == 0:

      L = L * (x % 8)

     x = x // 8

print(M)

print(L)

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

var x, L, M: integer;

begin

     readln(x);

     L := 1;

     M := 0;

     while x>0 do

    begin

         M :=M+1;

         if x mod 2 = 0 then

            L := L * (x mod 8);

         x := x div 8;

    end;

    writeln(M);

    writeln(L);

end.

алг

нач

     цел x, L, M

     ввод x

     L := 1

     M := 0

    нц пока x > 0

        M := M + 1

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

            то

             L := L * mod(x,8)

        все

        x := div(x,8)

     кц

     вывод M, нс, L

кон

Си++

#include <iostream>

using namespace std;

 

int main(){

     int x, L, M;

     cin >> x;

     L = 1;

     M = 0;

     while (x > 0) {

          M = M + 1;

          if(x % 2 == 0) {

             L = L * (x % 8);

          }

          x = x / 8;

        }

        cout << M << endl << L << endl;

        return 0;

}

 

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

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

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

 

1. Прибавить 1

2. Прибавить 2

3. Умножить на 2

 

Сколько существует программ, для которых при исходном числе 4 результатом является число 13, и при этом траектория вычислений содержит число 11?

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

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

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

 

1. Прибавить 1

2. Умножить на 3

3. Прибавить 2

 

Сколько существует программ, для которых при исходном числе 3 результатом является число 14, и при этом траектория вычислений содержит число 9?

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы. Например, для программы 132 при исходном числе 7 траектория будет состоять из чисел 8, 10, 30.

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

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

Сколько наборов логических переменных удовлетворяют условиям:

((xiyj) → (xiyj+1)) ∧ ((xiyj)→(xi+1yj)) = 1

для всех i < 6, j < 7.

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

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

Сколько наборов логических переменных удовлетворяют условиям:

((xiyj) → (xiyj+1)) ∧ ((xiyj)→(xi+1yj)) = 1

для всех i < 5, j < 6.

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

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

На вход программы поступают 4 положительных целых числа, не превышающие 1000, среди которых могут быть одинаковые. Нужно написать программу, которая выводит количество четных чисел и максимальное из них. Если среди входных данных нет чётных чисел, программа должна вывести слово 'NO'. Для решения этой задачи

ученик написал такую программу:

 

БейсикPython

CONST n = 4

count = 0

maximum = 1000

FOR I = 1 TO n

  INPUT x

    IF x mod 2 = 0 THEN

      count = count + 1

    IF x > maximum THEN

      maximum = I

    END IF

  END IF

NEXT I

IF count > 0 THEN

  PRINT count

  PRINT maximum

ELSE

  PRINT "NO"

END IF

n = 4

count = 0

maximum = 1000

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

    x = int(input())

    if x % 2 == 0:

        count += 1

        if x > maximum:

            maximum = i

if count > 0:

    print (count)

    print (maximum)

else:

    print ("NO")

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

алг

нач

  цел n = 4

  цел i, x

  цел maximum, count

  count := 0

  maximum := 1000

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

    ввод x

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

      count := count + 1

      если x > maximum то

        maximum := i

      все

    все

  кц

  если count > 0 то

    вывод count, нс

в    ывод maximum

  иначе

    вывод "NO"

  все

кон

const n = 4;

var i, x: integer;

var maximum, count: integer;

begin

  count := 0;

  maximum := 1000;

  for i := 1 to n do

  begin

    read(x);

    if x mod 2 = 0 then

    begin

      count := count + 1;

      if x > maximum then

          maximum := i

    end

  end;

  if count > 0 then

  begin

    writeln(count);

    writeln(maximum)

  end

  else

    writeln('NO')

end.

Си++

#include <iostream>

using namespace std;

#define n 4

int main(void)

{

  int i, x;

  int maximum, count;

  count = 0;

  maximum = 1000;

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

  {

    cin >> x;

    if (x % 2 == 0)

    {

      count++;

      if (x > maximum)

        maximum = i;

    }

  }

  if (count > 0)

  {

    cout << count << endl;

    cout << maximum << endl;

  }

  else

    cout << "NO\n";

}

 

 

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

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

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

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

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

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

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать положительные целые значения до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который находит сумму четных элементов массива, больших 150, а затем меняет все такие элементы массива на полученную сумму.

В качестве результата программа должна вывести измененный массив, по одному элементу в каждой строке.

 

 

БейсикPython

CONST N=30

DIM A(N) AS INTEGER

DIM I, J, K AS INTEGER

FOR I = 1 TO N

    INPUT A(I)

NEXT I

END

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

#использование #целочисленных

# переменных m, k

a = []

N = 30

for i in range(0, N):

    a.append(int(input()))

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

const

    N=30;

var

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

    i, j, k: integer;

begin

    for i:=1 to N do

        readln(a[i]);

    …

end.

алг

нач

    цел N=30

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

    цел i, j, k

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

        ввод a[i]

    кц

    …

кон

Си++

#include <iostream>

using namespace std;

const int N = 30;

int main(){

    int a[N];

    int i, j, k;

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

        cin >> a[i];

    …

    return 0;

}

 

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

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

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

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

1. Назовите максимальное значение S, при котором Петя не может выиграть первым ходом из позиции (7, S)

2. Кто имеет выигрышную стратегию из позиции (6,7)? Опишите эту стратегию.

3. Кто имеет выигрышную стратегию из позиции (2,3)? Опишите эту стратегию.

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

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

На вход программы поступает последовательность из N целых положительных чисел. Рассматриваются все пары различных элементов последовательности (элементы пары не обязаны стоять в последовательности рядом, порядок элементов в паре не важен). Необходимо вывести пару элементов, разность которых четна, а сумма максимальна. При этом по крайней мере одно число в паре делится на 31. Если таких пар несколько, то можно вывести любую из них. Если найти такую пару невозможно, то нужно вывести два нуля.

 

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

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

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

Максимальная оценка за правильную (не содержащую синтаксических ошибок и дающую правильный ответ при любых допустимых входных данных) программу, эффективную по времени и по памяти, — 4 балла. Максимальная оценка за правильную программу, эффективную только по времени — 3 балла. Максимальная оценка за правильную программу, не удовлетворяющую требованиям эффективности, — 2 балла. Вы можете сдать одну программу или две программы решения задачи (например, одна из программ может быть менее эффективна). Если Вы сдадите две программы, то каждая из них будет оцениваться независимо от другой, итоговой станет бо́льшая из двух оценок.

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