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

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

Скачать:


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

1. ИНФОРМАЦИЯ О РАЗРАБОТЧИКЕ

ФИО разработчика 

Рафикова Наталья Алексеевна

Место работы

ГБОУ школа № 661 Приморского района Санкт-Петербурга

 

2. ОБЩАЯ ИНФОРМАЦИЯ ПО УРОКУ

Класс (укажите класс, к которому относится урок):

10 класс

Место урока (по тематическому планированию ПРП)

Раздел 3. Алгоритмы и программирование (44 часа)

Примерные темы, раскрывающие данный раздел программы,

и количество часов, отводимое на их изучение

Учебное содержание

Основные виды деятельности учащихся при изучении темы

(на уровне учебных действий)

Тема 3.4 Алгоритмы обработки символьных данных (5 часов)

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

определять цели деятельности, задавать параметры и критерии их достижения;

разрабатывать план решения проблемы с учётом анализа имеющихся материальных и нематериальных ресурсов;

давать оценку новым ситуациям;

владеть универсальным языком программирования высокого уровня (Python), представлениями о строковом типе данных, уметь использовать основные управляющие конструкции, осуществлять анализ предложенной программы: определять результаты работы программы при заданных исходных данных, определять, при каких исходных данных возможно получение указанных результатов

Тема урока 

Урок 95. Алгоритмы обработки символьных строк: разбиение строки на слова по пробельным символам

Уровень изучения (укажите один или оба уровня изучения (базовый, углубленный), на которые рассчитан урок):

углубленный

Тип урока (укажите тип урока):

 урок освоения новых знаний и умений

 урок систематизации знаний и умений

Планируемые результаты (по ПРП):

Личностные

- сформированность мировоззрения, соответствующего современному уровню развития науки, достижениям научно-технического прогресса и общественной практики, за счёт понимания роли информационных ресурсов, информационных процессов и информационных технологий в условиях цифровой трансформации многих сфер жизни современного общества;

- осознание ценности научной деятельности, готовность осуществлять проектную и исследовательскую деятельность индивидуально и в группе.

В процессе достижения личностных результатов освоения программы  по информатике у обучающихся совершенствуется эмоциональный интеллект, предполагающий сформированность:

- саморегулирования, включающего самоконтроль, умение принимать ответственность за своё поведение, способность адаптироваться к эмоциональным изменениям и проявлять гибкость, быть открытым новому;

- внутренней мотивациивключающей стремление к достижению цели  и успеху, оптимизм, инициативность, умение действовать, исходя из своих возможностей;

- эмпатии, включающей способность понимать эмоциональное состояние других, учитывать его при осуществлении коммуникации, способность  к сочувствию и сопереживанию;

- социальных навыков, включающих способность выстраивать отношения  с другими людьми, заботиться, проявлять интерес и разрешать конфликты.

Метапредметные

- определять цели деятельности, задавать параметры и критерии их достижения;

- выявлять закономерности и противоречия в рассматриваемых явлениях;

- разрабатывать план решения проблемы с учётом анализа имеющихся материальных и нематериальных ресурсов;

- вносить коррективы в деятельность, оценивать соответствие результатов целям, оценивать риски последствий деятельности;

- координировать и выполнять работу в условиях реального взаимодействия;

- осуществлять различные виды деятельности по получению нового знания,  его интерпретации, преобразованию и применению в различных учебных ситуациях;

- формировать научный тип мышления, владеть научной терминологией, ключевыми понятиями и методами;

- ставить и формулировать собственные задачи в образовательной деятельности и жизненных ситуациях;

- понимать и использовать преимущества командной и индивидуальной работы;

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

Предметные

- разбивать задачи на подзадачи;

- владеть универсальным языком программирования высокого уровня (Python), представлениями о строковом типе данных, умение использовать основные управляющие конструкции, умение осуществлять анализ предложенной программы: определять результаты работы программы при заданных исходных данных, определять, при каких исходных данных возможно получение указанных результатов, выявлять данные, которые могут привести  к ошибке в работе программы, формулировать предложения по улучшению программного кода;

Ключевые слова: методы строк, обработка строк, индексация строк, срез строки, разбиение строки на слова по пробельным символам

