СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

КИМы по информатике для выпускников 11 класса

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«Вариант 1 ЕГЭ»

Источник информации https://www.kpolyakov.spb.ru/school/ege/generate.htm

Вариант № 1. ЕГЭ информатика.

1

Сколько значащих нулей в двоичной записи шестнадцатеричного числа 3FC516?

2

Логическая функция F задаётся выражением (¬a ∨ b ∨ ¬c) ∧ (b ∨ ¬c). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c.

В ответе напишите буквы a, b, c в том порядке, в котором идут соответствующие им столбцы (без разделителей).

3

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

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

4

В каталоге находятся файлы со следующими именами:

primera.dat
primera.doc
merchant.doc
k-mer.doc
omerta.doc
Tamerlan.docx

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

1) *mer?*.d* 2) *mer*?.doc*
3) ?*mer?*.doc 4) *?mer*?.doc*

5

В сообщении встречается 7 разных букв. При его передаче использован неравномерный двоичный код, удовлетворяющий условию Фано. Известны коды трёх букв: 1, 01, 001. Коды остальных четырёх букв имеют одинаковую длину. Какова минимальная суммарная длина всех семи кодовых слов?

6

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

1. прибавь 3
2. умножь на 2.

Запишите порядок команд в программе, которая преобразует число 11 в число 103 и содержит не более 5 команд. Указывайте лишь номера команд.

7

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

8

При каком наименьшем введенном числе d после выполнения программы будет напечатано 121?

Паскаль

Python

Си

var n, s, d: integer;
begin
readln(d);
n := 1;
s := 46;
while s
s := s + d;
n := n + 4
end;
write(n)
end.

d = int(input())
n = 1
s = 46
while s
s = s + d
n = n + 4
print(n)

#include
int main()
{ int n = 1, s = 46, d;
scanf("%d", &d);
while (s
s = s + d;
n = n + 4;
}
printf("%d", n);
return 0;
}



9

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

10

Сколько существует различных символьных последовательностей длины 3 в четырёхбуквенном алфавите {A,B,C,D}, если известно, что одним из соседей A обязательно является D, а буквы B и C никогда не соседствуют друг с другом?

11

Ниже записаны две рекурсивные функции (процедуры): F и G. Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?

Паскаль

Python

Си

procedure F(n: integer);
begin
if n 0 then G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n 1 then F(n - 3);
end;

def F(n):
if n 0: G(n - 1)
def G(n):
print("*")
if n 1: F(n - 3)

void F(int n) {
if (n 0) G(n - 1);
}
void G(int n) {
printf("*");
if (n 1) F(n - 3);
}



12

По заданным IP-адресу узла сети и маске определите адрес сети:

IP-адрес: 135.12.171.214
Маска: 255.255.248.0

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

13

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 400 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе?

14

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

1. заменить (v, w)
2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на
цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 193 идущих подряд цифр 5? В ответе запишите полученную строку.

НАЧАЛО
ПОКА нашлось (333) ИЛИ нашлось (555)
ЕСЛИ нашлось (555)
ТО заменить (555, 3)
ИНАЧЕ заменить (333, 5)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

15

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

16

Сколько единиц в двоичной записи числа

42016 – 22018 + 8800 – 80

17

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

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

18

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

ДЕЛ(x,А) → (¬ДЕЛ(x,21) ∨ ДЕЛ(x,35))

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

19

В программе описан одномерный целочисленный массив с индексами от 0 до 10. Ниже представлен фрагмент программы, обрабатывающей данный массив:

Паскаль

Python

Си

s:= 0;
n:= 10;
for i:=0 to n-3 do begin
s:= s + A[i] - A[i+2]
end;

s = 0
n = 10
for i in range(n-2):
s = s + A[i] - A[i+2]

