Сдамгиа рф информатика

Сдамгиа рф информатика

Решайте и скачайте пробные тренировочные варианты ОГЭ по информатике – тесты и варианты за 2022 год (с ответами и решениями заданий) с сайта (не Гущина) – сдам ГИА, решу ОГЭ. Тесты за 9 класс можно смотреть онлайн, а можно распечатать в формате pdf. Многие задачи (упражнения) взяты из КИМов (реальных вариантов) и открытого банка заданий ОГЭ.


Обозначим через m & n поразрядную конъюнкцию неотрицательных целых чисел m и n.

Так, например, 14 & 5 = 11102 & 01012 = 01002 = 4. Для какого наименьшего неотрицательного целого числа А формула

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

Спрятать решение

Решение.

Решим задание с помощью языка программирования PascalABC методом перебора:

var

A, x: integer;

B: boolean;

begin

for A := 0 to 1000 do begin

B := True;

for x := 0 to 1000 do begin

if ((x and 105) = 0) and ((x and 58) <> 0) and ((x and A) = 0) then

B := False;

end;

if B then begin

writeln(A);

break;

end;

end;

end.

Приведём другое решение на языке Python.

for A in range(127):

B = True

for x in range(127):

B = B and (((x & 105 != 0) or (x & 58 == 0) or (x & A != 0)))

if B:

print(A)

break

Ответ: 18.

Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём парой два идущих подряд элемента последовательности. Определите количество пар, в которых хотя бы один из двух элементов делится на 5 и хотя бы один из двух элементов меньше среднего арифметического всех элементов последовательности, значение которых нечетно. В ответе запишите два числа: сначала количество найденных пар, а затем — максимальную сумму элементов таких пар.

Например, в последовательности (8 10 2 9 5) есть две подходящие пары: (10 2) и (9 5), в ответе для этой последовательности надо записать числа 2 и 14.

Ответ:

Все четырёхбуквенные слова, в составе которых могут быть только буквы Л, Е, М, У, Р, записаны в алфавитном порядке и пронумерованы, начиная с 1. Ниже приведено начало списка.

1. ЕЕЕЕ

2. ЕЕЕЛ

3. ЕЕЕМ

4. ЕЕЕР

5. ЕЕЕУ

6. ЕЕЛЕ

Под каким номером в списке идёт первое слово, которое начинается с буквы Л?

Решение.

Из пяти букв можно составить 54 = 625 четырёхбуквенных слов. Т. к. слова идут в алфавитном порядке, то первая одна пятая часть букв (125 шт) начинаются с «Е», вторая часть (тоже 125) — с «Л», третья — с «М», четвёртая — с «Р», последняя — с «У», то есть первая буква меняется через каждые 125 слов. Т. е. со слова с номером 126 первой буквой будет Л.

Ответ: 126.

Приведём другое решение на языке Python.

a = {0: “Е”, 1: “Л”, 2: “М”, 3: “Р”, 4: “У”}

k = 0

for i in range(0, len(a)):

for j in range(0, len(a)):

for g in range(0, len(a)):

for m in range(0, len(a)):

k += 1

if a[i] == “Л”:

print(k) # Возьмем первое число, которое выведет программа

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

П1П2П3П4П5П6П7
П134
П231213
П31011
П41097
П541211986
П61385
П7765

Сдамгиа рф информатика

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

В ответе запишите целое число.

Решение.

Заметим, что К — единственная вершина шестой степени, значит, К соответствует П5. Вершины А и Е — единственные вершины степени 2, тогда они могут соответствовать П1 и П3. Вершины Б и Д связаны с вершинами А и Е, тогда из таблицы получаем, что они могут соответствовать П2 и П4. Тогда В и Г могут соответствовать П6 и П7.

Заметим, что точное соответствие букв пунктам не важно. Таким образом, сумма протяжённостей дорог из пункта Б в пункт В и из пункта Г в пункт Д равна 13 + 7 = 20.

