Тёмный
Информатика сегодня
Информатика сегодня
Информатика сегодня
Подписаться
zaqejkxr |
Канал посвящен информатике, основам программирования и информационным технологиям в разных сферах. Будет полезен для школьников, а также студентов и всем тем, кто интересуется фундаментальными и прикладными сферами информационных технологий в широком смысле. Здесь собираются авторские материалы по основам теоретической и прикладной информатики, рассматриваются основы программировавшая. Лекции и занятия позволят подготовиться к выпускным экзаменам школьников (ОГЭ и ЕГЭ), а также студентам разных профилей обучения от базового до продвинутого уровня.

Можно пройти бесплатный курс по базовым разделам теории в информатике: mooped.net/local/coursemanage/courseinfo.php?id=99


Комментарии
@crytek5230
@crytek5230 15 часов назад
Добрый день, будет ли завтра разбор зданий с егэ? Очень интересно
@infup
@infup 14 часов назад
Здравствуйте. Присылайте задания и разберу)
@crytek5230
@crytek5230 14 часов назад
@@infup Хорошо
@dobromlet6493
@dobromlet6493 3 дня назад
Здравствуйте. Но ведь у сжатого изображения количество точек меньше, чем у исходного(до сжатия). Мы нашли размер исходного изображения, но делим почему-то на количество точек сжатого. Почему? Разве количество точек не изменяется при сжатии изображения?
@infup
@infup 2 дня назад
Здравствуйте. Количество точек у сжатого и не сжатого изображения одинаково.
@dobromlet6493
@dobromlet6493 2 дня назад
​@@infupа какой параметр изменяется при сжатии изображения?
@infup
@infup 2 дня назад
@@dobromlet6493 количество битов на одну точку изображения
@dobromlet6493
@dobromlet6493 2 дня назад
​@@infupспасибо большое🙏🙏🙏
@user-qf8xk4it4c
@user-qf8xk4it4c 3 дня назад
Здравствуйте! Подскажите, пожалуйста, можно ли решить данную задачу на листочке, а не программированием.
@infup
@infup 2 дня назад
Здравствуйте. В данной формулировке решить на листочке будет очень сложно.
@thalidomid364
@thalidomid364 14 дней назад
нифигасе, Вова Адидас разбирает задание егэ номер 7 по информатике
@infup
@infup 13 дней назад
)))
@RAlex061
@RAlex061 15 дней назад
Код можно сделать эффективнее в 2025 раз. А еще - чуть сократить регулярное выражение. ## Range(2025, 100000000, 2025).AsParallel .Where(t -> t.ToString.IsMatch('^12\d*34\d5$')) .Sorted .PrintLines(t -> $'{t} {t div 2025}')
@infup
@infup 12 дней назад
Красота)
@infupd
@infupd 15 дней назад
@infup
@infup 15 дней назад
Спасибо!
@user-yb7po2bq9i
@user-yb7po2bq9i 22 дня назад
Здравствуйте. Решала задачу с сайта Полякова 17-381. Не сходится с ответом. Написала на форум, там предложили решение на Питоне. Не могу найти ошибку. Помогите пожалуйста. Вот моё решение ## var s:=ReadAllText('17-381.txt').ToIntegers; var max39 := s.Where(x -> (x mod 100 = 39)and(abs(x) in 1000..9999)).max.print;; var n:=s.Nwise(2) .Where(\(a,b)-> ((abs(a) in 1000..9999)xor(abs(b) in 1000..9999))) .Where(\(a,b)-> ((a+b)*(a+b))<= max39*max39) .Select (\(a,b)-> a+b); print(n.Count,n.Max)
@infup
@infup 22 дня назад
В этой реализации вы не учитываете факт переполнения типа Integer, так как там квадрат суммы может быть 10^10, а для Integer это 10^9. Вот попробуйте так:
@infup
@infup 22 дня назад
## var s := ReadAllLines('17-381.txt').Select(t->t.ToBigInteger); var max39 := s.Where(x -> (abs(x) mod 100 = 39) and ((1000<=abs(x)) and (abs(x)<=9999))).max; var n := s.Nwise(2) .Where(\(a,b)-> ((1000<=abs(a)) and (abs(a)<=9999)) xor ((1000<=abs(b)) and (abs(b)<=9999))) .Where(\(a,b)-> (a + b) * (a + b) <= max39 * max39) .Select(\(a,b)-> a + b); print(n.Count, n.Max)
@dobromlet6493
@dobromlet6493 23 дня назад
Решите, пожалуйста, задачу 7377 на Полякове, если не сложно
@infup
@infup 22 дня назад
Это какой номер?
@dobromlet6493
@dobromlet6493 18 дней назад
​@@infup 7
@infup
@infup 3 дня назад
Вот записал разбор: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-aWT5rFYcqps.html
@dobromlet6493
@dobromlet6493 3 дня назад
​@@infupбольшое спасибо
@flychannel119
@flychannel119 23 дня назад
большие города
@infup
@infup 22 дня назад
Пустые поезда
@user-rb4cl5bi9q
@user-rb4cl5bi9q Месяц назад
Хорошее решение. спасибо.
@infup
@infup Месяц назад
Пожалуйста.
@user-rb4cl5bi9q
@user-rb4cl5bi9q Месяц назад
Спасибо)
@infup
@infup Месяц назад
Пожалуйста.
@RAlex061
@RAlex061 Месяц назад
Если начали с Паскаля, почему в нем и не решить? ## {$zerobasedstrings} var alp := ('А'..'Е').JoinToString + 'Ё' + ('Ж'..'Я').JoinToString; var s0 := 'ХОЧУСПАТЬ'; var sum := 0bi; var p := alp.Length; var q := 1bi; for var i := s0.Length - 1 downto 0 do begin sum += q * alp.IndexOf(s0[i]); q *= p end; Print(BigInteger(p) ** s0.Length - sum)
@infup
@infup Месяц назад
Да через развернутую форму записи получается, но через генеративную комбинаторику временная сложность алгоритма большая.
@RAlex061
@RAlex061 Месяц назад
@@infup, количество комбинаторных вариантов здесь составляет 33^9 = 46 411 484 401 953 - такой перебор организовывать бессмысленно.
@infup
@infup Месяц назад
Это точно)
@symruk6926
@symruk6926 Месяц назад
а если бит прощрачности? тоже самое?
@infup
@infup Месяц назад
Бит прозрачности и бит четности это разные вещи. Первый относится в визуализации, а второй к проверки корректности данных.
@symruk6926
@symruk6926 Месяц назад
@@infup а решение задачи от этого меняется, или алгоритм тот же?
@infup
@infup Месяц назад
@@symruk6926 подход аналогичный
@RAlex061
@RAlex061 Месяц назад
Не понял, зачем подключать School.
@infup
@infup Месяц назад
привычка)
@infupd
@infupd Месяц назад
😊😊😊
@infup
@infup Месяц назад
)))
@infupd
@infupd Месяц назад
😢 ошибок, ой.. Ой
@infup
@infup Месяц назад
Копи-Паст делает свое дело)
@BezuglovS
@BezuglovS Месяц назад
Для вывода двоичного адреса в питоне проще пользоваться f-строками. for x in net: print(f'{x:b}') И в Паскале можно вместо Where сразу Count написать.
@infup
@infup Месяц назад
Спасибо. Тут дело привычки)
@user-ng2wg4xc7k
@user-ng2wg4xc7k Месяц назад
Боже, какие 3 года?) за год на 100 баллов люди готовятся с 0
@infup
@infup Месяц назад
У школьников способности разные и не все могут набрать больше 90. Это спорное утверждение...
@RAlex061
@RAlex061 Месяц назад
Задача (как и большинство в ЕГЭ), не имеющая практического смысла. О том, как без нужды увеличить загрузку исполнителя. Ни один из реально существующих алгоритмов распределения параллельных потоков не использует подобное планирование. Ценность подобных задач нулевая: они не учат ничему. Зато решать их приходится подбором.
@infup
@infup Месяц назад
Мы исходим из того, что есть. Алгоритмической ценности такие задачи не представляют никакой с этим полностью согласен. В шутку называю их сыграть в "Тетрис". У меня у самого к таким заданиям много вопросов, на которые нет пока ответов)
@RAlex061
@RAlex061 Месяц назад
@@infup, когда я вижу вариации заданий на эту тему, вспоминается изречение "Один дурак может задать столько вопросов, что и 99 умных не ответят". Планирование исполнения параллельных процессов - тема интересная и актуальная, по ней есть много работ, в том числе, диссертаций. Когда постановка задачи предполагает некоторую оптимизацию выполнения - это отличная постановка. Но задача, подобная рассмотренной - это "фигня на постном масле". Как говорилось в известном армейском анекдоте, "Мне не так важен результат, как важно, чтобы вы замаялись".
@infup
@infup Месяц назад
Копаем отсюда и до обеда)
@RAlex061
@RAlex061 Месяц назад
@@infup, это к физикам - про единство пространства и времени )))
@infupd
@infupd Месяц назад
Здесь очень не просто получить правильный ответ
@infup
@infup Месяц назад
Да. Здесь сложно подобрать.
@infupd
@infupd 2 месяца назад
Аналитический способ самый простой😅
@infup
@infup 2 месяца назад
Он простой, но не для всех
@user-hj5hu7vv6u
@user-hj5hu7vv6u 2 месяца назад
Решите пожалуйста 6806🙏
@infup
@infup 2 месяца назад
Хорошо)
@infup
@infup 2 месяца назад
Если сделаете донат, запишу разбор сегодня и дам ссылку)
@RAlex061
@RAlex061 2 месяца назад
Можно вспомнить, конечно, что если число делится и на 24, и на 75, оно также делится на их НОК, равное 600, но это НОК еще найти нужно. Для данной задачи проще решать "в лоб". Если перебор большой, упрощение расчетов во внутреннем цикле может дать определенный выигрыш.
@infup
@infup 2 месяца назад
Когда ЕГЭ был письменным, то существовало 8 способ ручного решения данного типа уравнений. С программированием это стало не актуально.
@user-ih2kr3lk3c
@user-ih2kr3lk3c 2 месяца назад
Подскажите, как найти такие же примеры? На каком сайте? В каком разделе?
@infup
@infup 2 месяца назад
Здравствуйте! Вот набор всех заданий: kpolyakov.spb.ru/school/ege/gen.php?action=viewAllEgeNo&egeId=15&cat67=on&cat68=on&cat69=on&cat70=on&cat123=on&cat167=on
@RAlex061
@RAlex061 2 месяца назад
Но можно решить эту задачу куда проще! Подумайте, почему значение 8375 or 6743 является ответом )) И это можно решить как на калькуляторе, так и программным путем: ## Print(8375 or 6743)
@infup
@infup 2 месяца назад
Получилось оригинально)
@RAlex061
@RAlex061 2 месяца назад
@@infup, тут нужно сделать аналитическое преобразование и понять, что "больше нуля" и "не равно нулю" в побитовой обработке одно и то же.
@RAlex061
@RAlex061 2 месяца назад
Можно короче: ## (1..100000) .Where(a -> (0..100001).All(x -> ((x and 8375 <> 0) or (x and 6743 <> 0)) <= (x and a > 0))) .First .Print
@infup
@infup 2 месяца назад
Стремлюсь к такому совершенству) Отличное решение!
@infupd
@infupd 2 месяца назад
Спасибо😊
@infup
@infup 2 месяца назад
)))
@stalet_1838
@stalet_1838 2 месяца назад
Самый лучший учитель для подготовки!
@infup
@infup 2 месяца назад
Ой...Спасибо)
@RAlex061
@RAlex061 2 месяца назад
## var P := 10..21; var Q := 13..38; var R := 18..25; var f: (integer, intRange) -> boolean := (x, A) -> (not((x in Q) <= ((x in P) or (x in R)))) <= (not(x in A) <= not(x in Q)); var mn := MaxInt; for var a1 := 0 to 99 do for var a2 := a1 + 1 to 100 do begin var A := a1..a2; if (-10..110).All(x -> f(x, A)) then mn := Min(mn, A.Count); end; Print(mn)
@infup
@infup 2 месяца назад
Хороший способ! Спасибо)
@RAlex061
@RAlex061 2 месяца назад
@@infup, если что, просто для памяти, к типу IntRange применимы методы Except, Intersect и Union. А еще есть свойство .Count - длина отрезка.
@infup
@infup 2 месяца назад
Здорово! Будем осваивать.
@user-kg3id9lq4o
@user-kg3id9lq4o 2 месяца назад
спасибо вам большое! Очень понятно объясняете❤
@infup
@infup 2 месяца назад
Пожалуйста!
@odessyy
@odessyy 2 месяца назад
Вова адидас жив!
@infup
@infup 2 месяца назад
Поясните шутку)
@odessyy
@odessyy 2 месяца назад
@@infup ну нсли прищуриться, ты вы похожи на вову адидаса из нашумевшего сериала
@infupd
@infupd 2 месяца назад
С языками программирования получилось здорово. Спасибо😊
@infup
@infup 2 месяца назад
Пожалуйста! Стараемся)
@user-eh5kt5ju3m
@user-eh5kt5ju3m 3 месяца назад
Здравствуйте, отличное видео, очень нравятся ваши решения. Вы разбираете задания по просьбе из комментария?
@infup
@infup 3 месяца назад
Здравствуйте! Давайте задачу. Включу в план и постараюсь записать разбор)
@user-eh5kt5ju3m
@user-eh5kt5ju3m 3 месяца назад
@@infup , Как приятно читать, задача из генератора номер 12, номер в списке 7311 на сайте Полякова. Спасибо, жду разбор, удачи в развитии канала!
@infup
@infup 3 месяца назад
@@user-eh5kt5ju3mСпасибо)
@denis_ken
@denis_ken 3 месяца назад
не понятно, почему 480 умножаем на 758... Ведь в задаче 768 пикселей. Полагаю, автор опечатался и не заметил
@infup
@infup 3 месяца назад
768 пикселей в одной строке, а строк таких 480 )
@denis_ken
@denis_ken 3 месяца назад
@@infup правильно.. но почему в решении задачи Вы умножаете на 758, а не на 768 ? ))
@user-rb4cl5bi9q
@user-rb4cl5bi9q 3 месяца назад
В pascal можно step писать))) Огооооо...
@infup
@infup 3 месяца назад
Да. Это новый pascal.
@stallkermaster6100
@stallkermaster6100 4 месяца назад
Полезное видео, только просьба сместить вашу веб-камеру в другой угол, а то не видно вычислений
@infup
@infup 4 месяца назад
Хорошо)
@khjkut
@khjkut 4 месяца назад
Красавчик <3
@infup
@infup 4 месяца назад
)))
@RAlex061
@RAlex061 4 месяца назад
Очень сложное регулярное выражение. Эту задачу можно решить гораздо проще: ## 'ГЛУБИНА'.Permutations.Count(s -> not s.IsMatch('[АИ].*Г')).Print Условие простое: НЕ ДОЛЖНО БЫТЬ ТАК, ЧТОБЫ БУКВА "А" или "И" встретилась раньше, чем буква "Г".
@infup
@infup 4 месяца назад
Красиво получилось!
@infup
@infup 4 месяца назад
О, здесь логика интересна.
@RAlex061
@RAlex061 4 месяца назад
​@@infup, тут не столько логика, сколько небольшой костыль. В регулярных выражениях есть "ИЛИ", но нет "И". Так что приходится вспоминать де Моргана.
@Full0fTerr0rs
@Full0fTerr0rs 4 месяца назад
Информатика ЕГЭ 6 задание. Задача 6894. Задача с параметром про Черепашку 00:00 Разбор задачи • Ипатов Юрий разбирает шестую задачу с сайта Полякова, посвященную исполнителю черепахи. • Задача включает в себя инициализацию черепахи с опущенным хвостом, а также команды "вперед" и "вправо". • Ипатов заменяет команды "вперед" и "вправо" на "влево" и "вправо", соответственно, и исправляет циклы. 06:32 Расчёт количества точек • Ипатов решает задачу, определяя наименьшее натуральное число, при котором количество точек с целочисленными координатами, принадлежащих первой фигуре, но не принадлежащих второй, будет больше 440. • Он использует Excel для расчета количества точек в прямоугольнике и квадрате, а также выводит параметрическую формулу для расчета значений при большей размерности. • В итоге, Ипатов получает ответ 211, который совпадает с ответом из задачи.
@infup
@infup 3 месяца назад
Спасибо!
@RAlex061
@RAlex061 4 месяца назад
Я вот чего не понимаю. Смотрю Спецификацию из ДЕМО ФИПИ на 2024 год и вижу, что тамошние мудрецы отвели на задание №6 4 минуты. Интересно, хоть один их них сможет эту задачу прочитать, понять, решить и проверить за 4 минуты?
@infup
@infup 4 месяца назад
Это скорее задача со звездочкой и точно не на 4 минуты!
@RAlex061
@RAlex061 4 месяца назад
@@infup, Вы называете задачами со звездочкой придумки, ничего общего не имеющие с ЕГЭ, кроме тематики? Тогда да.
@user-li3xz4ug6d
@user-li3xz4ug6d 4 месяца назад
Хорошее сравнение языков
@infup
@infup 4 месяца назад
Мы старались!
@user-li3xz4ug6d
@user-li3xz4ug6d 4 месяца назад
Спасибо!
@infup
@infup 4 месяца назад
Пожалуйста.
@user-li3xz4ug6d
@user-li3xz4ug6d 4 месяца назад
Очень полезно использовать РВ. Спасибо за разбор)
@infup
@infup 4 месяца назад
Да с регулярками получается просто и эффективно.
@user-jk8pq2bp9r
@user-jk8pq2bp9r 4 месяца назад
В задаче 4 согласных и 3 гласных. Так что вариант "ГСГСГСГ" можно было не рассматривать. И без модуля school всё работает. ## 'ВЕБИНАР'.Permutations.where(s->s.ismatch('([ВБНР][ЕИА]){3}[ВБНР]')).Count.Print;
@infup
@infup 4 месяца назад
Согласен. Можно эту ветку не учитывать. Спасибо за подсказку)
@IgorVseznautigorvseznaut
@IgorVseznautigorvseznaut 4 месяца назад
спасибо очень интересною:)
@infup
@infup 4 месяца назад
Пожалуйста)
@user-cp8rc9kd8s
@user-cp8rc9kd8s 4 месяца назад
Есть такой способ решения. ### Uses school; var s:= ReadAllText('24-264.txt'); (1..50).Wh(i → s.Nwise(i).wh(w → (w.first <> '0')and (w.all(a → a in '0123456789ABCDEF'))).cnt>0).last.pr
@infup
@infup 4 месяца назад
Спасибо) Оригинальный подход к решению этой задачи!
@infup
@infup 4 месяца назад
По времени правда чуть больше чем подход на регулярных выражениях.
@user-li3xz4ug6d
@user-li3xz4ug6d 4 месяца назад
@infup
@infup 4 месяца назад
Спасибо)
@RAlex061
@RAlex061 4 месяца назад
Пайтон тут курит бамбук, а на современном Паскале это можно решить в три строки: ## uses School; var net := new CalcIP('216.130.64.0', '255.255.192.0'); net.GenAddrBin.Skip(1).Count(s -> s[8] + s[16] + s[24] + s[32] = '0000').Print // 4095
@infup
@infup 4 месяца назад
Изящное и красивое решение. Да, python так не может!
@RAlex061
@RAlex061 4 месяца назад
@@infup, он много чего "так не может". Поэтому мы и говорим, что Python для целей обучения сильно переоценён.