Краткое описание: Урок проводится в кабинете информатике, на индивидуальных компьютерах с предустановленным ПО «Python IDLE»; используется мультимедиа проектор для показа презентационного материала по изучаемой теме, карточки для повторения материала

3. БЛОЧНО-МОДУЛЬНОЕ ОПИСАНИЕ УРОКА

БЛОК 1. Вхождение в тему урока и создание условий для осознанного восприятия нового материала

Этап 1.1. Мотивирование на учебную деятельность (5 мин)

Укажите формы организации учебной деятельности на данном этапе урока. Опишите конкретную учебную установку, вопрос, задание, интересный факт, которые мотивируют мыслительную деятельность школьника (это интересно/знаешь ли ты, что)

Разминка «Угадай».

Каждому учащемуся на спину приклеивается стикер с любым понятием по программированию — цикл for, параметр sep и т.д. Можно прочитать, что написано на спине у других, но, естественно, не на своей. Задача — по описанию партнёра угадать, что написано на собственном стикере. На уроке вам предстоит немного угадывать.

Этап 1.2. Актуализация опорных знаний (5 мин)

Повторение изученного материала прошлых уроках. Что мы знаем? Команды print(), input(), типы данных int, float, str, индексация строки, срез строки. Решение задач по пройденной теме (в парах) по карточкам.

Этап 1.3. Целеполагание

Цель нашего урока – узнать некоторые методы строк. Научимся применять их при написании кода. Поэтому наш урок будет носить практический характер.

БЛОК 2. Освоение нового материала

Этап 2.1. Осуществление учебных действий по освоению нового материала (20 мин)

Мы уже знакомы с некоторыми встроенными функциями: min(), max(), len(), int(), float() и т.д.

Метод — это специализированная функция. Как и функция, он вызывается для выполнения отдельной задачи, но метод вызывается для определенного объекта и “знает” о своем целевом объекте во время выполнения.

Метод вызывается командой вида имя_объекта.имя_метода(параметры).

Познакомимся с двумя методами, которые будем применять к строке s.

Как вы думаете s.find() и s.split() что делают? Попробуйте угадать?

Подчеркиваю: если знаете английский, знаете Питон!

Метод find() (от англ. find – найти) находит индекс первого вхождения подстроки  в исходную строку s. Если строка s не содержит подстроки , то метод возвращает значение -1.

Метод split()(от англ. split – расщепить) возвращает список слов, полученных при разбиении строки.

Давайте разберём, как применяются эти методы в программном коде.

Предположим, что с клавиатуры вводится строка, содержащая имя, отчество и фамилию человека, например: Иван Петрович Семёнов. Каждые два слова разделены одним пробелом, в начале строки пробелов нет. В результате обработки должна получиться новая строка, содержащая фамилию и инициалы: Семёнов И.П.

Возможный алгоритм решения этой задачи может быть на псевдокоде записан так:

  • ввести строку
  • найти в строке первый пробел и выделить имя (всё, что слева от первого пробела)
  • удалить имя с пробелом из основной строки
  • найти первый пробел и выделить отчество (всё, что слева от первого пробела)
  • удалить отчество с пробелом из основной строки
  • «сцепить» фамилию, первые буквы имени и фамилии, точки, пробелы…

Мы последовательно выделяем из строки три элемента: имя, отчество и фамилию, используя тот факт, что они разделены одиночными пробелами. После того как имя будет сохранено в отдельной переменной, в строке останется только отчество и фамилия. После «изъятия» отчества остаётся только фамилия. Теперь нужно собрать строку-результат из частей: «сцепить» фамилию и первые буквы имени и отчества, поставив пробелы и точки между ними.

Давайте применим метод find и срезы, чтобы решить поставленную задачу.

print ( "Введите имя, отчество и фамилию:" )

s = input()

n = s.find ( " " )

name = s[:n]           

s = s[n+1:]

n = s.find ( " " )

name2 = s[:n]           

s = s[n+1:]              

s = s + " " +  name[0 ] + "." + name2[0] + ". "

print(s)

