Задание 15 // КЕГЭ по информатике 2024

Поділитися
Вставка
  • Опубліковано 18 січ 2025

КОМЕНТАРІ • 100

  • @llusanm
    @llusanm 2 роки тому +162

    Алексей Кабанов просто мой краш, спасибо вам огромное за веб😩😩😩💗

  • @dmitryo325
    @dmitryo325 2 роки тому +30

    Алексей, добрый вечер, round() в Python округляет число не совсем по правилам математического округления. Так, 12.5 округлится до 12, а 13.5 до 14. В случае ***.5 число округлится вниз, если целая часть чётная, и вверх, если целая часть нечётная. 2:41:57

    • @dmitryo325
      @dmitryo325 2 роки тому +4

      Поэтому, если использовать round, нужно брать шаг 0.2, а не 0.25

    • @memhispeedrun7368
      @memhispeedrun7368 10 місяців тому +3

      Вот я так и думал, что опасно использовать round(). Чувствовал, что подвох есть, но не знал какой. Лучше все-таки глазками посмотреть. А еще лучше руками такое решать (оно и быстрее будет)

    • @PyJS_Wizard
      @PyJS_Wizard 5 місяців тому

      Ага, верно заметили. В таком случае можно использовать элегантный обход: int(x + 0.5)

  • @AlexanderMishchenko
    @AlexanderMishchenko 2 роки тому +26

    Большое спасибо за программу для отрезков, я так искал ее!

  • @maivseee
    @maivseee 7 місяців тому +1

    1:27:03 по сути ,чтобы не ждать, можно написать for a in range(200, 1, -1):

  • @СашаКрылов-э5н
    @СашаКрылов-э5н 7 місяців тому +2

    Большое спасибо за полное разъяснение 15 задания!!!

  • @Tairesh
    @Tairesh 2 роки тому +10

    38:50 а тут глобальная переменная, потому что она объявлена напрямую, каждый цикл for a in iterator он по сути делает a = iterator.next(), она во всём файле видна (по хорошему в реальных проектах за такие глобальные переменные по рукам бьют) поэтому её можно везде использовать, х же локальная переменная внутри генератора и видна только там

  • @VitaliiMar
    @VitaliiMar 2 роки тому +9

    Если в задаче 1:52:25 вам не хочется использовать itertools, то можете сделать так:
    p = {i for i in range(256) if ((i//128)%2==1) and (i//64)%2==1}
    q= {i for i in range(256) if i%2==0}
    .....
    .....
    for x in range(256):
    (я показал лишь изменённые строчки - остальное скопируйте на 1:59:11)
    ///////////////////
    почему до 256? - максимальное восьмибитное число
    почему ((i//128)%2) и ((i//64)%2)? - cвойства перевода чисел из десятичной в двоичную систему счисления, так я узнаю первые цифры числа
    //////////////////
    я знаю, что это замороченный способ

  • @susuy9666
    @susuy9666 5 місяців тому +1

    if all(f(x)==1 for x in Ox): почему 16 из Ох выполняет условия в функции P = 25

    • @kompege
      @kompege  5 місяців тому +1

      Не выполняет, P будет False
      Однако Q также будет False, поэтому эквиваленция будет истинна и поэтому выражение тоже

    • @susuy9666
      @susuy9666 5 місяців тому

      ​@@kompege Понял, спасибо ❤

  • @mak32
    @mak32 Рік тому +1

    Здравствуйте, спасибо за эфир. Очень многое помогло. 2:32:35 попробовал сделать в функции через range(), а не через большеравно/меньше равно - тоже вышло. Вот код:
    #----------------------------------------------------------
    from itertools import combinations
    def f(x):
    p = x in range(2, 20)
    q = x in range(15, 25)
    a = x in range(a1, a2)
    return ((not a)

    • @mak32
      @mak32 Рік тому

      combinations - тема! Работает быстрее, чем перебор циклом в цикле

  • @ПавелДвуреченский-к9с
    @ПавелДвуреченский-к9с 11 місяців тому +1

    1:09:59 почему не работает?
    for a in range(1,500):
    for x in range(1,100):
    for y in range(1,100):
    f = (y*+3*x20)or(y>40)
    if f==1:
    break
    else:
    print(a)

    • @kompege
      @kompege  11 місяців тому +2

      if f==0:

  • @keklola
    @keklola Рік тому +3

    39:00 я могу предположить, что А создана вне функции или класса, поэтому она глобальная. В Си мы пишем все в теле функций, в Джаве все в классах, а в питоне есть возможность писать программы без тела функции или класса, поэтому такой прикол, ну чисто мои догадки
    Сейчас попробовал, с иксом работает, но если он не находится в all(), то есть икс не видно из - за того, что он впервые в программе создается как аргумент для функции all(), то есть он внутри этой функции и является локальным для нее.
    Короче в питоне все как в других ЯП, просто из - за того, что можно не создавать функции или классы, появляется такая путаница

  • @danilgilfanov2049
    @danilgilfanov2049 2 роки тому +7

    Объясните пожалуйста почему вы пишите f(x) == 0, если там написано, что выражение равно 1, а не 0. Задача 1, тайм код 1:44:08

    • @kompege
      @kompege  2 роки тому +2

      Таков алгоритм поиска множества. Оно собирается через работу с ложными значениями.

  • @tendd
    @tendd 2 роки тому +1

    Спасибо!!! Очень понятно

  • @НиколайЕмельянчук

    Супер эфир!

  • @ДмитрийГорчица-ы5п

    Борис Олегович лучший😮

  • @Tairesh
    @Tairesh 2 роки тому +1

    46:37 в этом однострочнике лучше next() вместо min(), min все найдёт и потом выберет из них меньший, а нам нужен только первый, то что он будет меньшим мы и так знаем, он же из range берётся, но вообще такие однострочники писать я бы советовал только если этот кусок кода был перед этим написан нормально и покрыт тестами, что на егэ не имеет смысла никакого, только ради развлечения

  • @TV-oe3el
    @TV-oe3el Місяць тому

    35:23- здравствуйте, может это работает так как мы а перебираем в начале, и питон автоматически подставояет его при вызове функции?

  • @imstillalonecrsxz
    @imstillalonecrsxz 10 місяців тому

    2:14:32 Почему вы берете здесь диапазон значений минимальный от 24, когда у нас отрезок больше либо равен 25?

    • @kompege
      @kompege  10 місяців тому

      Просто запас на всякий случай

  • @lijax8024
    @lijax8024 11 місяців тому +1

    "Мы придумали
    Точнее, я придумал"

  • @GameChanger___
    @GameChanger___ Рік тому

    1:48:29 Почему нельзя решить первым способом? Разве нельзя просто взять пустое множество и заполнить его числами, для которых условие верно?

    • @kompege
      @kompege  Рік тому

      Нет, нельзя

    • @GameChanger___
      @GameChanger___ Рік тому

      @@kompege почему нельзя? где-то есть подводные камни, которые я не замечаю?

    • @kompege
      @kompege  Рік тому

      @@GameChanger___ завтра проверю скажу )

    • @kompege
      @kompege  Рік тому

      Ну в общем программа выводит просто все числа подряд.
      Поэтому ваше предложение не работает.

  • @alyasijey
    @alyasijey 7 місяців тому

    2:43:39
    Здравствуйте! код такой же..а ответ не 95, а 95.25....почему?
    from itertools import*
    def f(x):
    P= 5

  • @СергейМихайлович-ы1й
    @СергейМихайлович-ы1й 10 місяців тому

    Алексей, спасибо за разборы. Скажите, какой доской пользуетесь на вебах?

    • @kompege
      @kompege  10 місяців тому

      Open Board

  • @worstplayer4853
    @worstplayer4853 2 роки тому +2

    Задание 34542 решу егэ,в чем ошибка
    from itertools import *
    def f(x):
    p=1

  • @Jdjkjh
    @Jdjkjh 7 місяців тому

    1:52:00 а почему f(x)==0? Я не совсем понял

    • @stevendd9129
      @stevendd9129 6 місяців тому

      писяяяяяяят дваааааааа

  • @viktornikolaev1826
    @viktornikolaev1826 Рік тому

    1:34:04

  • @успех_мотивация

    КАКОЙ СПОСОБ РЕШЕНИЯ ОТРЕЗКОВ ЛУЧШЕ? С УМНОЖЕНИЕМ НА 10 ИЛИ С КОМБИНЭЙШОНС ?

    • @kompege
      @kompege  Рік тому

      Второй побыстрее будет )

  • @gamer_sanya505
    @gamer_sanya505 7 місяців тому

    А бывают ли прототипы на множества/отрезки, которые решаются только прогой?

    • @kompege
      @kompege  7 місяців тому

      нет

    • @gamer_sanya505
      @gamer_sanya505 7 місяців тому

      @@kompege 2:03:44 задача номер 4972, ее возможно решить руками? Там тройное равно, разве от него можно избавиться или как-то разложить?

    • @kompege
      @kompege  7 місяців тому

      @@gamer_sanya505 да ничего с ним не надо делать, просто отметить на прямой точки, подходящие под условие

  • @annad2900
    @annad2900 2 роки тому +4

    Почему шаг дробный? Каким образом получаются выколотые точки? Мы же рассматриваем отрезки, где оба конца (а1 и а1) принадлежат промежутку (нестрогое неравенство для отрезка а)

    • @килбос99
      @килбос99 10 місяців тому +2

      ответ больше для тех, кто читает комменты. если взять уcловно P = [10; 20]. то not(P) по сути = (0;10) v (10; +inf). так как нужно проверять строгие неравенства в условиях с инверсией, мы используем дробный шаг

  • @cyxarik7367
    @cyxarik7367 Рік тому

    На решу ЕГЭ попался отрезок с x и y разбора такого не нашëл

  • @mariamelnikova6420
    @mariamelnikova6420 2 роки тому

    33:00

  • @frosm4325
    @frosm4325 7 місяців тому

    Я совсем запутался в задачах на отрезки
    Решал ДЗшку с интенсива яндекса. Самое последнее задание на отрезки. Если округлять, то получается 48. Ответ 47
    Если не округлять, то 47.75. Почему код даёт осечку? По сути он верный, всё как вы рассказывали. ox составлял с запасом

    • @kompege
      @kompege  7 місяців тому

      Ты где то ошибся значит

    • @frosm4325
      @frosm4325 7 місяців тому

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

    • @shit6875
      @shit6875 7 місяців тому

      Специально решила эту задачку прогой, получилось 46.75

  • @yanaavd2080
    @yanaavd2080 Рік тому

    Если решаешь отрезки и множества руками, то необязательно уметь такие задачи прогать? Любые получится решить руками? Остальные то типы удобнее в питоне решать, а вот эти прям.. неудобно

    • @kompege
      @kompege  Рік тому +1

      Я так и делаю )))

    • @yanaavd2080
      @yanaavd2080 Рік тому

      @@kompege Спасибо за ответ)

  • @АлександрМакаров-е9э

    Можно ли математически определить длину полуинтервала? Разве нет ошибки в формулировке "найдите длину отрезка" при наличии полуинтервала? Например, чему равна длина полуинтервала [17;29)?

    • @kompege
      @kompege  2 роки тому

      Длина полуинтервала определяется аналогично. 29-17

    • @АлександрМакаров-е9э
      @АлександрМакаров-е9э 2 роки тому

      @@kompege но ведь одна из точек выколота, а чтобы найти длину отрезка нужно вычесть значения его КРАЙНИХ точек. В нашем случае 29 не входит, а значит крайней точкой будет 28,(9). Это приводит нас к длине полуинтервала равной 28,(9)-17=11,(9).
      (По логике на полуинтервалы правило вычисления длины как для обыкновенного отрезка не распространяется)

    • @kompege
      @kompege  2 роки тому +8

      идите учить матчасть

  • @Работа-п6ц
    @Работа-п6ц 7 місяців тому

    А как решать комбинированную задачу про отрезки прогой? Пишет что идет деление на ноль

    • @kompege
      @kompege  7 місяців тому

      Проверять только натуральные x

    • @Работа-п6ц
      @Работа-п6ц 7 місяців тому

      @@kompege ua-cam.com/video/w_81pCoSZos/v-deo.html 15 номер 1 зачача, пишу if a>0: return... выводит 20, хотя ответ 63

  • @p1nklord952
    @p1nklord952 2 роки тому +1

    А если в задании с отрезками знак принадлежности перечеркнут, то как переписать код?

    • @kompege
      @kompege  2 роки тому

      использовать not

  • @МаксвеллаТрубка
    @МаксвеллаТрубка 2 роки тому +1

    Алексей, можно ли забить на прогнанье отрезков и множеств и надеяться, что ручками смогу на ЕГЭ решить?

  • @eltiell
    @eltiell Рік тому

    Здравствуйте, подскажите, пожалуйста, в заданиях с числовой плоскостью мы ищем целое неотрицательное число А, тогда почему перебор начинается с 1, а не от 0?

    • @АлександрФёдоров-г8щ
      @АлександрФёдоров-г8щ 7 місяців тому

      не отрицательное значит НЕ с минусом
      у нуля нет минуса значит начало с нуля

  • @СергейКоптев-в2щ
    @СергейКоптев-в2щ 2 роки тому

    Ещё раз поясните пожалуйста. Если получиться ответ 12,5 его округлять до 13?

    • @kompege
      @kompege  2 роки тому +1

      Да. Это значит что в ложном промежутке выколоты оба конца (но их всё равно надо закрыть).

    • @СергейКоптев-в2щ
      @СергейКоптев-в2щ 2 роки тому

      @@kompege а 12.25 округлять вниз? Или 12.25 не получится никак?

    • @kompege
      @kompege  2 роки тому

      @@СергейКоптев-в2щ оно никак не получится. Может получиться 0.25, его округлять вниз.

    • @СергейКоптев-в2щ
      @СергейКоптев-в2щ 2 роки тому +1

      @@kompege В ответ что-ли 0 пойдёт?

  • @Ded_from_Detroit
    @Ded_from_Detroit 8 місяців тому

    в задание с отрезками в первом случаем почему то если писать not(p)-то выдает пустое множество, однако, если поставитб (not p)-то все работает
    Объясните, пожалуйста, в чем разница ?

    • @kompege
      @kompege  8 місяців тому

      Python в другом порядке выполняет операции

  • @РусланБагавиев-ц1ч
    @РусланБагавиев-ц1ч 2 роки тому +2

    Здравствуйте, подскажите, пожалуйста, а если вместо ДЕЛ, стоит div, как в этом случае писать условие?

    • @Максик-ц8с
      @Максик-ц8с 2 роки тому +2

      Это не на что не влияет, ДЕЛ это просто название функции. Условие пиши так, как оно написано в ковычках

  • @yabadaba0
    @yabadaba0 10 місяців тому

    А если в отрезках получается ответ типо 12,25; 12,5 или 12,75 то всегда нужно в большую сторону округлять?

    • @kompege
      @kompege  10 місяців тому +1

      По правилам математики округляйте

    • @yabadaba0
      @yabadaba0 10 місяців тому

      @@kompege подскажите пожалуйста еще один момент: если в множествах в условии указано, что функции ложно при всех х, то когда мы отбираем значения для множества а нужно проверять f(x)==1?

    • @kompege
      @kompege  10 місяців тому

      @@yabadaba0 звучит логично

  • @Bbqkqk
    @Bbqkqk Рік тому

    У нас аквариусы... сенсорные на огэ

  • @xaoc3932
    @xaoc3932 Рік тому

    как округлять значения для отрезков? у меня a2-a1=11,75

    • @kompege
      @kompege  Рік тому

      Ну и округляй до 12

  • @ВероникаЕсева-э1х
    @ВероникаЕсева-э1х 9 місяців тому

    😘

  • @proshka8375
    @proshka8375 Рік тому

    Я не понимаю, почему в заданиях с отрезками: 24*4/4 как получаешь 24.25?

    • @kompege
      @kompege  Рік тому

      (24*4+1)/4

    • @proshka8375
      @proshka8375 Рік тому

      @@kompege благодарствую😁

  • @Опросотдеда
    @Опросотдеда 2 роки тому

    1:04:21 ха-ха ха ха

  • @МаксвеллаТрубка
    @МаксвеллаТрубка 2 роки тому

    Есть ли домашка к этому стриму, что делать в процессе просмотра и после окончания просмотра стрима?

    • @kompege
      @kompege  2 роки тому

      Можно порешать домашку с открытого курса )
      Нужно попрактиковать всё что было (с сайта Полякова задачек нарешайте)

  • @byacco7
    @byacco7 Рік тому

    Топ

  • @EliteShow
    @EliteShow Рік тому

    Алексей Кабанов, доброго времени суток! Я решал отрезки программой и столкнулся с проблемой, что крупные отрезки от величиной 1000+ Python, оооооочееень меееедлеенно решает, я подумал, что лучше научиться руками... Но хотелось бы как-то решить эту проблему ( может на C++ перейти? XD)

  • @ДмитрийГорчица-ы5п

    Россия чемпион

  • @travma-y7o
    @travma-y7o Рік тому +1

    min() arg is an empty sequence - как избавиться от этой ошибки?@Алексей Кабанов

    • @borisbritva2504
      @borisbritva2504 Рік тому

      Эта ошибка выводится, если ты неправильно записал функцию (после return)