Информатик БУ - Подготовка к ЕГЭ по Информатике
17.7K subscribers
4.17K photos
174 videos
156 files
1.56K links
Материалы для подготовки к ЕГЭ 2026 от информатика БУ.
Чат: @infbu_chat
Курсы: https://shkolkovo.info/o7

Канал зарегистрирован: https://knd.gov.ru/license?id=678760f41e4e233a711922f0&registryType=bloggersPermission
Download Telegram
На курсе мы с вами решили уже далеко не одно задание по Алгебре логики, поэтому я подготовил полезные обои с основными законами!

Скачивайте, чтобы точно не забыть.🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥4❤‍🔥3🥰1
Практика решает все! 🟥

Не устану напоминать вам об этом) Важно не только хорошо решать, но и уметь исправлять ошибки.

Именно этим мы сейчас и займемся — встречайте «Минус ошибку» по заданию 24! 🔍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥5🔥2💯2
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 1.

Условие: Найдите максимальную длину подстроки, в которой буква «A» встречается не более 3 раз.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 0
count_A = 0

for r in range(len(s)):
if s[r] == 'A':
count_A += 1
while count_A > 3:
l += 1
ans = max(ans, r - l + 1)
print(ans)
❤2💘2
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 2.

Условие: Найдите максимальную длину подстроки, в которой количество гласных букв не превышает 5.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 1
count_vowels = 0
vowels = 'aeiouy'

for r in range(len(s)):
if s[r] in vowels:
count_vowels += 1
while count_vowels > 5:
if s[l] in vowels:
count_vowels -= 1
l += 1
ans = max(ans, r - l + 1)
print(ans)
❤3
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 3.

Условие: Найдите наибольшую длину подстроки, в которой буква «X» встречается не более 5 раз.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 0
count_X = 0

for r in range(len(s)):
if s[r] == 'X':
count_X += 1
while count_X > 3:
l += 1
if s[l] == 'X':
count_X -= 1
ans = max(ans, r - l + 1)
print(ans)
❤2
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 4.

Условие: Найдите наибольшую длину подстроки, в которой буква «X» встречается не более 3 раз, и буква «Y» встречается не более 3 раз.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 0
count_X = 0
count_Y = 0

for r in range(len(s)):
if s[r] == 'X': count_X += 1
if s[r] == 'Y': count_Y += 1
while count_X > 3 and count_Y > 3:
if s[l] == 'X': count_X -= 1
if s[l] == 'Y': count_Y -= 1
l += 1
ans = max(ans, r - l + 1)
print(ans)
👍1
НАЙДИТЕ ОШИБКУ В РЕШЕНИИ

Задание 5.

Условие: Найдите наибольшую длину подстроки, содержащей не более 5 цифр.

Код с ошибкой:
s = open('file.txt').readline()
ans = 0
l = 0
count_digits = 0
digits = '0123456789'

for r in range(len(s)):
if s[r] in digits:
count_digits += 1
while count_digits >= 5:
if s[l] in digits
count_digits -= 1
l += 1
ans = max(ans, r - l + 1)
print(ans)
❤1🤔1
Жду ваши исправления) Ответы выложу завтра!
Ребята, видел, что не все ошибки смогли найти. 😢

Поэтому сейчас обязательно изучите объяснения! Если остались вопросы — жду в комментариях!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3👍2
ОТВЕТЫ НА РУБРИКУ МИНУС ОШИБКА 🔥

1. При сдвиге левого указателя l мы забываем уменьшать счетчик count_A, если выкидываемый символ был буквой «A». Из-за этого count_A только растет, и окно никогда не сможет сдвинуться корректно.

2. В Python строки индексируются с 0. Инициализация l = 1 пропускает самый первый символ строки. Если строка начинается с подходящей последовательности, первый символ будет проигнорирован, а при сдвиге l может возникнуть путаница.

3. Указатель l сдвигается на +1 до того, как мы проверяем символ s[l]. В итоге мы проверяем и выкидываем из подстроки не тот символ, который был на позиции l, а следующий за ним. Также подстрока перестает быть валидной, если счетчик стал больше 5, а не 3.

4. Условие count_X > 3 and count_Y > 3 означает, что окно будет сдвигаться только тогда, когда оба символа превышают лимит. Если, например, X стало 4, а Y осталось 2, цикл while не запустится, и мы посчитаем невподходящую подстроку. Для проверки невалидности подстроки нужно использовать or.

5. Условие «не более 5» означает, что 5 цифр — это допустимо. Но цикл while count_digits >= 5 будет сдвигать левую границу, как только цифр станет ровно 5, отсекая подходящие подстроки. Также при проверке символа под индексом левого указателя необходимо поставить двоеточие в конце if.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1💯1
Продолжаем закреплять метод двух указателей из №24.

Ловите небольшую сводку о том, как движется каждый из указателей. 📚
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍5🔥4