Ответ: 20.

В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, у которых сумма элементов кратна 120, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.

Ответ:

Спрятать решение

Решение.

Сначала считаем все числа из файла в массив. Для каждой пары будем проверять, кратна ли 120 сумма элементов пары. Если сумма элементов кратна 120, будем увеличивать значения счётчика 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 120 = 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]) % 120 == 0:

count += 1

m = max(m, l[i] + l[j])

print(count, m)

В результате работы данного алгоритма при вводе данных из файла ответ — 414830 19920.

Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от −10 000 до 10 000 включительно. Определите количество пар последовательности, в которых только одно число оканчивается на 3, а сумма квадратов элементов пары не меньше квадрата максимального элемента последовательности, оканчивающегося на 3. В ответе запишите два числа: сначала количество найденных пар, затем максимальную из сумм квадратов элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

Ответ:

Спрятать решение

Решение.

Считаем числа из файла. Сначала найдём максимальное число, заканчивающееся на «3», и его квадрат запишем в переменную max_square. Далее пройдём по всей последовательности чисел, рассматривая каждые два соседних числа. Будем проверять, что только одно из них кончается цифрой «3», а также что их сумма квадратов не меньше значения переменной max_square. Если пара чисел будет удовлетворять условию, будем увеличивать значения счётчика count, а также в переменную max_square_sum записывать максимальную сумму квадратов.

Приведём решение задачи на языке Python.

f = open(’17.txt’)

nums = [int(i) for i in f]

max_square_sum = count = 0

max_square = max(list(filter(lambda x: x % 10 == 3, nums))) ** 2

print(max_square ** (1/2))

for i in range(len(nums) – 1):

check_suf = str(nums[i])[-1] == ‘3’ and str(nums[i + 1])[-1] != ‘3’ or str(nums[i])[-1] != ‘3’ and str(nums[i + 1])[-1] == ‘3’

if check_suf and nums[i] ** 2 + nums[i + 1] ** 2 >= max_square:

count += 1

max_square_sum = max(max_square_sum, nums[i] ** 2 + nums[i + 1] ** 2)

print(count, max_square_sum)

В результате работы данного алгоритма при вводе данных из файла ответ — 180 190360573.

Примечание. Путь к файлу необходимо указать согласно расположению файла на Вашем компьютере.

Источник: Демонстрационная версия ЕГЭ−2023 по информатике

В файле приведён фрагмент базы данных «Продукты», содержащей информацию о поставках товаров и их продаже. База данных состоит из трёх таблиц.

Таблица «Движение товаров» содержит записи о поставках товаров в магазины города в первой декаде июня 2021 г. и о продаже товаров в этот же период. Таблица «Товар» содержит данные о товарах. Таблица «Магазин» содержит адреса магазинов.

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

Сдамгиа рф информатика

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

В ответе запишите целое число — найденную общую стоимость в рублях.

Спрятать решение

Решение.

Открыв файл, перейдём на лист «Магазин». Воспользуемся стандартными средствами редактора Microsoft Excel, требуется отфильтровать записи в таблице, оставив только записи для магазинов Первомайского района. Для этого включим фильтр:

Сдамгиа рф информатика

Получаем следующую таблицу:

Сдамгиа рф информатика

Перейдём на лист «Товар». В этой таблице, воспользовавшись средствами поиска, найдём строки со всеми видами сахара. Артикул товаров — 28, 29 и 30:

Сдамгиа рф информатика

Теперь перейдём на лист «Движение товаров». Снова воспользуемся фильтром по столбцу «ID магазина», чтобы вывести в таблице только те записи, которые относятся к магазинам Первомайского района. В фильтре отметим те ID магазинов, которые были найдены в таблице «Магазин» — M2, M4, M7, М8, М12, М13 и M16. Также применим фильтр к столбцу «Артикул», чтобы оставить только записи о движении товаров по артикулам 28, 29 и 30. Применив фильтр к колонке «Тип операции», оставим только операции по продаже. В результате получим следующую таблицу:

