Сдам ГИА: решу ОГЭ, ЕГЭ, ВПР, ЦТ- образовательный портал для подготовки к экзаменам
1
отзыв
5.00
рейтинг
Добавить свой отзыв
1127
просмотров
Дистанционное обучение сейчас все больше становится популярным . Одним из лучших образовательный ресурсов на данный момент является сайт “Сдам ГИА: решу ОГЭ, ЕГЭ, ВПР, ЦТ”. О его плюсах и минусах можно узнать из отзывов.
Являетесь представителем?
Задания
Версия для печати и копирования в MS Word
В таблице приведены запросы и количество страниц, которые нашел поисковый сервер по этим запросам в некотором сегменте Интернета:
Запрос | Количество страниц (тыс.) |
---|---|
пирожное | выпечка | 14200 |
пирожное | 9700 |
пирожное & выпечка | 5100 |
Сколько страниц (в тысячах) будет найдено по запросу выпечка?
Спрятать решение
Решение.
По формуле включений и исключений имеем:
Ответ: 9600.
В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&».
В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.
Запрос | Найдено страниц (в тысячах) |
---|---|
Пушкин | Лермонтов | 5200 |
Лермонтов | 2100 |
Пушкин & Лермонтов | 300 |
Какое количество страниц (в тысячах) будет найдено по запросу Пушкин? Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.
Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём парой два идущих подряд элемента последовательности. Определите количество пар, в которых хотя бы один из двух элементов делится на 5 и хотя бы один из двух элементов меньше среднего арифметического всех элементов последовательности, значение которых нечетно. В ответе запишите два числа: сначала количество найденных пар, а затем — максимальную сумму элементов таких пар.
Например, в последовательности (8 10 2 9 5) есть две подходящие пары: (10 2) и (9 5), в ответе для этой последовательности надо записать числа 2 и 14.
Ответ:
Определите, при каком наименьшем введённом значении переменной s программа выведет число 32. Для Вашего удобства программа представлена на четырёх языках программирования.
Паскаль | Python |
---|---|
var s, n: integer; begin readln (s); s := (s − 21) div 10; n := 1; while s > 0 do begin n := n * 2; s := s − n; end; writeln(n) end. | s = int(input()) s = (s − 21) // 10 n = 1 while s > 0: n = n * 2 s = s – n print(n) |
Алгоритмический язык | С++ |
алг нач цел n, s ввод s s := div( (s − 21), 10) n := 1 нц пока s > 0 n := n * 2 s := s − n кц вывод n кон | #include <iostream> using namespace std; int main() { int s, n; cin >> s; s = (s − 21) / 10; n = 1 ; while (s > 0) { n = n * 2; s = s − n; } cout << n << endl; return 0; } |
На рисунке схема дорог N-ского района изображена в виде графа, в таблице содержатся сведения о протяжённости каждой из этих дорог (в километрах).
П1 | П2 | П3 | П4 | П5 | П6 | П7 | |
П1 | 3 | 4 | |||||
П2 | 3 | 12 | 13 | ||||
П3 | 10 | 11 | |||||
П4 | 10 | 9 | 7 | ||||
П5 | 4 | 12 | 11 | 9 | 8 | 6 | |
П6 | 13 | 8 | 5 | ||||
П7 | 7 | 6 | 5 |
Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. Определите, какова сумма протяжённостей дорог из пункта Б в пункт В и из пункта Г в пункт Д.
В ответе запишите целое число.
Решение.
Заметим, что К — единственная вершина шестой степени, значит, К соответствует П5. Вершины А и Е — единственные вершины степени 2, тогда они могут соответствовать П1 и П3. Вершины Б и Д связаны с вершинами А и Е, тогда из таблицы получаем, что они могут соответствовать П2 и П4. Тогда В и Г могут соответствовать П6 и П7.
Заметим, что точное соответствие букв пунктам не важно. Таким образом, сумма протяжённостей дорог из пункта Б в пункт В и из пункта Г в пункт Д равна 13 + 7 = 20.
Ответ: 20.
Дана последовательность из N натуральных чисел. Рассматриваются все её непрерывные подпоследовательности, такие что сумма элементов каждой из них кратна k = 43. Найдите среди них подпоследовательность с максимальной суммой, определите её длину. Если таких подпоследовательностей найдено несколько, в ответе укажите количество элементов самой короткой из них.
Входные данные
Даны два входных файла (файл A и файл B), каждый из которых содержит в первой строке количество чисел N (1 ≤ N ≤ 10 000 000). Каждая из следующих N строк содержит одно натуральное число, не превышающее 10 000.
Пример организации исходных данных во входном файле:
7
1
3
4
93
8
5
95
В ответе укажите два числа: сначала значение искомой длины для файла А, затем — для файла B.
Предупреждение: для обработки файла B не следует использовать переборный алгоритм, вычисляющий сумму для всех возможных вариантов, поскольку написанная по такому алгоритму программа будет выполняться слишком долго.
На рисунке — схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой.
Сколько существует различных путей из города А в город К, не проходящих через пункт В?
Решение.
Количество путей до города Х = количество путей добраться в любой из тех городов, из которых есть дорога в Х. При этом, если путь не должен проходить через какой-то город, нужно просто не учитывать этот город при подсчёте сумм. А если город, наоборот, обязательно должен лежать на пути, тогда для городов, в которые из нужного города идут дороги, в суммах нужно брать только этот город.
С помощью этого наблюдения посчитаем последовательно количество путей до каждого из городов:
А = 1.
Б = А = 1.
Г = А = 1 (В не учитываем, поскольку путь не должен проходить через город В).
Д = Б = 1 (В не учитываем, поскольку путь не должен проходить через город В).
Е = Г + Д = 2 (В не учитываем, поскольку путь не должен проходить через город В).
Ж = Д = 1.
И = Г + Е = 3.
К = Д + Ж + И = 5.
Примечание. Необходимо найти количество различных путей из города А в город К, не проходящих через город В.
Ответ: 5.
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок кофе растворимого, имеющихся в наличии в магазинах Первомайского района, за период с 1 по 10 июня включительно.
В ответе запишите только число.
В каждой строке электронной таблицы записаны три натуральных числа, задающих длины трёх взаимно перпендикулярных рёбер прямоугольного параллелепипеда. Определите, сколько в таблице троек, для которых у заданного ими параллелепипеда для любых трёх граней с общей вершиной сумма площадей двух из них больше площади третьей.
Спрятать решение
Решение.
Для нахождения количества параллелепипедов, удовлетворяющих условию, необходимо найти площадь наибольшей грани и сумма площадей двух других граней. То есть для каждой тройки чисел необходимо найти произведение двух наибольших чисел, а также сумму произведений наибольшего и наименьшего чисел и среднего по величине и наименьшего чисел. В ячейку D1 запишем формулу
и скопируем её во все ячейки диапазона D2:D5000. Таким образом, для каждой тройки чисел найдём произведение двух наибольших чисел. В ячейку E1 запишем формулу
и скопируем её во все ячейки диапазона E2:E5000. Таким образом, для каждой тройки чисел найдём сумму произведений наибольшего и наименьшего чисел и среднего по величине и наименьшего чисел. Теперь в ячейке F1 запишем формулу =ЕСЛИ(D1 < E1;1;0) и скопируем её во все ячейки диапазона F2:F5000. Окончательно, с помощью формулы =СУММ(F1:F5000) получим ответ — 1878.
Ответ: 1878.
В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, для которых произведение элементов не кратно 14, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.
Ответ:
Спрятать решение
Решение.
Сначала считаем все числа из файла в массив. Для каждой пары будем проверять, кратно ли 14 произведение элементов пары. Если произведение не кратно 14, будем увеличивать значения счётчика count и проверять, больше ли сумма элементов пары текущей максимальной суммы. Если сумма элементов пары больше текущей максимальной суммы, будем обновлять значение переменной maxsum.
Приведём решение задачи на языке Pascal.
var
i, j: integer;
count: longint;
maxsum: integer;
arr: array[1..10000] of integer;
f: text;
begin
assign(f,’C:\17.txt’);
reset(f);
maxsum := 0;
count := 0;
for i := 1 to 10000 do readln(f, arr[i]);
for i := 1 to 10000 – 1 do
for j := i + 1 to 10000 do begin
if (arr[i] * arr[j] mod 14 <> 0) then begin
count := count + 1;
if arr[i] + arr[j] > maxsum then maxsum := arr[i] + arr[j];
end;
end;
writeln(count, ‘ ‘, maxsum);
end.
Приведём решение Николая Чуркина (Тимашевск) на языке Python.
count = m = 0
f = open(’17.txt’)
l = [int(i) for i in f]
for i in range(len(l) – 1):
for j in range(i + 1, len(l)):
if l[i] * l[j] % 14 != 0:
count += 1
m = max(m, l[i] + l[j])
print(count, m)
В результате работы данного алгоритма при вводе данных из файла ответ — 40436496 19999.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, разность которых четна и хотя бы одно из чисел делится на 19, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.
Ответ:
Спрятать решение
Решение.
Сначала считаем все числа из файла в массив. Для каждой пары будем проверять, делится ли хотя бы одно число из пары на 19, а также то, чётна ли разность элементов пары. При успешном выполнении условий будем увеличивать значения счётчика count и проверять, больше ли сумма элементов пары текущей максимальной суммы. Если сумма элементов пары больше текущей максимальной суммы, будем обновлять значение переменной maxsum.
Приведём решение задачи на языке Pascal.
var
i, j: integer;
count: longint;
maxsum: integer;
arr: array[1..10000] of integer;
f: text;
begin
assign(f,’C:\17.txt’);
reset(f);
maxsum := 0;
count := 0;
for i := 1 to 10000 do readln(f, arr[i]);
for i := 1 to 10000 – 1 do
for j := i + 1 to 10000 do begin
if (arr[i] mod 19 = 0) or (arr[j] mod 19 = 0) then
if ((arr[i] – arr[j]) mod 2 = 0) then begin
count := count + 1;
if arr[i] + arr[j] > maxsum then maxsum := arr[i] + arr[j];
end;
end;
writeln(count, ‘ ‘, maxsum);
end.
Приведём решение Николая Чуркина (Тимашевск) на языке Python.
count = m = 0
f = open(’17.txt’)
l = [int(i) for i in f]
for i in range(len(l) – 1):
for j in range(i + 1, len(l)):
if (l[i] – l[j]) % 2 == 0 and (l[i] % 19 == 0 or l[j] % 19 == 0):
count += 1
m = max(m, l[i] + l[j])
print(count, m)
В результате работы данного алгоритма при вводе данных из файла ответ — 2551262 19994.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, у которых сумма нечётна, а произведение делится на 5, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.
Ответ:
Спрятать решение
Решение.
Сначала считаем все числа из файла в массив. Для каждой пары будем проверять, кратно ли 5 произведение элементов пары и нечётна ли сумма элементов пары. Если произведение кратно 5, а сумма элементов нечётна, будем увеличивать значения счётчика count и проверять, больше ли сумма элементов пары текущей максимальной суммы. Если сумма элементов пары больше текущей максимальной суммы, будем обновлять значение переменной maxsum.
Приведём решение задачи на языке Pascal.
var
i, j: integer;
count: longint;
maxsum: integer;
arr: array[1..10000] of integer;
f: text;
begin
assign(f,’C:\17.txt’);
reset(f);
maxsum := 0;
count := 0;
for i := 1 to 10000 do readln(f, arr[i]);
for i := 1 to 10000 – 1 do
for j := i + 1 to 10000 do begin
if ((arr[i] * arr[j]) mod 5 = 0) and ((arr[i] + arr[j]) mod 2 <> 0) then begin
count := count + 1;
if arr[i] + arr[j] > maxsum then maxsum := arr[i] + arr[j];
end;
end;
writeln(count, ‘ ‘, maxsum);
end.
Приведём решение Николая Чуркина (Тимашевск) на языке Python.
count = m = 0
f = open(’17.txt’)
l = [int(i) for i in f]
for i in range(len(l) – 1):
for j in range(i + 1, len(l)):
if (l[i] + l[j]) % 2 != 0 and (l[i] * l[j]) % 5 == 0:
count += 1
m = max(m, l[i] + l[j])
print(count, m)
В результате работы данного алгоритма при вводе данных из файла ответ — 9082691 19995.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, у которых разность элементов кратна 60 и хотя бы один из элементов кратен 15, затем максимальную из разностей элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.
Ответ:
Спрятать решение
Решение.
Сначала считаем все числа из файла в массив. Для каждой пары будем проверять, кратна ли 60 разность элементов пары и кратен ли 15 хотя бы один из элементов пары. Если разность элементов кратна 60 и хотя бы один из элементов пары кратен 15, будем увеличивать значения счётчика count и проверять, больше ли разность элементов пары текущей максимальной разности. Если разность элементов пары больше текущей максимальной разности, будем обновлять значение переменной maxdif.
Приведём решение задачи на языке Pascal.
var
i, j: integer;
count: longint;
maxdif: integer;
arr: array[1..10000] of integer;
f: text;
begin
assign(f,’C:\17.txt’);
reset(f);
maxdif := 0;
count := 0;
for i := 1 to 10000 do readln(f, arr[i]);
for i := 1 to 10000 – 1 do
for j := i + 1 to 10000 do begin
if (abs(arr[i] – arr[j]) mod 60 = 0) and ((arr[i] mod 15 = 0) or (arr[j] mod 15 = 0)) then begin
count := count + 1;
if abs(arr[i] – arr[j]) > maxdif then maxdif := abs(arr[i] – arr[j]);
end;
end;
writeln(count, ‘ ‘, maxdif);
end.
В результате работы данного алгоритма при вводе данных из файла ответ — 63517 9960.
Приведём решение задачи на языке Python.
with open(’17.txt’) as f:
s = [int(x)for x in f]
res = []
for i in range (0, len(s)):
for j in range(i+1, len(s)):
if ((s[i]-s[j]) % 60 == 0) and ((s[i]) % 15 == 0) or ((s[j]) % 15 == 0):
res.append(s[i]-s[j])
print(len(res), max(res))
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых нет ни одной буквы A и при этом не менее трёх букв E.
Для выполнения этого задания следует написать программу. Ниже приведён файл, который необходимо обработать с помощью данного алгоритма.
Спрятать решение
Решение.
Для решения данной задачи будем посимвольно считывать текстовый файл. Объявим переменную c, которая будет хранить очередной считанный символ. Далее объявим переменную countE, в которой будем хранить число символов «E» в текущей последовательности. Также объявим переменные k и max. Первая нужна для определения длины каждой последовательности символов, среди которых нет символов «A», вторая — для хранения максимальной длины такой последовательности. Если будет встречен символ «A» и переменная countE будет больше двух, будет сравниваться текущая длина последовательности со значением в переменной max. Если текущая длина больше, переменная max перезаписывается.
Приведём решение данной задачи на языке Pascal.
var k, max, countE: integer;
c: char;
f: text;
begin
assign(f,’C:\24.txt’);
reset(f);
k := 0;
max := 0;
countE := 0;
while not Eof(f) do begin
read(f, c);
if (c = ‘A’) then begin
if countE > 2 then begin
if k > max then max := k;
end;
k := 0;
countE := 0;
end
else begin
if c = ‘E’ then countE := countE + 1;
k := k + 1;
end;
end;
if k > max then
max := k;
writeln(max);
end.
В результате работы данного алгоритма при вводе данных из файла в условии получаем ответ — 282.
Ответ: 282.
Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.
Приведём решение Константина Дубова на языке Python.
with open(’24.txt’)as f:
l = f.readline()
count, mak = 0, 0
k = 0
for i in range(0, len(l)):
if l[i] != ‘A’:
count += 1
if l[i] == ‘A’:
if count >= 3:
t = l[i – count: i]
u = 0
while “E” in t:
u += 1
t = t.replace(‘E’, ‘K’, 1)
if u >= 3:
mak = max(mak, count)
count = 0
print(mak)
Подборка вариантов ЕГЭ 2022 по информатике для 11 класса с ответами.
vk.com/info_ege_academiaa | ||
вариант 1 | ответы | доп. файлы |
вариант 2 | ответы | доп. файлы |
вариант 3 | ответы | доп. файлы |
вариант 4 | ответы | доп. файлы |
вариант 5 | ответы | доп. файлы |
вариант 6 | ответы | доп. файлы |
вариант 7 | ответы | доп. файлы |
вариант 8 | ответы | доп. файлы |
вариант 9 | ответы | доп. файлы |
вариант 10 | ответы | доп. файлы |
вариант 11 | ответы | доп. файлы |
вариант 12 от 11.03.22 | ответы | доп. файлы |
vk.com/inform_web | ||
вариант 1 | разбор | файлы |
вариант 2 | разбор | |
vk.com/ege100ballov | ||
Вариант 1 | доп. файлы |
Инструкция по выполнению работы
Экзаменационная работа состоит из 27 заданий с кратким ответом, выполняемых с помощью компьютера.
На выполнение экзаменационной работы по информатике отводится 3 часа 55 минут (235 минут).
Экзаменационная работа выполняется с помощью специализированного программного обеспечения, предназначенного для проведения экзамена в компьютерной форме.
При выполнении заданий Вам будут доступны на протяжении всего экзамена текстовый редактор, редактор электронных таблиц, системы программирования.
Расположение указанного программного обеспечения на компьютере и каталог для создания электронных файлов при выполнении заданий Вам укажет организатор в аудитории.
На протяжении сдачи экзамена доступ к сети Интернет запрещён.
При выполнении заданий можно пользоваться черновиком. Записи в черновике не учитываются при оценивании работы.
Баллы, полученные Вами за выполненные задания, суммируются. Постарайтесь выполнить как можно больше заданий и набрать наибольшее количество баллов.
Связанные страницы:
Задание 11 ЕГЭ по информатике
Задание №5 ЕГЭ по информатике – практика
Открытый вариант ЕГЭ по информатике 2021 от ФИПИ
Задание №2 ЕГЭ по информатике – практика
Разбор задания № 17 ЕГЭ по информатике – проверка делимости чисел
В файле приведён фрагмент базы данных «Продукты», содержащей информацию о поставках товаров и их продаже. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины города в первой декаде июня 2021 г. и о продаже товаров в этот же период. Таблица «Товар» содержит данные о товарах. Таблица «Магазин» содержит адреса магазинов.
На рисунке приведена схема базы данных, содержащая все поля каждой таблицы и связи между ними.
Используя информацию из приведённой базы данных, определите общую стоимость продуктов, поставленных за указанный период с макаронной фабрики в магазины Первомайского района.
В ответе запишите целое число — найденную общую стоимость в рублях.
Спрятать решение
Решение.
Открыв файл, перейдём на лист «Магазин». Воспользуемся стандартными средствами редактора Microsoft Excel, требуется отфильтровать записи в таблице, оставив только записи для магазинов Первомайского района. Для этого включим фильтр. Получаем следующую таблицу:
Перейдём на лист «Товар». В этой таблице, снова воспользовавшись фильтром, найдём артикулы товаров, поставляемых макаронной фабрикой — 24, 25, 26 и 27:
Теперь перейдём на лист «Движение товаров». Снова воспользуемся фильтром по столбцу «ID магазина», чтобы вывести в таблице только те записи, которые относятся к магазинам Первомайского района. В фильтре отметим те ID магазинов, которые были найдены в таблице «Магазин» — M2, M4, M7, М8, М12, М13 и М16. Также применим фильтр к столбцу «Артикул», чтобы оставить только записи о движении товаров по артикулам 24, 25, 26 и 27. Окончательно, оставим только операции типа «Поступление». В результате получим следующую таблицу:
Скопируем полученную таблицу на отдельный лист. В результате получаем следующую таблицу:
Необходимо посчитать общую стоимость продуктов, поставленных с макаронной фабрики. Для этого в каждой строке необходимо умножить количество упаковок на цену. В ячейке H2 запишем формулу =F2*G2 и скопируем во все ячейки диапазона H3:H29. В ячейке I2 запишем формулу =СУММ(H2:H29) и получим ответ — 241080.
Ответ: 241080.
СДАМ ГИА: РЕШУ ОГЭ и ЕГЭ образовательный портал Дмитрия Гущина. Опыт использования
Предлагаемый пользователю портала РЕШУ ОГЭ и ЕГЭ инструментарий весьма широк, и позволяет пройти тестирование как по отдельным темам, так и по комплексному заданию. Чрезвычайно полезной является функция случайного выбора заданий из каталога. Она реализуется кнопками Шаблон домашней работы и Шаблон контрольной работы.
Когда задается так называемая домашняя работа то достоинства рендомизированного выбора задания нивелируются тем, что в каждом задании указан его номер. Учащиеся на другой вкладке открывают каталог и, найдя там по этому идентификатору ответ, вбивают его в текст работы.
При задании контрольной работы номер не проставляется, однако в некоторых типах задач можно весьма быстро найти правильный ответ по тексту. Таким образом ресурс сейчас можно использовать лишь как средство подготовки учащихся к тестированию в классе.
Для получения объективных результатов оценки качества обученности возможны следующие варианты применения: тестирование на сайте Гущина СДАМ ГИА: РЕШУ ОГЭ и ЕГЭ, тестирование с использованием других систем или бумажных носителей. Опыт показывает что единственным способом проведения объективного тестирования на описываемом ресурсе является отключения доступа к Интернету после получения учащимися задания, и включение его для отсылки результатов. Если такой технической возможности нет, то задания приходится копировать в другую систему тестирования. Я использую MyTestX от А. Башлакова (http://mytest.klyaksa.net).
Перейду к алгоритму использования ресурса СДАМ ГИА: РЕШУ ОГЭ и ЕГЭ для создания многовариантной проверочной работы. ОГЭ — это стандартизованный экзамен, то есть каждому типу задания соответствует определенная тема, и все, что нужно сделать — выучить теорию и решать, решать, решать задания по последовательно по каждой теме, постепенно набивая руку до автоматизма. Каких-то неожиданных, или не относящихся к школьной программе заданий на экзамене быть не может. Опыт показывает что хорошим методом подготовки является решение большого количества однотипных заданий, именно такой тест мы и создадим.
Заходим на вкладку «Учителю»
Нам понадобятся кнопки
Очистить поля, Шаблон домашней работы или Шаблон контрольной работы |
Нажмем кнопку Очистить поля, и поставим в нужной нам теме необходимое число вариантов. Если нам необходимо иметь четыре варианта, лучше поставить цифру 10, чтобы получить возможность выбрать. Теперь надо создать шаблон работы. |
Зададим параметры теста, из этой вкладки доступна версия для печати. |
Перейдем к «Версии для печати…»
Ставим флажки в нужные чекбоксы |
Осталось скопировать полученный текст в текстовый редактор, сохранить, и использовать для подготовки к уроку. При необходимости иметь ключ его стоит копировать в электронные таблицы, а уже из них в текстовый документ. Таким образом образовательный портал Дмитрия Гущина СДАМ ГИА: РЕШУ ОГЭ и ЕГЭ позволяет экономить время на подготовку к урокам.
Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2.
15.1 Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды — это команды-приказы:
вверх вниз влево вправо
При выполнении любой из этих команд Робот перемещается на одну клетку соответственно: вверх ↑, вниз ↓, влево ←, вправо →. Если Робот получит команду передвижения сквозь стену, то он разрушится. Также у Робота есть команда закрасить, при которой закрашивается клетка, в которой Робот находится в настоящий момент.
Ещё четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:
сверху свободно снизу свободно слева свободно справа свободно
Эти команды можно использовать вместе с условием «eсли», имеющим следующий вид:
если условие то
последовательность команд
все
Здесь условие — одна из команд проверки условия. Последовательность команд — это одна или несколько любых команд-приказов.
Например, для передвижения на одну клетку вправо, если справа нет стенки и закрашивания клетки, можно использовать такой алгоритм:
если справа свободно то
вправо
закрасить
все
В одном условии можно использовать несколько команд проверки условий, применяя логические связки и, или, не, например:
если (справа свободно) и (не снизу свободно) то
вправо
все
Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:
нц пока условие
последовательность команд
кц
Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:
нц пока справа свободно
вправо
кц
Выполните задание.
На бесконечном поле имеются две вертикальные стены и одна горизонтальная, соединяющая нижний конец левой и верхний конец правой вертикальных стен. Длины стен неизвестны. Робот находится в клетке, расположенной слева от нижнего края правой вертикальной стены, рядом со стеной. На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).
Напишите для Робота алгоритм, закрашивающий все клетки, примыкающие к вертикальным стенам справа. Робот должен закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рис.).
Конечное расположение Робота может быть произвольным. Алгоритм должен решать задачу для произвольного размера поля и любого допустимого расположения стен внутри прямоугольного поля. При исполнении алгоритма Робот не должен разрушиться, выполнение алгоритма должно завершиться. Алгоритм может быть выполнен в среде формального исполнителя или записан в текстовом редакторе. Сохраните алгоритм в формате программы Кумир или в текстовом файле. Название файла и каталог для сохранения Вам сообщат организаторы экзамена.
15.2 Напишите программу для решения следующей задачи. Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите среднюю температуру за время наблюдения. Если количество дней, когда температура поднималась выше нуля градусов, не менее 5, выведите YES, иначе выведите NO. Программа получает на вход количество дней, в течение которых проводилось наблюдение N (1 ≤ N ≤ 31), затем для каждого дня вводится температура.
Пример работы программы:
Входные данные | Выходные данные |
4 −4 12 −2 8 | 3.5 NO |
Пройти тестирование по этим заданиямВернуться к каталогу заданий
Версия для печати и копирования в MS Word
1
Ниже приведена программа, записанная на пяти языках программирования.
Бейсик | Python |
---|---|
DIM s, t AS INTEGER INPUT s INPUT t IF s > 10 OR t > 10 THEN PRINT ‘YES’ ELSE PRINT ‘NO’ ENDIF | s = int(input()) t = int(input()) if s > 10 or t > 10: print(“YES”) else: print(“NO”) |
Паскаль | Алгоритмический язык |
var s, t: integer; begin readln(s); readln(t); if (s > 10) or (t > 10) then writeln(‘YES’) else writeln(‘NO’) end. | алг нач цел s, t ввод s ввод t если s > 10 или t > 10 то вывод “YES” иначе вывод “NO” все кон |
С++ | |
#include <iostream> using namespace std; int main() { int s, t; cin >> s; cin >> t; if (s > 10 || t > 10) cout << “YES”; else cout << “NO”; return 0; } |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(1, 2); (11, 2); (1, 12); (11, 12); (–11, –12); (–11, 12); (–12, 11); (10, 10); (10, 5).
Сколько было запусков, при которых программа напечатала «YES»?
2
Ниже приведена программа, записанная на пяти языках программирования.
Бейсик | Python |
---|---|
DIM s, t AS INTEGER INPUT s INPUT t IF s > 12 OR t > 12 THEN PRINT ‘YES’ ELSE PRINT ‘NO’ ENDIF | s = int(input()) t = int(input()) if s > 12 or t > 12: print(“YES”) else: print(“NO”) |
Паскаль | Алгоритмический язык |
var s, t: integer; begin readln(s); readln(t); if (s > 12) or (t > 12) then writeln(‘YES’) else writeln(‘NO’) end. | алг нач цел s, t ввод s ввод t если s > 12 или t > 12 то вывод “YES” иначе вывод “NO” все кон |
С++ | |
#include <iostream> using namespace std; int main() { int s, t; cin >> s; cin >> t; if (s > 12 || t > 12) cout << “YES”; else cout << “NO”; return 0; } |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(1, 13); (14, 2); (1, 12); (11, 12); (–14, –14); (–11, 13); (–4, 11); (2, 9); (8, 6).
Сколько было запусков, при которых программа напечатала «YES»?
3
Ниже приведена программа, записанная на пяти языках программирования.
Бейсик | Python |
---|---|
DIM s, t AS INTEGER INPUT s INPUT t IF s > 8 OR t > 8 THEN PRINT ‘YES’ ELSE PRINT ‘NO’ ENDIF | s = int(input()) t = int(input()) if s > 8 or t > 8: print(‘YES’) else: print(‘NO’) |
Паскаль | Алгоритмический язык |
var s, t: integer; begin readln(s); readln(t); if (s > 8) or (t > 8) then writeln(‘YES’) else writeln(‘NO’) end. | алг нач цел s, t ввод s ввод t если s > 8 или t > 8 то вывод “YES” иначе вывод “NO” все кон |
С++ | |
#include <iostream> using namespace std; int main() { int s, t; cin >> s; cin >> t; if (s > 8 || t > 8) cout << “YES”; else cout << “NO”; return 0; } |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(8, 8); (9, 6); (4, 7); (6, 6); (–9, –2); (–5, 9); (–10, 10); (6, 9); (10, 6).
Сколько было запусков, при которых программа напечатала «YES»?
4
Ниже приведена программа, записанная на пяти языках программирования.
Бейсик | Python |
---|---|
DIM s, t AS INTEGER INPUT s INPUT t IF s > 8 OR t > 8 THEN PRINT ‘YES’ ELSE PRINT ‘NO’ ENDIF | s = int(input()) t = int(input()) if s > 8 or t > 8: print(“YES”) else: print(“NO”) |
Паскаль | Алгоритмический язык |
var s, t: integer; begin readln(s); readln(t); if (s > 8) or (t > 8) then writeln(‘YES’) else writeln(‘NO’) end. | алг нач цел s, t ввод s ввод t если s > 8 или t > 8 то вывод “YES” иначе вывод “NO” все кон |
С++ | |
#include <iostream> using namespace std; int main() { int s, t; cin >> s; cin >> t; if (s > 8 || t > 8) cout << “YES”; else cout << “NO”; return 0; } |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(8, 8); (9, 6); (4, 7); (6, 6); (–9, –2); (–5, 9); (–10, 10); (6, 9); (10, 6).
Сколько было запусков, при которых программа напечатала «NO»?
5
Ниже приведена программа, записанная на пяти языках программирования.
Бейсик | Python |
---|---|
DIM s, t AS INTEGER INPUT s INPUT t IF s > 9 OR t > 9 THEN PRINT ‘YES’ ELSE PRINT ‘NO’ ENDIF | s = int(input()) t = int(input()) if s > 9 or t > 9: print(“YES”) else: print(“NO”) |
Паскаль | Алгоритмический язык |
var s, t: integer; begin readln(s); readln(t); if (s > 9) or (t > 9) then writeln(‘YES’) else writeln(‘NO’) end. | алг нач цел s, t ввод s ввод t если s > 9 или t > 9 то вывод “YES” иначе вывод “NO” все кон |
С++ | |
#include <iostream> using namespace std; int main() { int s, t; cin >> s; cin >> t; if (s > 9 || t > 9) cout << “YES”; else cout << “NO”; return 0; } |
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(9, 9); (9, 10); (8, 5); (11, 6); (–11, 10); (–5, 9); (–10, 10); (4, 5); (8, 6).
Сколько было запусков, при которых программа напечатала «NO»?
Пройти тестирование по этим заданиям
Пройти тестирование по этим заданиямВернуться к каталогу заданий
Версия для печати и копирования в MS Word
1
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок яиц диетических, имеющихся в наличии в магазинах Заречного района за период с 1 по 10 июня.
В ответе запишите только число.
Источник: Демонстрационная версия ЕГЭ−2022 по информатике
2
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок крупы манной, имеющихся в наличии в магазинах Первомайского района, за период с 1 по 10 июня включительно.
В ответе запишите только число.
3
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок кофе растворимого, имеющихся в наличии в магазинах Первомайского района, за период с 1 по 10 июня включительно.
В ответе запишите только число.
4
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите на сколько увеличилось количество упаковок бурого риса, имеющихся в наличии в магазинах Октябрьского района, за период с 1 по 10 июня включительно.
В ответе запишите только число.
5
В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц.
Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады июня 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок, шт. занесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.
ID операции | Дата | ID магазина | Артикул | Тип операции | Количество упаковок, шт. | Цена, руб./шт. |
Таблица «Товар» содержит информацию об основных характеристиках каждого товара. Заголовок таблицы имеет следующий вид.
Артикул | Отдел | Наименование | Ед. изм. | Количество в упаковке | Поставщик |
Таблица «Магазин» содержит информацию о местонахождении магазинов. Заголовок таблицы имеет следующий вид.
На рисунке приведена схема указанной базы данных.
Используя информацию из приведённой базы данных, определите, сколько килограмм паштета из куриной печени было продано в магазинах Заречного района за период с 1 по 10 июня включительно.
В ответе запишите только число.
Пройти тестирование по этим заданиям
Сегодня будем решать 8 задание из ЕГЭ по информатике 2022 с помощью программирования.
Восьмое задание легко решается с помощью Python.
Приступим к практике решения задач.
Задача (Классическая)
Женя составляет 5-буквенные слова, в которых встречаются только буквы А, Б, В, Г, причём буква А появляется ровно 1 раз. Каждая из других допустимых букв может встречаться в слове любое количество раз или не встречаться совсем. Словом считается любая допустимая последовательность букв, не обязательно осмысленная. Сколько существует таких слов, которые может написать Женя?
Решение:
Напишем программу на языке Python.
k=0 x1 : x2 : x3 : x4 : x5 : s=x1+x2+x3+x4+x5 s.count()==1: k=k+1 (k)
Т.к. слова состоят из 5-ти символов, то мы формируем пять вложенных циклов! В каждом цикле перебираем все буквы, которые нам дали.
Внутри циклов мы составляем само слово в переменной s. Таким образом, в переменной s “прокрутятся” все возможные комбинации.
Но мы подсчитываем не все комбинации, а только те, где всего одна буква А.
Важно не перепутать русские и английские буквы.
Ответ: 405
Продолжим развивать навыки решения 8 задания из ЕГЭ по информатике 2022.
Задача (Развиваем навыки)
Артур составляет 5-буквенные коды из букв Е, С, А, У, Л. Каждую букву нужно использовать ровно один раз, при этом нельзя ставить рядом две гласные. Сколько различных кодов может составить Артур?
Источник задачи: https://kpolyakov.spb.ru/
Решение:
Запрограммируем решение этой задачи на Питоне.
k=0 x1 : x2 : x3 : x4 : x5 : s=x1+x2+x3+x4+x5 s.count()==1 s.count()==1 s.count()==1 s.count()==1 s.count()==1: s.count()==0 s.count()==0 s.count()==0 s.count()==0 s.count()==0 s.count()==0: k=k+1 (k)
В первом условии учли, что каждая буква встречается в слове только один раз. Второе условие говорит о том, что две гласные не стоят рядом (перебрали все возможные сочетания гласных).
Ответ: 12
В задании 8 из ЕГЭ по информатике часто нужно проанализировать первую или последнюю букву в слове. Узнаем, как это можно сделать с помощью питона.
Задача (Проверяем первую букву слова)
Сколько слов длины 5, начинающихся с гласной буквы, можно составить из букв Е, Г, Э? Каждая буква может входить в слово несколько раз. Слова не обязательно должны быть осмысленными словами русского языка.
Источник задачи: https://kpolyakov.spb.ru/
Решение:
В этой тренировочной задаче из 8 задания ЕГЭ по информатике 2022 нужно держать на контроле первую букву в слове.
k=0 x1 : x2 : x3 : x4 : x5 : s=x1+x2+x3+x4+x5 x1== x1==: k=k+1 (k)
Подсчитываем только те комбинации, которые начинаются с гласных букв.
Ответ: 162
Интересный пример, где можно ошибиться в 8 задании из ЕГЭ по информатике.
Задача (Важный пример)
Сергей составляет 6-буквенные коды из букв С, О, Л, О, В, Е, Й. Буква Й может использоваться в коде не более одного раза, при этом она не может стоять на первом месте, на последнем месте и рядом с буквой Е. Все остальные буквы могут встречаться произвольное количество раз или не встречаться совсем. Сколько различных кодов может составить Сергей?
Источник задачи: https://kpolyakov.spb.ru/
Решение:
Эта задача примечательная тем, что буква “О” в слове “СОЛОВЕЙ” повторяется. В этом случае мы должны убрать повторение буквы из перебора.
k=0 x1 : x2 : x3 : x4 : x5 : x6 : s=x1+x2+x3+x4+x5+x6 s.count()<=1 x1!= x6!= s.count()==0 s.count()==0: k=k+1 (k)
Здесь также учитываем остальные условия.
Ответ: 23625
Задача (Количество гласных)
Василий составляет 4-буквенные коды из букв Г, А, Ф, Н, И, Й. Каждую букву можно использовать любое количество раз, при этом код не может начинаться с буквы Й и должен содержать хотя бы одну гласную. Сколько различных кодов может составить Василий?
Источник задачи: https://kpolyakov.spb.ru/
Решение:
Напишем программу.
k=0 x1 : x2 : x3 : x4 : s=x1+x2+x3+x4 x1!= s.count() + s.count() >= 1: k=k+1 (k)
Ответ: 888
Порешаем задачи из восьмого задания ЕГЭ по информатике на перебор чисел.
Задача (Перебор чисел)
Сколько существует чисел, восьмеричная запись которых содержит 7 цифр, причём все цифры различны и никакие две чётные и две нечётные цифры не стоят рядом.
Источник задачи: https://kpolyakov.spb.ru/
Решение:
k1=0 k2=0 x1 : x2 : x3 : x4 : x5 : x6 : x7 : s=x1+x2+x3+x4+x5+x6+x7 s.count(x1)==1 s.count(x2)==1 s.count(x3)==1 s.count(x4)==1 s.count(x5)==1 s.count(x6)==1 s.count(x7)==1: (x1)%2==0 (x2)%2==1 (x3)%2==0 (x4)%2==1 (x5)%2==0 (x6)%2==1 (x7)%2==0: k1=k1+1 (x1)%2==1 (x2)%2==0 (x3)%2==1 (x4)%2==0 and (x5)%2==1 (x6)%2==0 (x7)%2==1: k2=k2+1 (k1+k2)
Число не может начинаться с нуля. Поэтому ноль был исключён из первого цикла.
Первое условие следит за тем, чтобы каждая цифра встречалась один раз в числе. Второе условие подсчитывает количество вариантов, когда первая цифра чётная. Второе условие следит за тем, чтобы чётность и нечётность цифр чередовалась. Третье условие, наоборот, подсчитывает варианты, когда первая цифра нечётная.
Операция % – остаток от деления. Если остаток от деления на 2 равен нулю, то число чётное. Если остаток от деления на 2 равен 1, то число нечётное.
Функция int() преобразует символ в число. Ведь мы работаем именно с символами, а не с реальными числами.
Ответ: 1008
Задача (Числа, Закрепление)
Сколько существует четырёхзначных чисел, записанных в восьмеричной системе счисления, в записи которых ровно две одинаковые цифры, причём стоящие рядом ?
Решение:
k=0 x1 : x2 : x3 : x4 : (x1==x2 x2!=x3 x2!=x4 x3!=x4) (x2==x3 x3!=x1 x3!=x4 x1!=x4) (x3==x4 x3!=x2 x3!=x1 x1!=x2): k=k+1 (k)
Здесь следующий принцип составления условия. Два соседа должны быть равны. Берём одного соседа из пары, где цифры должны быть равны, и комбинируем его с другими цифрами. Пишем уже, чтобы цифры были не равны. Так же прописываем, чтобы две оставшиеся цифры также не были равны. Таким образом, перебираем все варианты.
Ответ: 882
Задача (Числа, важный приём)
Сколько существует различных трёхзначных чисел в шестнадцатиричной системе счисления, в записи которых цифры следуют слева направо в невозрастающем порядке?
Решение:
k=0 x1 : x2 : x3 : (x1)>=(x2)>=(x3): k=k+1 (k)
Функция ord() – для символа вернет число из таблицы символов Unicode. Посмотрим на фрагмент таблицы кодировки ANSI (таблица ANSI – это часть таблицы Unicode) для цифр и нужных букв.
Левый столбик – это как раз то число, которое вернёт функция ord() для символа из среднего столбца. Видим, что цифры начинаются с 48. Буквы идут в алфавитном порядке, и для каждой буквы повышается код на 1.
Таким образом, в этой задачке функция ord() отлично подходит!
Ответ: 815
Следующий тип задач из задания 8 ЕГЭ по информатике лучше решать без программирования.
Задача (Со списками, классическая)
Все 4-буквенные слова, составленные из букв А, Е, И, О записаны в алфавитном порядке и пронумерованы. Вот начало списка:
1. АААА
2. АААЕ
3. АААИ
4. АААО
5. ААЕА
…
Запишите слово, стоящее на 248-м месте от начала списка.
Источник задачи: https://inf-ege.sdamgia.ru/
Решение:
Обозначим условно А – 0, Е – 1, И – 2, О – 3.
Важно: Нужно буквам присваивать цифры именно в том порядке, в котором они идут в самом правом столбце, потому что буквы могут дать в “перепутанном порядке” (например Е, А, И, О), и тогда ничего не получится.
Теперь запишем список с помощью цифр.
1. 0000
2. 0001
3. 0002
4. 0003
5. 0010
…
Получился обычный счёт в четверичной системе!! (всего используются 4 цифры: 0, 1, 2, 3). А слева нумерация показывает соответствие нашей десятичной системе. Но все числа десятичной системы в этой таблице соответствия сдвинуты на 1, ведь мы должны были начать с нуля.
Нас просят записать слово стоящее на 248, т.е. если была обычная таблица соответствия чисел десятичной системы и четверичной системы, слово стоящее на 248 месте, находилось бы на 247 (248 – 1) месте. Значит, наше искомое четверичное число соответствует 247 в десятичной системе.
Переведём число 247 в четверичную систему!
Получилось число 33134 в четверичной системе. Сделаем обратное декодирование в буквы. Таким образом, ответ будет ООЕО.
Ответ: ООЕО
Ещё одна похожая задача 8 задания из примерных вариантов ЕГЭ по информатике 2022, но другой вариации.
Задача (Классика, Другая вариация)
Все 5-буквенные слова, составленные из букв А, Р, У, К записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААР
4. ААААУ
5. АААКА
……
Укажите номер слова УКАРА
Источник задачи: https://inf-ege.sdamgia.ru/
Решение:
Закодируем буквы цифрами: А – 0, К – 1, Р – 2, У – 3. Здесь как раз буквы даны не в том порядке, как они идут в самом правом столбце. Но мы должны кодировать именно в том порядке, как буквы идут в самом правом столбце.
У нас получилось четыре цифры! Значит снова можно слова превратить в таблицу соответствия между десятичной системой и четверичной системой. Но десятичная система смещена на 1 позицию.
1. 00000
2. 00001
3. 00002
4. 00003
5. 00010
……
Выписываем данное нам слово и посмотрим, какое число в четверичной системе было бы, если бы у нас были в место слов числа в четверичной системе!
Получили число в четверичной системе 310204. Узнаем, какое число в десятичной системе соответствовало этому числу, если бы была обычная таблица соответствия. Для этого переведём число 310204 из четверичной системы в десятичную. Перевод делаем по аналогии перевода из двоичной системы в десятичную.
Но помним, что у нас нумерация идёт на 1 быстрее, нежели мы бы поставили десятичные числа, как в таблице соответствия, потому что нумерация начинается не с нуля, а с 1. Поэтому к числу 840 нужно прибавить 1, и в ответе будет 841
Ответ: 841
Задача (Демонстрационный вариант ЕГЭ по информатике, 2020)
Все 4-буквенные слова, в составе которых могут быть буквы Н, О, Т, К, И,
записаны в алфавитном порядке и пронумерованы, начиная с 1.
Ниже приведено начало списка.
1. ИИИИ
2. ИИИК
3. ИИИН
4. ИИИО
5. ИИИТ
6. ИИКИ
…
Под каким номером в списке идёт первое слово, которое начинается
с буквы О?
Решение:
Закодируем буквы цифрами.
Получилось 5 цифр ( 0, 1, 2, 3, 4 ), значит, будем работать в пятеричной системе.
Нужно найти номер первого слова, которое начинается с буквы О. Если говорить на языке пятеричных чисел, то нужно найти номер числа 30005. Мы “забиваем нулями”, чтобы число было четырёхразрядное, т.к. слова 4-х буквенные. Именно нулями, потому что нужно именно первое слово найти.
Теперь, как в предыдущей задаче, переведём число 30005 из пятеричной системы в десятичную.
0 * 5 0 + 0 * 5 1 + 0 * 5 2 +
3 * 5 3 = 375 (в десят. системе)
Но опять же должны прибавить 1 к числу 375, т.к. нумерация отличается от десятичных чисел на 1 в большую сторону.
Ответ: 376
Задача (Формула Шеннона)
В корзине лежат 8 черных шаров и 24 белых. Сколько бит информации несет сообщение о том, что достали черный шар?
Источник задачи: https://inf-ege.sdamgia.ru/
Решение:
Данную задачу нужно решать по формуле Шеннона
Найдём вероятность p того, что вытащили чёрный шарик.
p = (количество чёрных шаров) / (количество всех шаров) = 8 / (24 + 8) = 8 / 32 = 1 /4
p = 1 / 4
Применим формулу Шеннона.
x = log2(4)
2x = 4
x = 2 бита
Ответ: 2
Счастливых экзаменов!
Спасибо большое за отличный разбор. В задаче “Сколько существует различных трёхзначных чисел в шестнадцатЕричной системе счисления, в записи которых цифры следуют слева направо в невозрастающем порядке” можно немного упростить условие, так как строки сравниваются именно по их коду. Итак, условие ord(x1)>=ord(x2)>=ord(x3) заменяем на x1>=x2>=x3. И все работает также!!!
Здраствуйте пробовал решить задачу на pytone
Артур составляет 6-буквенные коды перестановкой букв слова КАБАЛА. При этом нельзя ставить рядом две гласные. Сколько различных кодов может составить Артур?
У вас я не было в примере такой задачи я посмотрел примеры у других блогеров.
Вот мой код выводит108 но правильный ответ 24 поясните пожалуйста где я ощибся?
letters = ‘КАБАЛА’
s=set()
for x1 in letters:
for x2 in letters:
for x3 in letters:
for x4 in letters:
for x5 in letters:
for x6 in letters:
word=x1+x2+x3+x4+x5+x6
if word.count(‘А’) ==3 and word.count(‘АА’)==0:
s.add(word)
print(len(s))
определите количество пятизначных чисел записанных в десятичной системе счисления в записи которых есть 1 при этом никакая четная цофра не считает рядом с фирой 1