Задание 23 | ЕГЭ по информатике | ДЕМО-2023

preview_player
Показать описание

Разбор демоверсии ЕГЭ по информатике 2023.
Задание 23 - Умение анализировать результат исполнения алгоритма, содержащего ветвление и цикл.
------

#егэ #информатика #разбор
Комментарии
Автор

Спасибо, начал 2 недели назад. Уже умею делать до 19 номера, а до егэ ещё 2 года. За помощь с огэ, отдельное спасибо. 1 балла до 5 не хватило

reys
Автор

Вы самый классный, спасибо большое, только благодаря вам я так хорошо знаю информатику✨🤟

qhcxmvf
Автор

спасибо за Вашу работу, очень помогаете

eleonora
Автор

Ты лучший!!!
Я тебе очень благодарен🥰

futureanimation
Автор

А можно разбор задания 23 где требуют изменять старшую цифру числа? (видел на фипи)

fallenintacion
Автор

вы просто легенда, спасибо за все реально

ildanchik
Автор

Моё решение немного отличается (здесь другие числа, оно универсальное):

class Node:
parent = None
value = 0

def __init__(self, parent, value):
self.parent = parent
self.value = value


def calc(op, num):
if op == 0:
return num + 1
if op == 1:
return num + 2
return num * 2


def parseNode(node):
nums = []
while node is not None:
nums.append(node.value)
node = node.parent
nums.reverse()
return nums


start = Node(None, 1)
end = 12
operations = 3
# Необходимо менять Node(None, ???) на начальное значение
# Необходимо менять end на конечное значение
# operations на количество операций
# Также, необходимо менять функцию calc на необходимые условия

branch = [start]
result = []

for i in range(end):
branch2 = []

for node in branch:
for j in range(operations):
result_num = calc(j, node.value)

if result_num == end:
result.append(Node(node, result_num))
continue
if result_num >= end:
continue
branch2.append(Node(node, result_num))

branch = branch2

matrix = []
for el in result:
matrix.append(parseNode(el))

print(f'Все возможные варианты: {matrix}')
print(f'Количество комбинаций = {len(result)}')
# Дальше ручная обработка матрицы в зависисти от условий!

count = 0
for arr in matrix:
goal1 = False
goal2 = False

for el in arr:
if el == 7:
goal1 = True
if el == 10:
goal2 = True

if goal1 and goal2:
count += 1

print(count)

wetizjs
Автор

Красавчик, даже учителя в школе хуже разбирают. ОГРОМНЫЙ ТЕБЕ РЕСПЕКТ!!!

dez_tez
Автор

print(((f(1, 10) * f(10, 35))-f(1, 17)) почему при таком принте не правильный ответ?

loco
Автор

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

class Node:
parent = None
value = 0

def __init__(self, parent, value):
self.parent = parent
self.value = value


def calc(op, num):
if op == 0:
return num + 1
if op == 1:
return num + 2
return num * 2


def parseNode(node):
nums = []
while node is not None:
nums.append(node.value)
node = node.parent
nums.reverse()
return nums


start = Node(None, 1)
end = 12
operations = 3
# Необходимо менять Node(None, ???) на начальное значение
# Необходимо менять end на конечное значение
# operations на количество операций
# Также, необходимо менять функцию calc на необходимые условия

branch = [start]
result = []

for i in range(end):
branch2 = []

for node in branch:
for j in range(operations):
result_num = calc(j, node.value)

if result_num == end:
result.append(Node(node, result_num))
continue
if result_num >= end:
continue
branch2.append(Node(node, result_num))

branch = branch2

matrix = []
for el in result:
matrix.append(parseNode(el))

print(f'Все возможные варианты: {matrix}')
print(f'Количество комбинаций = {len(result)}')
# Дальше ручная обработка матрицы в зависисти от условий!

count = 0
for arr in matrix:
goal1 = False
goal2 = False

for el in arr:
if el == 7:
goal1 = True
if el == 10:
goal2 = True

if goal1 and goal2:
count += 1

print(count)

wetizjs
Автор

Можете продолжать уроки по питон с нуля ?

sansirbs
Автор

Дело то хорошее, но я видел вариант, где нужно было узнать кол-во вариантов, где можно использовать только одно умножение. И как её решить - непонятно

deadnikol
Автор

Интересная задача есть у Полякова номер 5257

AnnaBely
Автор

Это на какой программе? Питон или паскаль?

werak_
Автор

Вы не учли, что траектория вычислений не должна содержать число 17

kamilismagilov