Сдамгиа рф информатика

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

Сдамгиа рф информатика

Теперь для каждой операции по продаже вычислим выручку за операцию. Для этого в ячейке H2 запишем формулу =F2*G2 и скопируем её во все ячейки диапазона H3:H22. Окончательно, воспользовавшись формулой =СУММ(H2:H22), получаем ответ — 63140.

Ответ: 63140.

Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2.

15.1Сдамгиа рф информатикаСдамгиа рф информатика

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды — это команды-приказы:

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

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

Ещё четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

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

Эти команды можно использовать вместе с условием «если», имеющим следующий вид:

если условие то

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

все

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

если справа свободно то

вправо

закрасить

все

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

если (справа свободно) и (не снизу свободно) то

вправо

все

Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

нц пока условие

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

кц

Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

нц пока справа свободно

вправо

кц

На бесконечном поле имеется вертикальная стена. Длина стены неизвестна. От верхнего конца стены вправо отходит горизонтальная стена также неизвестной длины. Робот находится в клетке, расположенной слева от нижнего края вертикальной стены.

На рисунке указан один из возможных способов расположения стен и Робота (Робот обозначен буквой «Р»).

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

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

15.2 Напишите программу, которая в последовательности целых чисел определяет сумму двух наибольших и сумму двух наименьших. Программа должна вывести две этих суммы в указанном порядке. Программа получает на вход целые числа, количество введённых чисел не известно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.

В последовательности не менее двух чисел.

Выберите ОДНО из предложенных ниже заданий: 15.1 или 15.2.

Исполнитель Робот умеет перемещаться по лабиринту, начерченному на плоскости, разбитой на клетки. Между соседними (по сторонам) клетками может стоять стена, через которую Робот пройти не может. У Робота есть девять команд. Четыре команды — это команды-приказы:

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

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

Ещё четыре команды — это команды проверки условий. Эти команды проверяют, свободен ли путь для Робота в каждом из четырёх возможных направлений:

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

Эти команды можно использовать вместе с условием «если», имеющим следующий вид:

если условие то

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

все

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

если справа свободно то

вправо

закрасить

все

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

если (справа свободно) и (не снизу свободно) то

вправо

все

Для повторения последовательности команд можно использовать цикл «пока», имеющий следующий вид:

нц пока условие

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

кц

Например, для движения вправо, пока это возможно, можно использовать следующий алгоритм:

нц пока справа свободно

вправо

кц

Выполните задание.

Сдамгиа рф информатика
Сдамгиа рф информатика

На бесконечном поле имеется лестница. Сначала лестница спускается вниз справа налево, затем спускается вниз слева направо. Высота каждой ступени — одна клетка, ширина — две клетки. Робот находится справа от верхней ступени лестницы. Количество ступенек, ведущих влево, и количество ступенек, ведущих вправо, неизвестно. На рисунке указан один из возможных способов расположения лестницы и Робота (Робот обозначен буквой «Р»).

Напишите для Робота алгоритм, закрашивающий все клетки, расположенные непосредственно над ступенями лестницы, спускающейся слева направо. Требуется закрасить только клетки, удовлетворяющие данному условию. Например, для приведённого выше рисунка Робот должен закрасить следующие клетки (см. рис.).

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

15.2 Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 4.

Пример работы программы:

Входные данныеВыходные данные
14
24
144
22
12
0
168

Пробный тренировочный вариант ОГЭ по информатике.

Часть 1

Задание №1
Задание №2
Задание №3
Задание №4

Задание №5
Задание №6
Задание №7
Задание №8

Задание №9
Задание №10
Задание №11
Задание №12

Задание №13
Задание №14
Задание №15
Задание №16

Задание №17
Задание №18

Часть 2
Задание №19

Задание №20
Задание №21

Добавить комментарий

Ваш адрес email не будет опубликован.