Используя встроенные функции языка Python, эту задачу можно решить намного проще. Прежде всего нужно разбить введённую строку на отдельные слова. Которые разделены пробелами. Для этого используется метод split(), который возвращает список слов, полученных при разбиении строки.

fio = s.split()

Если входная строка соответствует формату условия, то в этом списке будет три элемента: имя fio[0], отчество fio[1] и фамилия fio[2].

Теперь остаётся только собрать строку-результат в нужном виде.

Запись fio[0][0] означает 0-й символ из 0-го элемента списка fio, Аналогично fio[1][0] – первая буква отчества и т.п.

print ( "Введите имя, отчество и фамилию:" )

s = input()

fio = s.split()

s = fio[2] + " " + fio[0][0] + "." + fio[1][0] + "."

print(s)

Этап 2.2. Проверка первичного усвоения (1 мин)

Вернемся к целям нашего урока. Как вы считаете, мы достигли их?

Узнали мы как работать с методами строк (поиском и разбиением)?

Познакомились мы с тем, как использовать методы split() и find()?

БЛОК 3. Применение изученного материала

Этап 3.1. Применение знаний, в том числе в новых ситуациях

Для того, чтобы проверить на практике полученные знания, мы с вами запускаем среду программирования Python IDLE и решаем задачу:

Этап 3.2. Выполнение межпредметных заданий и заданий из реальной жизни

Подберите соответствующие учебные задания

Этап 3.3. Выполнение заданий в формате ГИА (ОГЭ, ЕГЭ)

Подберите соответствующие учебные задания

Этап 3.4. Развитие функциональной грамотности

Подберите соответствующие учебные задания

Этап 3.5. Систематизация знаний и умений

Подберите учебные задания на выявление связи изученной на уроке темы с освоенным ранее материалом/другими предметами

БЛОК 4. Проверка приобретенных знаний, умений и навыков

Этап 4.1. Диагностика/самодиагностика

  1. Подведение итогов урока с помощью вопросов:

С какими строковыми методами мы сегодня познакомились?

  1. Организовать рефлексию собственной деятельности учащихся на уроке, предлагая пройти опрос:

Рефлексия «Светофор». Учащиеся продолжают предложение:
Зеленый: У меня получилось… Я доволен…
Желтый: Мне нужно еще закрепить …
Красный: У меня возникли ошибки, трудности

БЛОК 5. Подведение итогов, домашнее задание

Этап 5.1. Рефлексия

Повторите и закрепите правила составления программы с использованием функций find() и split()

Этап 5.2. Домашнее задание

Введите рекомендации по домашнему заданию.

  1. Конспект прочитать
  2. Решить две задачи

Задача 1. Ввести адрес файла и «разобрать» его на части, разделенные знаком "/". Каждую часть вывести в отдельной строке.

Пример:

Введите адрес файла:

C:/Фото/2013/Поход/vasya.jpg

C:

Фото

2013

Поход

vasya.jpg

Задача 2. Ввести с клавиатуры дату в формате: 12 мая 2024.

Программа должна вывести эту дату в другом формате: 12.05.2024


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


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

Слайд 1

Метод ы строк . Алгоритмы обработки символьных строк: разбиение строки на слова по пробельным символам

Слайд 2

Повторение материала

Слайд 3

Методы и функции

Слайд 4

Методы и функции Мы уже знакомы с некоторыми встроенными функциями: min(), max(), len(), int(), float() и т.д. Метод — это специализированная функция, тесно связанная с объектом. Как и функция, метод вызывается для выполнения отдельной задачи, но он вызывается для определенного объекта и знает о своем целевом объекте во время выполнения. Метод вызывается в виде имя_объекта.имя_метода(параметры) . 4

Слайд 5

5 s.find (" * ") s.split ( "+" ) s = input() Методы и функции Метод find (< sub >) ( от англ. find – найти) находит индекс первого вхождения подстроки < sub > в исходную строку s . Если строка s не содержит подстроки < sub > , то метод возвращает значение -1 . Метод split ( < sub >) ( от англ. split – р асщепить) возвращает список слов, полученных при разбиении строки.

Слайд 6

Пример обработки строк с помощью методов поиска и разбиения

Слайд 7