s = 0;
n = 10;
for (i=0; i
s = s + A[i] - A[i+2];

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

20

Укажите наибольшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 120.

Паскаль

Python

Си

var x, L, M: integer;
begin
readln(x);
L:=0; M:=1;
while x 0 do begin
L:=L+1;
M:= M*(x mod 8);
x:= x div 8;
end;
writeln(L); write(M);
end.

x = int(input())
L = 0
M = 1
while x 0 :
L = L+1
M = M*(x % 8)
x = x // 8
print(L)
print(M)

#include
int main(void)
{
int L, M, x;
scanf(″%d″, &x);
L = 0; M = 1;
while (x 0) {
L = L + 1;
M = M*(x % 8);
x = x / 8;
}
printf(″%d\n%d″, L, M);
}



21

Напишите в ответе наибольшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 16.

Паскаль

Python

Си

var k, i : longint;
function f(n: longint): longint;
begin
f := n * n * n;
end;
function g(n: longint): longint;
begin
g := 3*n + 3;
end;
begin
readln(k);
i := 1;
while f(i)
i := i+1;
writeln(i)
end.

def f(n):
return n * n * n
def g(n):
return 3*n + 3
k = int(input())
i = 1
while f(i)
i+=1
print (i)

#include
long f(long n) {
return n * n * n;
}
long g(long n) {
return 3*n + 3;
}
int main()
{
long k, i;
scanf("%ld", &k);
i = 1;
while(f(i)
i++;
printf("%ld", i);
return 0;
}



22

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

1. Прибавить 1
2. Умножить на 2

Программа для исполнителя Калькулятор – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 33 и при этом траектория вычислений содержит число 16 и не содержит числа 30?

23

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

(x1 ∨ y1) ≡ (¬x2 ∧ ¬y2)
(x2 ∨ y2) ≡ (¬x3 ∧ ¬y3)
...
(x7 ∨ y7) ≡ (¬x8 ∧ ¬y8)

24

Требовалось написать программу, при выполнении которой с клавиатуры считывается натуральное число X, не превосходящее 1000, и выводится количество значащих цифр в двоичной записи этого числа. Программист написал программу неправильно.

Паскаль

Python

Си

var x, cnt: integer;
begin
readln(x);
cnt := 0;
while x 0 do begin
cnt:= cnt + x mod 2;
x := x div 10
end;
writeln(cnt)
end.

x = int(input())
cnt = 0
while x 0:
cnt = cnt + x % 2
x = x // 10
print(cnt)

#include
int main()
{
int x, cnt;
scanf("%d", &x);
cnt = 0;
while ( x 0 ) {
cnt = cnt + x % 2;
x = x / 10;
}
printf("%d", cnt);
return 0;
}

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

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

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

25

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от 0 до 100 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, сумма которых не кратна 6, а произведение меньше 1000. Под парой подразумевается два подряд идущих элемента массива.

Паскаль

Python

Си

const n = 20;
var
a: array [0..n-1]
of integer;
i, j, k: integer;
begin
for i:=0 to n-1 do
readln(a[i]);
...
end.

# допускается также
# использовать две
# целочисленные
# переменные j, k
a = []
n = 20
for i in range(n):
a.append(int(input()))
...

#include
#define n 20
int main() {
int a[n];
int i, j, k;
for (i = 0; i
scanf("%d", &a[i]);
...
return 0;
}



26

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 58. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, что в кучах всего будет 58 камней или больше.
  Задание 1. Для каждой из начальных позиций (9, 23), (10, 23) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
  Задание 2. Для каждой из начальных позиций (10, 22), (12,21) укажите, кто из игроков имеет выигрышную стратегию.
  Задание 3. Для начальной позиции (9,22) укажите, кто из игроков имеет выигрышную стратегию. Постройте дерево всех партий, возможных при указанной вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.

27

По каналу связи передаются данные в виде последовательности положительных целых чисел. Количество чисел заранее неизвестно, но не менее двух, признаком конца данных считается число 0. После данных передаётся контрольное значение. Оно равно такому максимально возможному произведению двух чисел из переданного набора, которое делится на 7, но не делится на 49. Если такое произведение получить нельзя, контрольное значение считается равным 1. Напишите эффективную, в том числе по памяти, программу, которая будет моделировать процесс приёма данных. Программа должна ввести все числа и контрольное значение и напечатать краткий отчёт, включающий количество принятых чисел, принятое контрольное значение, вычисленное контрольное значение и вывод о совпадении значений.
  В каждой строке исходных данных содержится одно целое число. Сначала идут строки с основными данными – положительными числами, затем число 0 (признак окончания данных), в последней строке – контрольное значение.
Пример входных данных:

6
7
8
9
0
64

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

Введено чисел: 4
Контрольное значение: 64
Вычисленное значение: 63
Значения не совпали





Просмотр содержимого документа
«Вариант 2 ЕГЭ»

Источник информации https://www.kpolyakov.spb.ru/school/ege/generate.htm

Вариант № 2. ЕГЭ информатика.

1

Сколько значащих нулей в двоичной записи шестнадцатеричного числа 75BD16?

2

Логическая функция F задаётся выражением (a ∧ ¬c) ∨ (¬a ∧ b ∧ c). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c.

В ответе напишите буквы a, b, c в том порядке, в котором идут соответствующие им столбцы (без разделителей).

3

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

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

4

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

5

По каналу связи с помощью равномерного двоичного кода передаются сообщения, содержащие только 4 буквы П, Р, С, Т. Каждой букве соответствует своё кодовое слово, при этом для набора кодовых слов выполнено такое свойство: любые два слова из набора отличаются не менее чем в трёх позициях. Это свойство важно для расшифровки сообщений при наличии помех. Для кодирования букв П, Р, С используются 5-битовые кодовые слова:

П – 01111, Р – 00001, С – 11000

5-битовый код для буквы Т начинается с 1 и заканчивается на 0. Определите кодовое слово для буквы Т.

6

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

1. прибавь 2,
2. умножь на 5.

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

7

В ячейки диапазонов C2:F6 и B3:B6 электронной таблицы записаны числа, как показано на рисунке. В ячейке A1 записали формулу =$E5 – D$3 После этого ячейку A1 скопировали в ячейку B2. Какое число будет показано в ячейке B2?

8

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

Паскаль

Python

Си

var n, s: integer;
begin
n:= 0;
s:= 0;
while s
s:= s + 36;
n:= n + 10
end;
write(n)
end.

n = 0
s = 0
while s
s = s + 36
n = n + 10
print(n)

#include
int main()
{ int n = 0, s = 0;
while (s
s = s + 36;
n = n + 10;
}
printf("%d", n);
return 0;
}



9

После преобразования растрового 256-цветного графического файла в черно-белый формат (2 цвета) его размер уменьшился на 7 Кбайт. Каков был размер исходного файла в Кбайтах?

10

Сколько слов длины 4, начинающихся с согласной буквы и заканчивающихся гласной буквой, можно составить из букв М, Е, Т, Р, О? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.

11

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

F(1) = 1
F(n) = F(n–1) * n, при n 1

Чему равно значение функции F(5)?

12

По заданным IP-адресу узла сети и маске определите адрес сети:

IP-адрес: 240.144.182.134
Маска: 255.255.248.0

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

13

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 300 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе?

14

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

1. заменить (v, w)
2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на
цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 93 идущих подряд цифр 8? В ответе запишите полученную строку.

НАЧАЛО
ПОКА нашлось (222) ИЛИ нашлось (888)
ЕСЛИ нашлось (222)
ТО заменить (222, 8)
ИНАЧЕ заменить (888, 2)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

15

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

16

Решите уравнение

121x + 1 = 1017

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

17

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

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

18

Введём выражение M & K, обозначающее поразрядную конъюнкцию M и K (логическое «И» между соответствующими битами двоичной записи). Определите наибольшее натуральное число A, такое что выражение

(X & A ≠ 0) → ((X & 20 = 0) → (X & 5 ≠ 0))

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

19

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

Паскаль

Python

Си

c := 0;
for i := 1 to 9 do
if A[i-1]
begin
t := A[i];
A[i] := A[i-1];
A[i-1] := t;
end
else
c := c + 1;

c = 0
for i in range(1,10):
if A[i-1]
t = A[i]
A[i] = A[i-1]
A[i-1] = t
else:
c = c + 1

c = 0;
for (i = 1;i
if (A[i-1]
t = A[i];
A[i] = A[i-1];
A[i-1] = t;
}
else c++;



20

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

Паскаль

Python

Си

var x, L, M: integer;
begin
readln(x);
L := x - 30;
M := x + 30;
while L M do
if L M then
L := L - M
else
M := M – L;
writeln(M);
end.

x = int(input())
L = x - 30
M = x + 30
while L != M:
if L M:
L = L - M
else:
M = M - L
print(M)

#include
void main()
{
int x, L, M;
scanf("%d", &x);
L = x - 30;
M = x + 30;
while (L != M) {
if(L M)
L = L - M;
else
M = M - L;
}
printf("%d", M);
}



21

Определите, количество чисел k, для которых следующая программа выведет такой же результат, что и для k = 12?

Паскаль

Python

Си

var k, i : longint;
function f(n: longint): longint;
begin
f:= 3*n*n - 2*n;
end;
begin
readln(k);
i := 1;
while f(i)
i := i + 1;
if f(i)-k
writeln(i)
else writeln(i-1);
end.

def f(n):
return 3*n*n - 2*n
k = int(input())
i = 1
while f(i)
i += 1
if f(i)-k
print(i)
else:
print(i-1)

#include
long f(long n) {
return 3*n*n - 2*n;
}
int main()
{
long k, i;
scanf("%ld", &k);
i = 1;
while ( f(i)
i++;
if (f(i)-k
printf("%ld", i);
else
printf("%ld", i-1);
return 0;
}



22

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

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

Программа для исполнителя Калькулятор – это последовательность команд. Сколько существует программ, для которых при исходном числе 3 результатом является число 18, предпоследней командой которых является команда «2»?

23

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

(x1 → x2) ∧ (x2 → x3) ∧ (x3 → x4) = 1
(y1 → y2) ∧ (y2 → y3) ∧ (y3 → y4) = 1
(z1 → z2) ∧ (z2 → z3) ∧ (z3 → z4) = 1
x4 ∧ y4 ∧ z4 = 0

24

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

Паскаль

Python

Си

var N: longint;
cnt: integer;
begin
readln(N);
cnt := 0;
while N 1 do begin
cnt:=cnt + N mod 10;
N := N div 10;
end;
writeln(cnt);
end.

N = int(input())
cnt = 0
while N 1:
cnt = cnt + N % 10
N = N // 10
print(cnt)

#include
int main()
{
int N, cnt;
scanf("%d", &N);
cnt = 0;
while (N 1) {
cnt = cnt + N % 10;
N = N / 10;
}
printf("%d",cnt);
return 0;
}

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

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

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

25

Дан массив, содержащий 2015 положительных целых чисел. Ямой называется не крайний элемент массива, который меньше обоих своих соседей. Необходимо найти в массиве самую глубокую яму, то есть яму, значение которой минимально. Если в массиве нет ни одной ямы, ответ считается равным 0. Например, в массиве из шести элементов, равных соответственно 4, 9, 2, 17, 3, 8, есть две ямы – 2 и 3, самая глубокая яма – 2.

Паскаль

Python

Си

const n = 2015;
var
a: array [0..n-1]
of integer;
i, j, k: integer;
begin
for i := 0 to n-1 do
readln(a[i]);
...
end.

# допускается также
# использовать две
# целочисленные
# переменные j и k
a = []
n = 2015
for i in range(n):
a.append(int(input()))
...

#include
#define n 2015
int main() {
int a[n];
int i, j, k;
for (i = 0; i
scanf("%d", &a[i]);
...
return 0;
}



26

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) два камня или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 75. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, что в кучах всего будет 75 камней или больше.
  Задание 1. Для каждой из начальных позиций (10, 32), (11, 31) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
  Задание 2. Для каждой из начальных позиций (10, 31), (11,30), (12,30) укажите, кто из игроков имеет выигрышную стратегию.
  Задание 3. Для начальной позиции (10,29) укажите, кто из игроков имеет выигрышную стратегию. Постройте дерево всех партий, возможных при указанной вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.

27

На спутнике «Фотон» установлен прибор, предназначенный для измерения энергии космических лучей. Каждую минуту прибор передаёт по каналу связи положительное вещественное число – количество энергии, полученной за последнюю минуту, измеренное в условных единицах. Временем, в течение которого происходит передача, можно пренебречь. Необходимо найти в заданной серии показаний прибора минимальное произведение двух показаний, между моментами передачи которых прошло не менее 6 минут. Количество энергии, получаемое прибором за минуту, не превышает 1000 условных единиц. Общее количество показаний прибора в серии не превышает 10 000.
  Задача А. Напишите программу для решения поставленной задачи, в которой входные данные будут запоминаться в массиве, после чего будут проверены все возможные пары элементов. Максимальная оценка за выполнение задания А – 2 балла.
  Задача Б. Напишите программу для решения поставленной задачи, которая будет эффективна как по времени, так и по памяти (или хотя бы по одной из этих характеристик).
  Входные данные представлены следующим образом. В первой строке задаётся число N – общее количество показаний прибора. Гарантируется, что N  6. В каждой из следующих N строк задаётся одно положительное число – очередное показание прибора.
Пример входных данных:

11
12
45
5
4
25
23
21
20
10
12
26

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

48




Просмотр содержимого документа
«Вариант 3 ЕГЭ»

Источник информации https://www.kpolyakov.spb.ru/school/ege/generate.htm

Вариант № 3. ЕГЭ информатика.

1

Сколько значащих нулей в двоичной записи шестнадцатеричного числа 3FC516?

2

Логическая функция F задаётся выражением (a ∧ b) ∨ (a ∧ ¬c). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c.

В ответе напишите буквы a, b, c в том порядке, в котором идут соответствующие им столбцы (без разделителей).

3

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

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

4

В фрагменте базы данных представлены сведения о родственных отношениях. Определите на основании приведенных данных идентификатор дяди Леоненко В.С. Пояснение: дядей считается брат отца или матери.

5

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

А – 10; Б – 11; В – 000; Г – 001; Д – 010.

Как можно сократить длину кодового слова для буквы Д так, чтобы код по-прежнему можно было декодировать однозначно? Коды остальных букв меняться не должны. Если есть несколько вариантов, выберите кодовое слово с минимальным значением.

6

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

1. Складываются отдельно первая, третья и пятая цифры, а также вторая и четвёртая цифры.
2. Полученные два числа записываются друг за другом в порядке неубывания без разделителей.

Пример. Исходное число: 63 179. Суммы: 6 + 1 + 9 = 16; 3 + 7 = 10. Результат: 1016. Укажите наименьшее число, при обработке которого автомат выдаёт результат 621.

7

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

8

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

Паскаль

Python

Си

var s, n: integer;
begin
s := 0;
n := 0;
while s
s := s + 8;
n := n + 2
end;
writeln(n)
end.

s = 0
n = 0
while s
s = s + 8
n = n + 2
print(n)

#include
int main()
{ int s = 0, n = 0;
while (s
s = s + 8;
n = n + 2;
}
printf("%d", n);
return 0;
}



9

После преобразования растрового 256-цветного графического файла в 4-цветный формат его размер уменьшился на 18 Кбайт. Каков был размер исходного файла в Кбайтах?

10

Вася составляет 5-буквенные слова, в которых есть только буквы С, Л, О, Н, причём буква С используется в каждом слове ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?

11

Ниже записаны две рекурсивные функции (процедуры): F и G. Сколько символов «звёздочка» будет напечатано на экране при выполнении вызова F(11)?

Паскаль

Python

Си

procedure F(n: integer);
begin
if n 0 then G(n - 1);
end;
procedure G(n: integer);
begin
writeln('*');
if n 1 then F(n - 2);
end;

def F(n):
if n 0: G(n - 1)
def G(n):
print("*")
if n 1: F(n - 2)

void F(int n) {
if (n 0) G(n - 1);
}
void G(int n) {
printf("*");
if (n 1) F(n - 2);
}



12

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

13

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 15 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, К, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего отведено 12 байт на одного пользователя. Определите объём памяти (в байтах), необходимый для хранения сведений о 50 пользователях.

14

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

1. заменить (v, w)
2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на
цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 93 идущих подряд цифр 8? В ответе запишите полученную строку.

НАЧАЛО
ПОКА нашлось (222) ИЛИ нашлось (888)
ЕСЛИ нашлось (222)
ТО заменить (222, 8)
ИНАЧЕ заменить (888, 2)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

15

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

16

Сколько единиц в двоичной записи числа

42016 – 22018 + 8800 – 80

17

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

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

18

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

((x ∈ P) → (x ∈ A)) ∨ ((x ∉ A) → (x ∉ Q))

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

19

Ниже представлен фрагмент программы, обрабатывающей одномерный целочисленный массив с индексами от 0 до 10. Известно, что в начале выполнения этого фрагмента в массиве находилась возрастающая последовательность чисел, то есть A[0]

Паскаль

Python

Си

s := 27;
n := 10;
for i:=0 to n-1 do begin
s:=s+A[i]-A[i+1]+2
end;

s = 27
n = 10
for i in range(n):
s=s+A[i]-A[i+1]+2

s = 27;
n = 10;
for (i=0; i
s=s+A[i]-A[i+1]+2;



20

Укажите наименьшее из таких чисел x, при вводе которых алгоритм печатает сначала 3, а потом 2.

Паскаль

Python

Си

var x, a, b, c: integer;
begin
readln(x);
a:=0; b:=0;
while x 0 do begin
c:= x mod 2;
if c = 0 then
a:= a + 1
else b:= b + 1;
x:= x div 10;
end;
writeln(a); write(b);
end.

x = int(input())
a = 0
b = 0
while x 0:
c = x % 2
if c == 0:
a = a + 1
else:
b = b + 1
x = x // 10
print(a)
print(b)

#include
int main(void)
{
int a, b, c, x;
scanf(″%d″, &x);
a = 0; b = 0;
while (x 0) {
c = x % 2;
if (c == 0)
a = a + 1;
else b = b + 1;
x = x / 10;
}
printf(″%d\n%d″, a, b);
}



21

Напишите в ответе наименьшее значение входной переменной k, при котором программа выдаёт тот же ответ, что и при входном значении k = 12.

Паскаль

Python

Си

var k, i : longint;
function f(n: longint): longint;
begin
f := n * n * n;
end;
function g(n: longint): longint;
begin
g := 3*n + 2;
end;
begin
readln(k);
i := 1;
while f(i)
i := i+1;
writeln(i)
end.

def f(n):
return n * n * n
def g(n):
return 3*n + 2
k = int(input())
i = 1
while f(i)
i+=1
print (i)

#include
long f(long n) {
return n * n * n;
}
long g(long n) {
return 3*n + 2;
}
int main()
{
long k, i;
scanf("%ld", &k);
i = 1;
while(f(i)
i++;
printf("%ld", i);
return 0;
}



22

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

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

Программа для исполнителя Калькулятор – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 13 и при этом траектория вычислений содержит число 7?

23

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

((x1 ≡ y1) → (x2 ≡ y2)) ∧ (x1 → x2) ∧ (y1 → y2) = 1
((x2 ≡ y2) → (x3 ≡ y3)) ∧ (x2 → x3) ∧ (y2 → y3) = 1
...
((x7 ≡ y7) → (x8 ≡ y8)) ∧ (x7 → x8) ∧ (y7 → y8) = 1

24

Дано целое положительное число N. Необходимо определить наименьшее целое число K, для которого выполняется неравенство:

1 + 2 + ... + K N.

Программист написал программу неправильно.

Паскаль

Python

Си

var n, k: integer;
begin
read(n);
k := 1;
while n 0 do begin
n := n - k;
k := k + 1;
end;
writeln(k)
end.

n = int(input())
k = 1
while n 0:
n = n - k
k = k + 1
print(k)

#include
int main()
{
int n, k;
scanf("%d",&n);
k = 1;
while (n 0) {
n = n - k;
k = k + 1;
}
printf("%d", k);
return 0;
}

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

1. Приведите пример числа N, при вводе которого программа выдаёт неверный ответ. Укажите этот ответ.
2. Приведите пример числа N, при вводе которого программа выдаёт верный ответ. Укажите этот ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

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

25

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

Паскаль

Python

Си

const n = 40;
var
a: array [0..n-1]
of integer;
i, j, k: integer;
begin
for i := 0 to n-1 do
readln(a[i]);
...
end.

# допускается также
# использовать две
# целочисленные
# переменные j, k
a = []
n = 40
for i in range(n):
a.append(int(input()))
...

#include
#define n 40
int main() {
int a[n];
int i, j, k;
for (i = 0; i
scanf("%d", &a[i]);
...
return 0;
}



26

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

27

Дан список точек плоскости с целочисленными координатами. Необходимо определить:
  1) номер координатной четверти K, в которой находится больше всего точек;
  2) точку A в этой четверти, наименее удалённую от осей координат;
  3) расстояние R от этой точки до ближайшей оси.
Если в нескольких четвертях расположено одинаковое количество точек, следует выбрать ту четверть, в которой величина R меньше. При равенстве и количества точек, и величины R необходимо выбрать четверть с меньшим номером K. Если в выбранной четверти несколько точек находятся на одинаковом минимальном расстоянии от осей координат, нужно выбрать
первую по списку. Точки, хотя бы одна из координат которых равна нулю, считаются не принадлежащими ни одной четверти и не рассматриваются. Напишите эффективную, в том числе по памяти, программу, которая будет решать эту задачу.
  В первой строке вводится одно целое положительное число – количество точек N. Каждая из следующих N строк содержит координаты очередной точки – два целых числа (первое – координата x, второе – координата y).
Пример входных данных:

7
-3 4
1 2
1 1
0 4
-2 -3
-6 8
-12 1

Программа должна вывести номер выбранной четверти K, количество точек в ней M, координаты выбранной точки A и минимальное расстояние R по образцу, приведённому ниже в примере.
Пример выходных данных для приведённого выше примера входных данных:

K = 2
M = 3
A = (-12, 1)
R = 1


Просмотр содержимого документа
«Вариант 4 ЕГЭ»

Источник информации https://www.kpolyakov.spb.ru/school/ege/generate.htm

Вариант № 4. ЕГЭ информатика.

1

Сколько единиц в двоичной записи шестнадцатеричного числа 4FA716?

2

Логическая функция F задаётся выражением (a ∧ b) ∨ (a ∧ ¬c). Определите, какому столбцу таблицы истинности функции F соответствует каждая из переменных a, b, c.

В ответе напишите буквы a, b, c в том порядке, в котором идут соответствующие им столбцы (без разделителей).

3

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

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

4

В фрагменте базы данных представлены сведения о родственных отношениях. На основании приведённых данных определите идентификатор дяди Корзуна П.А. (дядя – это родной брат матери или отца).

5

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

6

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

1. Строится двоичная запись числа N.
2. К этой записи дописываются справа ещё два разряда по следующему правилу:

а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа). Например, запись 11100 преобразуется в запись 111001;
б) над этой записью производятся те же действия – справа дописывается остаток от деления суммы цифр на 2.

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

7

Дан фрагмент электронной таблицы. Из одной из ячеек диапазона B1:B4 в одну из ячеек диапазона A1:A4 была скопирована формула. При этом адреса в формуле автоматически изменились и числовое значение в ячейке, куда производилось копирование, стало равным 31. В какую ячейку была скопирована формула? В ответе укажите только одно число – номер строки, в которой расположена ячейка.

8

При каком наибольшем введенном числе d после выполнения программы будет напечатано 150?

Паскаль

Python

Си

var n, s, d: integer;
begin
readln(d);
n := 3;
s := 38;
while s
s := s + d;
n := n + 7
end;
write(n)
end.

d = int(input())
n = 3
s = 38
while s
s = s + d
n = n + 7
print(n)

#include
int main()
{ int n = 3, s = 38, d;
scanf("%d", &d);
while (s
s = s + d;
n = n + 7;
}
printf("%d", n);
return 0;
}



9

Производилась двухканальная (стерео) звукозапись с частотой дискретизации 64 кГц и 24-битным разрешением. В результате был получен файл размером 120 Мбайт, сжатие данных не производилось. Определите приблизительно, сколько времени (в минутах) производилась запись. В качестве ответа укажите ближайшее к времени записи целое число, кратное 5.

10

Вася составляет 6-буквенные слова, в которых есть только буквы К, А, Н, Т, причём буква К используется в каждом слове ровно 2 раза. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Вася?

11

Функция F(n), где n – целое число, задана следующим образом:

Паскаль

Python

Си

function F(n: integer):
integer;
begin
if n 1 then
F := 2*n +
F(n-2)+F(n-3)
else
F := n + 5;
end;

def F(n):
if n 1:
return 2*n + \
F(n-2)+F(n-3)
else:
return n + 5

int F(int n) {
if (n 1)
return 2*n +
F(n-2)+F(n-3);
else
return n + 5;
}

Чему будет равно значение, вычисленное алгоритмом при выполнении вызова F(6)?

12

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

13

При регистрации в компьютерной системе каждому пользователю выдаётся пароль, состоящий из 11 символов и содержащий только символы из 12-символьного набора: А, В, C, D, Е, F, G, H, K, L, M, N. В базе данных для хранения сведений о каждом пользователе отведено одинаковое и минимально возможное целое число байт. При этом используют посимвольное кодирование паролей, все символы кодируют одинаковым и минимально возможным количеством бит. Кроме собственно пароля, для каждого пользователя в системе хранятся дополнительные сведения, для чего выделено целое число байт; это число одно и то же для всех пользователей. Для хранения сведений о 20 пользователях потребовалось 160 байт. Сколько байт выделено для хранения дополнительных сведений об одном пользователе?

14

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

1. заменить (v, w)
2. нашлось (v)

Первая команда заменяет в строке первое слева вхождение цепочки v на
цепочку w, вторая проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь».
Какая строка получится в результате применения приведённой ниже программы к строке, состоящей из 21 цифры, причем первые 18 цифр – восьмёрки, а остальные – пятерки? В ответе запишите полученную строку.

НАЧАЛО
ПОКА нашлось (555) ИЛИ нашлось (888)
ЕСЛИ нашлось (555)
ТО заменить (555, 8)
КОНЕЦ ЕСЛИ
ПОКА нашлось (888)
заменить (888, 5)
КОНЕЦ ПОКА
ЕСЛИ нашлось (555)
ТО заменить (555, 8)
КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ

15

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

16

В системе счисления с основанием N запись числа 87 оканчивается на 2 и содержит не более двух цифр. Чему равно число N? Если у задачи есть несколько решений, выберите наименьшее.

17

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

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

18

Элементами множеств А, P, Q являются натуральные числа, причём P={1,3,4,9,11,13,15,17,19,21}, Q={3,6,9,12,15,18,21,24,27,30}. Известно, что выражение

((x ∈ P) → (x ∈ A)) ∨ ((x ∉ A) → (x ∉ Q))

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

19

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

Паскаль

Python

Си

c := 0;
for i := 1 to 9 do
if A[i-1] = A[i] then
begin
t := A[i];
A[i] := A[i-1];
A[i-1] := t;
end
else
c := c + 1;

c = 0
for i in range(1,10):
if A[i-1] = A[i]:
t = A[i]
A[i] = A[i-1]
A[i-1] = t
else:
c = c + 1

c = 0;
for (i = 1;i
if (A[i-1] = A[i]) {
t = A[i];
A[i] = A[i-1];
A[i-1] = t;
}
else c++;



20

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

Паскаль

Python

Си

var x, L, M: integer;
begin
readln(x);
L := x - 20;
M := x + 15;
while L M do
if L M then
L := L - M
else
M := M – L;
writeln(M);
end.

x = int(input())
L = x - 20
M = x + 15
while L != M:
if L M:
L = L - M
else:
M = M - L
print(M)

#include
void main()
{
int x, L, M;
scanf("%d", &x);
L = x - 20;
M = x + 15;
while (L != M) {
if(L M)
L = L - M;
else
M = M - L;
}
printf("%d", M);
}



21

Определите, количество чисел k, для которых следующая программа выведет такой же результат, что и для k = 10?

Паскаль

Python

Си

var k, i : longint;
function f(n: longint): longint;
begin
f:= n * n * n;
end;
begin
readln(k);
i := 1;
while f(i)
i := i + 1;
if f(i)-k
writeln(i)
else writeln(i-1);
end.

def f(n):
return n * n * n
k = int(input())
i = 1
while f(i)
i += 1
if f(i)-k
print(i)
else:
print(i-1)

#include
long f(long n) {
return n * n * n;
}
int main()
{
long k, i;
scanf("%ld", &k);
i = 1;
while ( f(i)
i++;
if (f(i)-k
printf("%ld", i);
else
printf("%ld", i-1);
return 0;
}



22

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

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

Программа для исполнителя Калькулятор – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 12 и при этом траектория вычислений содержит число 7?

23

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

((x1 ≡ y1) → (x2 ≡ y2)) ∧ (x1 → x2) ∧ (y1 → y2) = 1
((x2 ≡ y2) → (x3 ≡ y3)) ∧ (x2 → x3) ∧ (y2 → y3) = 1
...
((x6 ≡ y6) → (x7 ≡ y7)) ∧ (x6 → x7) ∧ (y6 → y7) = 1

24

Даны целые положительные числа M и N. Необходимо определить количество таких целых чисел K, для которых выполняется неравенство M ≤ K3 ≤ N. Программист написал программу неправильно.

Паскаль

Python

Си

var m, n, k, t: integer;
begin
read(m, n);
k := 1;
t := 1;
while k*k*k
begin
if k*k*k m then
t := t + 1;
k := k + 1;
end;
writeln(t)
end.

m = int(input())
n = int(input())
k = 1
t = 1
while k*k*k
if k*k*k m:
t = t+1
k = k + 1
print(t)

#include
int main()
{
int m, n, k, t;
scanf("%d %d", &m, &n);
k = 1;
t = 1;
while (k*k*k
if (k*k*k m)
t = t + 1;
k = k + 1;
}
printf("%d", t);
return 0;
}

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

1. Напишите, что выведет эта программа при вводе чисел 10 и 100.
2. Приведите пример таких чисел M и N, при вводе которых программа выдаёт верный ответ. Укажите этот ответ.
3. Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк. Для каждой ошибки:

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

25

Дан массив, содержащий 40 положительных целых чисел. Напишите на одном из языков программирования программу, которая находит в этом массиве количество локальных минимумов. Локальным минимумом называется элемент массива, который меньше всех своих соседей. Например, в массиве из 6 элементов, содержащем числа 4, 6, 12, 7, 3, 8, есть два локальных минимума: это элементы, равные 4 и 3. Программа должна вывести общее количество подходящих элементов, значения элементов выводить не нужно.

Паскаль

Python

Си

const n = 40;
var
a: array [0..n-1]
of integer;
i, j, k: integer;
begin
for i := 0 to n-1 do
readln(a[i]);
...
end.

# допускается также
# использовать две
# целочисленные
# переменные j, k
a = []
n = 40
for i in range(n):
a.append(int(input()))
...

#include
#define n 40
int main() {
int a[n];
int i, j, k;
for (i = 0; i
scanf("%d", &a[i]);
...
return 0;
}



26

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 97. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, что в кучах всего будет 97 камней или больше.
  Задание 1. Для каждой из начальных позиций (10, 43), (12, 42) укажите, кто из игроков имеет выигрышную стратегию. В каждом случае опишите выигрышную стратегию; объясните, почему эта стратегия ведёт к выигрышу, и укажите, какое наибольшее количество ходов может потребоваться победителю для выигрыша при этой стратегии.
  Задание 2. Для каждой из начальных позиций (10, 42), (11, 42), (12, 41) укажите, кто из игроков имеет выигрышную стратегию.
  Задание 3. Для начальной позиции (11, 41) укажите, кто из игроков имеет выигрышную стратегию. Постройте дерево всех партий, возможных при указанной вами выигрышной стратегии. Представьте дерево в виде рисунка или таблицы.

27

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

3
6 6
-8 8
9 7

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

48


Просмотр содержимого документа
«Ответы ЕГЭ»

Ответы ЕГЭ информатика. 2020

Вариант 1

Ответ

Ответ

Ответ

Ответ


1:

4

2:

bac

3:

46

4:

4


5:

26

6:

21221

7:

3

8:

89


9:

60

10:

29

11:

3

12:

DGBH


13:

12

14:

55335

15:

60

16:

2395


17:

10

18:

5

19:

1798

20:

428


21:

20

22:

18

23:

162




24:

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

1) Неверное увеличение счётчика. Строка с ошибкой:

cnt := cnt + x mod 2;

Верное исправление:

cnt := cnt + 1;

2) Неверное изменение переменной x. Строка с ошибкой:

x := x div 10;

Верное исправление:

x := x div 2;

25:

Паскаль

Python

Си

k := 0;
for i:=0 to n-2 do
if ((a[i]+a[i+1])
mod 6 0) and
(a[i]*a[i+1]
then
k := k + 1;
writeln(k);

k = 0
for i in range(n-1):
if ((a[i]+a[i+1])%6!=0
and
(a[i]*a[i+1]
k += 1
print(k)

k = 0;
for(i=0;i
if (a[i]+a[i+1])%6!=0
&&
a[i]*a[i+1]
k ++;
printf("%d", k);



26:

Задание 1. В начальных позициях (9, 23), (10, 23) выигрышная стратегия есть у Пети.
Задание 2. В начальных позициях (10, 22), (12,21) выигрышная стратегия есть у Вани.
Задание 3. В начальной позиции (9,22) выигрышная стратегия есть у Пети.

27:

var x, max7, max, R, R1, count: integer;
begin
max:= 0; max7:= 0;
count:= 0;
while True do begin
read(x);
if x = 0 then break;
Inc(count);
if (x mod 7 = 0) and (x mod 49 0) and
(x max7) then max7:= x;
if (x mod 7 0) and (x max) then max:= x;
end;
read(R);
R1:= max7*max;
if R1 = 0 then R1:= 1;
writeln('Введено чисел: ', count);
writeln('Контрольное значение: ', R );
writeln('Вычисленное значение: ', R1);
if R1 = R then
writeln('Значения совпали')
else writeln('Значения не совпали')
end.



Вариант 2

Ответ

Ответ

Ответ

Ответ


1:

4

2:

cab

3:

8

4:

7


5:

10110

6:

1211

7:

9

8:

110


9:

8

10:

150

11:

120

12:

FCDA


13:

7

14:

288

15:

13

16:

20


17:

170

18:

21

19:

3

20:

120


21:

6

22:

377

23:

61




24:

Программа работает неправильно из-за неверного условия цикла и неверного увеличения переменной cnt. Программа будет работать верно в двух случаях: 1) если старшая цифра больше 1 и сумма цифр равна их количеству, или 2) если в числе старшая цифра равна 1, а сумма остальных цифр равна количеству всех цифр.

1. Программа выведет число 12.
2. Пример числа, при вводе которого программа выдаёт верный ответ: 130.
3. В программе есть две ошибки.

1) Неверное условие цикла. Строка с ошибкой:

while N 1

Верное исправление:

while N 0

2) Неверное увеличение переменной cnt. Строка с ошибкой:

cnt := cnt + N mod 10;

Верное исправление:

cnt := cnt + 1;

25:

Паскаль

Python

Си

k := 0;
for i:=1 to n-2 do begin
if (a[i]
and (a[i]
((a[i]
k := a[i];
end;
writeln(k);

k = 0
for i in range(1, n-1):
if (a[i]
a[i]
(a[i]
k = a[i]
print(k)

k = 0;
for (i = 1; i
if (a[i]
a[i]
(a[i]
k = a[i];
printf("%d", k);



26:

Задание 1. В начальных позициях (10, 32), (11, 31) выигрышная стратегия есть у Вани.
Задание 2. В начальных позициях (10, 31), (11,30), (12,30) выигрышная стратегия есть у Пети.
Задание 3. В начальной позиции (10,29) выигрышная стратегия есть у Вани.

27:

Задача А.

var N, i, j: integer;
a: array[1..10000] of real;
min: real;
begin
readln(N);
for i:=1 to N do read(a[i]);
min:= 1001;
for i:= 1 to N-6 do
for j:= i+6 to N do
if a[i]*a[j]
min := a[i]*a[j];
writeln(min)
end.

Задача Б.

const K = 6;
var data: array[0..K-1] of real;
min, minPrev, x: real;
N, i: integer;
begin
readln(N);
for i:=1 to K do
readln(data[i mod K]);
min := 1000001;
minPrev := 1001;
for i:=K+1 to N do begin
if data[i mod K]
minPrev := data[i mod K];
readln(x);
if minPrev*x
min := minPrev*x;
data[i mod K] := x;
end;
writeln(min);
end.

Вариант 3

Ответ

Ответ

Ответ

Ответ


1:

4

2:

cba

3:

20

4:

24


5:

01

6:

30969

7:

8

8:

28


9:

24

10:

405

11:

4

12:

240


13:

1000

14:

288

15:

15

16:

2395


17:

280

18:

3

19:

37

20:

10001


21:

9

22:

169

23:

25




24:

1. При вводе числа 2 программа выведет неверный ответ 3 (правильный ответ – 2).
2. При вводе числа 1 программа выведет верный ответ 2.
3. В программе есть две ошибки.

1) Неверное условие цикла. Строка с ошибкой:

while n 0 do

Верное исправление:

while n = 0 do

2) Неверный вывод результата. Строка с ошибкой:

writeln(k);

Верное исправление:

writeln(k-1);

В п. 3 можно исправить только одну ошибку:

1) Неверное условие цикла. Строка с ошибкой:

while n 0 do

Верное исправление:

while n = k

25:

Паскаль

Python

Си

k := 0;
for i:=0 to n-2 do begin
if (a[i]*a[i+1] mod 2 0)
and
(a[i]+a[i+1]0) then
k := k + 1;
end;
writeln(k);

k = 0
for i in range(n-1):
if (a[i]*a[i+1]%2!=0
and
a[i]+a[i+1]0):
k += 1
print(k)

k = 0;
for(i=0;i
if (a[i]*a[i+1]%2!=0
&&
a[i]+a[i+1]0)
k ++;
printf("%d", k);



26:

  Задание 1. а) S = 17...33 б) S = 16.
  Задание 2. S = 8, 14, 15.
  Задание 3. S = 13.

27:

var count, R, xR, yR: array[1..4] of integer;
i, k, N, x, y: integer;
begin
for i:=1 to 4 do count[i] := 0;
readln(N);
for i:=1 to N do begin
readln(x, y);
if x*y 0 then begin
if (x 0) and (y 0) then k:= 1 else
if (x 0) then k:= 2 else
if (x
count[k]:= count[k] + 1;
if (count[k] = 1) or
(abs(x)
if abs(x) выбрать min(abs(x),abs(y))}
R[k]:= abs(x)
else R[k]:= abs(y);
xR[k]:= x; yR[k]:= y;
end;
end;
end;
k:=1;
for i:=2 to 4 do
if (count[i]count[k]) or
(count[i] = count[k]) and (R[i]
k:= i;
writeln('K = ', k);
writeln('M = ', count[k]);
writeln('A = (', xR[k], ',', yR[k], ')');
writeln('R = ', R[k]);
end.



Вариант 4

Ответ

Ответ

Ответ

Ответ


1:

10

2:

bac

3:

46

4:

1099


5:

12

6:

132

7:

3

8:

58


9:

5

10:

1215

11:

56

12:

192


13:

2

14:

5

15:

22

16:

17


17:

665

18:

4

19:

4

20:

125


21:

13

22:

104

23:

22




24:

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

1. Программа выведет число 3.
2. Пример чисел, при вводе которых программа выдаёт верный ответ: 1 и 10. Программа выводит 2.
3. В программе есть две ошибки.

1) Неверная инициализация переменной t. Строка с ошибкой:

t := 1;

Верное исправление:

t := 0;

2) Неверное условие в условном операторе. Строка с ошибкой:

if k*k*k m

Верное исправление:

if k*k*k = m

25:

Паскаль

Python

Си

k := 0;
if a[0]
for i:=1 to n-2 do
if (a[i-1]a[i]) and
(a[i]
k:=k+1;
if a[n-2]a[n-1] then
k:=k+1;
writeln(k);

k = 0
if a[0]
k = k + 1;
for i in range(n-1):
if (a[i-1]a[i] and
a[i]
k += 1
if a[n-2]a[n-1]:
k = k + 1
print(k)

k = 0;
if (a[0]
for i in range(n-1):
if (a[i-1]a[i] &&
a[i]
k++;
if (a[n-2]a[n-1]) k++;
printf("%d", k);



26:

Задание 1. В начальных позициях (10, 43), (12, 42) выигрышная стратегия есть у Вани.
Задание 2. В начальных позициях (10, 42), (11, 42) и (12, 41) выигрышная стратегия есть у Пети.
Задание 3. В начальной позиции (11, 41) выигрышная стратегия есть у Вани.

27:

var N: integer; {количество точек}
x,y: integer; {координаты очередной точки}
amax, bmax: integer;
s: real; {площадь}
i: integer;
begin
readln(N);
amax:=0; bmax:=0;
for i:=1 to N do begin
readln(x,y);
if (x=y) and (abs(x)amax) then amax:=abs(x);
if (x=-y) and (abs(x)bmax) then bmax:=abs(x);
end;
s:=amax*bmax;
if s=0 then writeln('Треугольник не существует')
else writeln(s)
end.






Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!