Задание №24 Обработка символьных строк. Метод двух указателей
презентация к уроку по информатике и икт (10, 11 класс)

Зловедова Ольга Николаевна

Метод двух указателей эффективен для решения многих задач по обработке строк. Но понимается учениками не сразу. Я решила сделать для одной из задач  в презентации информационную модель для кода на Python, который предложил  на своем сайте Леонид Шастин. Ребятам этот способ разбора пришелся по душе

Скачать:

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Задание №24 Обработка символьных строк. Метод двух указателей

Слайд 2

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. s = 'hecqcwddrcdece' kc = 0 # кол-во символов' c' kd = 0 # кол-во символов' d' m_s = 0 # максимальная длина искомой подстроки L = 0 # левая граница(указатель) текущей подстроки R = 0 # правая граница(указатель) текущей подстроки for R in range(len(s)): if s[R]=='c': kc+=1 if s[R]=='d': kd+=1 while kc>2 or kd>2: if s[L]=='c': kc-=1 if s[L]=='d': kd-=1 L+=1 m_s=max(m_s,R-L+1) print(m_s)

Слайд 3

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 – левый(край) указатель R = 0 – правый указатель Длина фрагмента ( R – L + 1) m_s = 0 kc = 0 kd = 0 Len(s) = 14 s

Слайд 4

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 0 Длина фрагмента ( R – L + 1) = 0 – 0 + 1 = 1 m_s = 1 kc = 0 kd = 0 Len(s) = 14 s

Слайд 5

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 1 Длина фрагмента ( R – L + 1)= 2 m_s = 2 kc = 0 kd = 0 Len(s) = 14 s

Слайд 6

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 2 Длина фрагмента ( R – L + 1)= 3 m_s = 3 kc = 1 kd = 0 Len(s) = 14 s

Слайд 7

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 3 Длина фрагмента ( R – L + 1)= 4 m_s = 4 kc = 1 kd = 0 Len(s) = 14 s

Слайд 8

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 4 Длина фрагмента ( R – L + 1)= 5 m_s = 4 kc = 2 kd = 0 Len(s) = 14 s

Слайд 9

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 5 Длина фрагмента ( R – L + 1)= 6 m_s = 6 kc = 2 kd = 0 Len(s) = 14 s

Слайд 10

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 6 Длина фрагмента ( R – L + 1)= 7 m_s = 7 kc = 2 kd = 1 Len(s) = 14 s

Слайд 11

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 7 Длина фрагмента ( R – L + 1)= 8 m_s = 8 kc = 2 kd = 2 Len(s) = 14 s

Слайд 12

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 8 Длина фрагмента ( R – L + 1)= 9 m_s = 9 kc = 2 kd = 2 Len(s) = 14 s

Слайд 13

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 0 R = 9 Длина фрагмента ( R – L + 1)= 9 m_s = 9 kc = 3 kd = 2 Len(s) = 14 s

Слайд 14

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 1 R = 9 Длина фрагмента ( R – L + 1)= 9 m_s = 9 kc = 3 kd = 2 Len(s) = 14 s

Слайд 15

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 2 R = 9 Длина фрагмента ( R – L + 1)= 8 m_s = 9 kc = 3 kd = 2 Len(s) = 14 s

Слайд 16

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 3 R = 9 Длина фрагмента ( R – L + 1)= 7 m_s = 9 kc = 2 kd = 2 Len(s) = 14 s

Слайд 17

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 3 R = 10 Длина фрагмента ( R – L + 1)= 7 m_s = 9 kc = 2 kd = 3 Len(s) = 14 s

Слайд 18

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 4 R = 10 Длина фрагмента ( R – L + 1)= 7 m_s = 9 kc = 1 kd = 3 Len(s) = 14 s

Слайд 19

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 5 R = 10 Длина фрагмента ( R – L + 1)= 6 m_s = 9 kc = 1 kd = 3 Len(s) = 14 s

Слайд 20

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 6 R = 10 Длина фрагмента ( R – L + 1)= 5 m_s = 9 kc = 1 kd = 2 Len(s) = 14 s

Слайд 21

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 7 R = 10 Длина фрагмента ( R – L + 1)= 4 m_s = 9 kc = 1 kd = 2 Len(s) = 14 s

Слайд 22

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 7 R = 11 Длина фрагмента ( R – L + 1)= 5 m_s = 9 kc = 1 kd = 2 Len(s) = 14 s

Слайд 23

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 7 R = 12 Длина фрагмента ( R – L + 1)= 5 m_s = 9 kc = 2 kd = 2 Len(s) = 14 s

Слайд 24

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 7 R = 13 Длина фрагмента ( R – L + 1)=7 m_s = 9 kc = 2 kd = 2 Len(s) = 14 s

Слайд 25

Текстовый файл содержит только заглавные буквы латинского алфавита (ABC…Z). Определите максимальное количество идущих подряд символов, среди которых каждая из букв C и D встречается не более двух раз. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 h e c q c w d d r c d e c e L = 7 R = 13 Длина фрагмента ( R – L + 1)=7 m_s = 9 kc = 2 kd = 2 Len(s) = 14 s


По теме: методические разработки, презентации и конспекты

Обработка символьной информации

Презентация содержит теоретический материал по теме " Символьные величины в QBasic" с примерами....

Контрольная работа по теме "Обработка строк"

Предлагается 15 вариантов контрольной работы по теме "Обработка строк"....

конспект урока по теме « Кодирование и обработка символьной информации»

В конспекте содержится разработка лабораторной и самостоятельной работы по теме « Кодирование и обработка символьной информации»...

Практическое задание «Технология обработки ткани и декоративно-прикладное искусство», 7 класс

Выполните моделирование туники на чертеже основы в соответствии с эскизом (в правой колонке инструкционной карты)....

Подготовка к ЕГЭ по информатике. Разбор задания 25 Обработка целых чисел. Проверка делимости.

Материал представлен в виде презентации. Основная цель - научить создавать программы для обработки целочисленной информации, нахождения делителей и обработки простых чисел. Рассмотрены разные типы зад...

Технологическая карта урока по информатике в 10 классе. Алгоритмы обработки символьных строк: разбиение строки на слова по пробельным символам

Алгоритмы обработки символьных данных. данных. Встроенные функции языка программирования для обработки символьных строк. Алгоритмы обработки символьных строк: подсчёт количества появлений символа...

Использование языка программирования Python для решения задачи 24 ЕГЭ по информатике (Программирование, обработка символьной информации)

В статье приводится пример решения задачи 24 ЕГЭ по информатике (Программирование, обработка символьной информации), которое успешно решается с помощью программы на языке программирования Python....