7 Ввод данных: Введите имя, отчество и фамилию: Иван Петрович Семёнов Вывод: Семёнов И.П. Задача . Ввести имя, отчество и фамилию. Преобразовать их к формату «фамилия-инициалы »

Слайд 8

Алгоритм найти первый пробел и выделить имя удалить имя с пробелом из основной строки найти первый пробел и выделить отчество удалить отчество с пробелом из основной строки «сцепить» фамилию, первые буквы имени и фамилии, точки, пробелы… 8

Слайд 9

Пример программы: 9 print ( "Введите имя, отчество и фамилию:" ) s = input() n = s.find ( " " ) name = s[:n] s = s[n+1:] n = s.find ( " " ) name 2 = s [: n ] s = s [ n +1:] s = s + " " + name[0 ] + "." + name2[0] + ". " print(s) Метод find (< sub >) находит индекс первого вхождения подстроки < sub > в исходную строку s . Если строка s не содержит подстроки < sub > , то метод возвращает значение -1 .

Слайд 10

Решение в стиле Python 10 print ( "Введите имя, отчество и фамилию:" ) s = input() f io = s.sp l it () s = fio [2] + " " + fio [0][0] + "." + fio [1][0] + "." print(s) Иван Петрович Семёнов fio [ 0 ] fio [ 1 ] fio [ 2 ] Метод split ( < sub >) ( от англ. split – р асщепить) возвращает список слов, полученных при разбиении строки.

Слайд 11

Самостоятельно: 1) Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы. Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович П . С . Иванов 11

Слайд 12

Самостоятельно: 2 ) Ввести адрес файла и «разобрать» его на части, разделенные знаком "/". Каждую часть вывести в отдельной строке. Пример: Введите адрес файла: C:/Фото/2013/Поход/vasya.jpg C: Фото 2013 Поход vasya.jpg 12

Слайд 13

Самостоятельно: 3 ) Ввести с клавиатуры дату в формате: 12 мая 2024. Программа должна вывести эту дату в другом формате: 12.05.2024 13


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

Технологическая карта урока технологии в 5 классе. Тема «Обработка пояса»

Содержательная цель: Закрепить знания и умения обработки пояса.Учитель предлагает найти содержание темы урока, активизирует знания учащихся, создает проблемную ситуацию. Чтобы точнее сформулировать те...

Технологическая карта урока по информатике 6 класс на тему "Алгоритм"

Цель урока: сформировать представление у учащихся о понятие алгоритма, определить его свойства, дать понятие исполнителя алгоритма....

Технологическая карта урока. Босова. Информатика . 5 класс. ФГОС.Табличное решение логических задач

Технологическая карта урока. Босова. Информатика . 5 класс. ФГОС.Урок 16. Табличное решение логических задачПланируемые образовательные результаты:предметные – умение представлять информацию в т...

Презентация и технологическая карта урока по информатике, 8 класс. Тема: "Алгоритмическая конструкция повторение. Цикл с заданным условием продолжения работы."

Технологическая карта урока Предмет, класс:  Информатика  и ИКТ, 8 класс.Название и автор учебника: Информатика и ИКТ, Босова Л. Л.Тема урока: Алгоритмическая конструкция...

Технологическая карта урока. Босова. Информатика. 5 класс. ФГОС. Информация вокруг нас.

Технологическая карта урока. Босова. Информатика. 5 класс. ФГОС.Урок 1. Информация вокруг нас.Цели урока:- рассмотрение правил техники безопасности и организации рабочего места при работе в комп...

Технологическая карта урока. Босова. Информатика . 5 класс. ФГОС. Компьютер – универсальная машина для работы с информацией.

Технологическая карта урока. Босова. Информатика . 5 класс. ФГОС.Урок 2. Компьютер – универсальная машина для работы с информацией.Цели урока:- расширение  представления  школьников...

Технологическая карта урока. Босова. Информатика . 5 класс. ФГОС. Ввод информации в память компьютера.

Технологическая карта урока. Босова. Информатика . 5 класс. ФГОС.Урок 3. Ввод информации в память компьютера.Цели урока:- расширение  представления  школьников  об  устройств...