
Фильтр
Алгоритм решения задания 24 ЕГЭ по информатике. Часть 4
Мы завершаем работу с 24 заданиями ЕГЭ по информатике. В прошлых статьях уже разобрали алгоритмы решения первых трёх типов как с использованием регулярных выражений, так и без них. Как раз в предыдущей статье мы пришли к выводу, что порой гораздо оптимальнее решать 24 задания с помощью метода замены и разделения. Сейчас же мы продолжим развивать эту мысль и используем этот метод для решения заданий 4 типа. В 24 заданиях четвёртого типа часто встречаются условия, в которых указано определённое содержание каких-то комбинаций букв или одиночных букв в требуемой подстроке. Мы всё так же должны найти максимально длинную подстроку, но теперь в этой подстроке должно быть, например, ровно 2 буквы «А». Для примера рассмотрим такую строку: «BCADBECAFBDACEB». Нам нужно найти самую длинную подстроку, содержащую ровно 2 буквы А. Как подойти к решению? Представим, что мы «разрезаем» строку по каждой букве «А»: После разреза получаем фрагменты: «BC», «DBEC», «FBD» и «CEB». Теперь ключевое наблюдение:
Показать еще
- Класс
Алгоритм решения задания 24 ЕГЭ по информатике. Часть 3
За плечами у нас разобранные алгоритмы решения первых двух типов 24 заданий ЕГЭ. Теперь же переходим к третьему. Здесь нам будут встречаться формулировки «символы не стоят рядом». Сразу же здесь хочется как-то разделить такие символы, чтобы они действительно не стояли рядом в итоговых подстроках. В этом и будет заключаться суть одного из самых эффективных и популярных методов для решения 24 заданий третьего типа — метода замены и разделения. В данной статье мы как раз и рассмотрим применение данного метода на нескольких примерах и сравним его с решением с помощью регулярных выражений. Начнём с абстрактной задачи. Представим, что у нас есть строка «ABCAABACACAB». В неё нужно найти подстроку максимальной длины, в которой символы A и B не стоят рядом (именно в таком порядке). Для начала стоит найти все пары «AB» в строке. Отметим их на рисунке оранжевым цветом. Теперь разделим всю строку на 4 части по этим парам. То есть буквально проведём «границу» внутри пары «AB». Получим такие подстр
Показать еще
Алгоритм решения задания 24 ЕГЭ по информатике. Часть 2
В прошлой статье мы познакомились с основными способами решения и типизацией 24 заданий ЕГЭ по информатике. Ко всему прочему, научились решать задания первого типа с помощью регулярных выражений. В этой статье продолжим работать с регулярными выражениями ведь у нас на очереди второй тип, в котором предстоит работать с арифметическими выражениями. Текстовый файл в заданиях второго типа состоит, обычно, из цифр и двух знаков арифметических операций. Следовательно, в нём среди обилия символов можно определить подстроки, которые будут корректными арифметическими выражениями. Например, такими будут следующие подстроки: «2+2», «12*2+3» и им подобные. Ограничения здесь два: числа не могут иметь ведущие нули, и никакие два знака арифметических операций не должны стоять рядом. То есть такие подстроки уже не будут подходить под условие задания: «02+2», «1++2». Что же до ответа, то зачастую требуется определить самую длинную подстроку, являющуюся корректным арифметическим выражением. Но есть и ус
Показать еще
- Класс
Алгоритм решения задания 24 ЕГЭ по информатике. Часть 1
Задание 24 ЕГЭ по информатике посвящено обработке символьной информации. Оно проверяет ваше умение составлять программы для работы с текстовыми строками — одному из важнейших навыков в программировании. В заданиях этого типа вам предлагается текстовый файл, содержащий последовательность символов. Длина этой последовательности может достигать миллиона символов, поэтому ручной анализ исключён — без программы здесь не обойтись. Суть задания обычно сводится к следующему: нужно прочитать данные из файла и найти подстроку максимальной длины, удовлетворяющую определённым условиям. Эти условия могут быть самыми разными: от поиска повторяющихся символов до анализа арифметических выражений. Первым делом здесь стоит отметить обилие способов решения 24 заданий. Чаще всего встречаются три самых эффективных: Регулярные выражения обычно используются для поиска подстроки в тексте по определённому шаблоны. Они позволяют описать шаблон такой подстроки буквально в одну строку кода. Но есть одна особеннос
Показать еще
- Класс
Алгоритм решения задания 13 ЕГЭ по информатике. Часть 3
Ранее мы уже разобрали алгоритм решения первых четырёх типов 13 заданий ЕГЭ по информатике. В этой же статье посвятим себя оставшимся трём типа. Характерной особенностью разбираемых заданий будет наличие некоторого неопределённого числа в записи IP-адреса или маски сети. Именно это число нам и придётся подбирать в цикле, попутно строя сеть с данными из задания и проверяя все необходимые условия для адресов этой сети. Разделение по типам будет такое: Сначала рассмотрим такое задание: Задание 1317 «Сеть, в которой содержится узел с IP-адресом 240.224.A.60, задана маской сети 255.255.255.128, где A — некоторое допустимое для записи IP-адреса число. Определите минимальное значение A, для которого для всех IP-адресов этой сети в двоичной записи IP-адреса суммарное количество единиц будет больше 13.» Что нам нужно здесь сделать: Начнём решение с импорта функций и записи маски: Маску можно записать как обычной строкой, так и префиксом, если вы помните CIDR-нотацию. Далее пишем цикл, в котором
Показать еще
Алгоритм решения задания 13 ЕГЭ по информатике. Часть 2
В прошлой статье мы уже разобрали алгоритм решения самых базовых двух типов 13 заданий. Теперь перед нами стоит задача посложнее — научиться решать задания третьего и четвёртого типов. Напомним еще раз содержание заданий этих двух типов: Начнём с такой формулировки: Задание 1311 «Для узла с IP-адресом 44.44.229.28 адрес сети равен 44.44.224.0. Каково наибольшее значение единиц в разрядах маски?» Давайте продумаем алгоритм решения. Очевидно, что сначала нужно создать объекты обоих адресов. Затем следует в цикле перебирать возможное количество нулей в маске, строить с такой маской сеть и проверять, входит ли в эту сеть данный узел и является ли адрес сети из условия адресом проверяемой сети. Если условие выполняется, то вычисляем длину префикса — это и будет количество единиц. Переходим к коду. Импортируем функции и создаём объекты IP-адреса: Далее создадим список, в котором будем сохранять все возможные длины префикса: Теперь организуем перебор значений префикса в цикле. Возникает вопро
Показать еще
Алгоритм решения задания 13 ЕГЭ по информатике. Часть 1
В прошлых статьях мы не только разобрались с работой модели OSI, но и научились пользоваться функциями модуля ipaddress в Python. Теперь можем смело переходить к разбору алгоритмов решения 13 заданий ЕГЭ по информатике. Данное задание направлено на проверку умений определять параметры по заданному IP-адресу и маске подсети, рассчитывать количество возможных адресов в сети, а также на применение побитовых операций для работы с IP-адресами и масками. Работать в данном задании предстоит всего с тремя значениями: адрес сети, адрес узла и маска подсети. Два из них даются в условии, а одно требуется найти. Задания 13 можно разделить на 7 типов, в зависимости от данных значений: Типов слишком много для одной статьи, так что мы разобьём их разбор на три части. В данной статье рассмотрим первые 2 типа заданий, в следующей поговорим про ручные и программные методы решения 3-4 типов, а напоследок разберём все задания с неизвестным байтом. Решать 13 задания мы будем по большей части программными м
Показать еще
- Класс
Работа с модулем ipaddress
В предыдущей статье мы познакомились с моделью OSI и узнали, как данные путешествуют по сети. Мы выяснили, что каждое устройство в сети имеет свой IP-адрес, а для разделения адреса на сетевую и узловую части используется маска подсети. Теперь пришло время научиться работать с этими понятиями на практике. Для успешного решения 13 задания ЕГЭ по информатике требуется уверенно понимать работу IP-адресации: уметь определять адрес сети по адресу узла и маске, находить широковещательный адрес, вычислять количество хостов в сети. Часть заданий можно решать вручную, но гораздо эффективнее и быстрее использовать специализированный модуль Python — ipaddress. В этой статье мы сначала разберёмся с теорией: что такое маска подсети, как работает CIDR-нотация, как вручную находить адрес сети и узла. А затем познакомимся с модулем ipaddress и его основными функциями. Мы уже знаем, что IP-адрес состоит из двух частей: адреса сети и адреса узла. Но как понять, где проходит граница между ними? Для этого
Показать еще
- Класс
Основы сетей передачи данных
Мы живём в мире, где каждое мгновение взаимодействуем с невероятно сложной системой коммуникаций. Общение с друзьями в мессенджерах, бесконечная лента коротких видео, просмотр новостей — всё это кажется нам настолько обыденным, что мы редко задумываемся о том, как это вообще работает. Представьте себе механизм, который позволяет миллиардам устройств по всему миру — будь то компьютер, телевизор, телефон или умная колонка — общаться друг с другом. И что самое важное, эти устройства «понимают» друг друга вне зависимости от страны производства, фирмы-изготовителя или года выпуска. Ваш старенький ноутбук без проблем отправляет сообщение на новейший смартфон вашего друга на другом континенте. Для реализации такого механизма нужны общие правила, которые определяют порядок взаимодействия всех компонентов системы. Такие правила называются протоколом. Протокол — это своего рода соглашение между устройствами о том, как именно они будут обмениваться информацией. В начале 80-х годов международные о
Показать еще
- Класс
загрузка
Показать ещёНапишите, что Вы ищете, и мы постараемся это найти!