Розробка уроку

Тема: опрацювання рядків мовою Python.

Мета: сформувати визначення поняття рядків у мові програмування, ознайомити учнів з їх функціями та методами, навчити створювати програми мовою Python опрацюванням рядків.

Обладнання: ПК із встановленим ОС і середовищем програмування мовою Python або стійким сполученням з Інтернетом для роботи з середовищем програмування мовою Python у режимі online.

Структура уроку

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Закріплення вивченого матеріалу.
  6. Підбиття підсумків уроку.
  7. Домашнє завдання.

Хід уроку

1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.

Мотивація навчання: на цьому уроці ви ознайомитеся з основами функціями та методами рядків мовою Python. Навчитеся писати програми опрацювання рядків тексту. Наприклад, з переведенням рядка в число та навпаки.

2. Актуалізація опорних знань

Рядкиупорядковані послідовності символів, що використовують для зберігання і представлення текстової інформації. За допомогою рядків можна працювати з усім, що може бути подано у текстовій формі.

Рядки в апострофах і в лапках. Рівнозначними є обидва записи рядків:

S = 'spam"s'
S = "spam's"

Два варіанти надають можливість дозволяють вставляти в рядок символи лапок або апострофів, не використовуючи екранування.

Службові символи (екрановані послідовності)

\\      # \
\'      # '
\"      # "
\0      # cимвол Null (не є ознакою кінця рядка)
\a      # код дзвінка
\b      # повернення (Backspace)
\f      # ознака кінця сторінки
\n      # ознака кінця рядка
\r      # повернення каретки
\t      # горизонтальна табуляція
\v      # вертикальна табуляція
\N{id}  # ідентифікатор ID бази даних Юнікоду
\ooo    # символ з 8-им кодом ооо
\uhhhh  # символ з 16-бітовим кодом hhhh Юнікоду в 16-му поданні
\Uhhhh… # символ з 32-бітовим кодом hhhh Юнікоду в 16-му поданні
\xhh    # символ з 16-им кодом hh

Якщо безпосередньо перед записом рядка стоїть символ 'r' (в будь-якому регістрі), то екранування буде відключено відключено («сирий рядок»). Але незважаючи на призначення, «сирий рядок» не може закінчуватися символом зворотного слеша \. Шляхи обходу цього обмеження такі:

S = r'\n\n\\'[:-1]
S = r'\n\n' + '\\'
S = '\\n\\n'

3. Вивчення нового матеріалу

Базові дії з рядками
(у коментарі подано результат і через дефіс - записано назву операції)

'spam'+'eggs' # 'spameggs'     - конкатенація (додавання)
'spam'*3      # 'spamspamspam' - дублювання
len('spam')   # 4              - довжина рядка

S = 'spam' 
S[0]          # 's' - доступ за індексом
S[2]          # 'a'
S[-2]         # 'a'

Як видно з останнього прикладу, у Python є можливість доступу за від'ємним індексому. При цьому відлік йде від кінця рядка.

Оператор вилучення зрізу має такий вигляд: [X:Y:Z], де X — початок зрізу, а Y — обмеження справа (не входить у зріз), Z — крок. Символ з номером Y у зріз не входить. Як усталено X дорівнює 0, а Y — довжині рядка, Z — 1.

s = 'spameggs'
s[3:5]    # 'me'
s[2:-2]   # 'ameg'
s[:6]     # 'spameg'
s[1:]     # 'pameggs'
s[:]      # 'spameggs'
s[::-1]   # 'sggemaps'
s[3:5:-1] # ''
s[2::2]   # 'aeg'

Викликаючи методи рядків необхідно пам'ятати, що рядки у Python відносять до категорії незмінних послідовностей. Інакше кажучи, всі функції і методи можуть лише створювати новий рядок. Тому всі рядкові методи повертають новий рядок, за допомогою якого потрібно надати значення змінній.

Приклади використання функцій і методів рядків

Завдання 1. Скласти програму для підрахунку кількості слів у введеному з клавіатури рядку. Словом вважати послідовність символів, що відокремлену символами пропуску. Порівняти складену програму з демонстраційним розв'язанням.

4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу


Завдання 2. Скласти програму для підрахунку кількості входжень символа a у рядок S. Порівняти складену програму з демонстраційним розв'язанням.

6. Підбиття підсумків уроку
Виставлення оцінок.

7. Домашнє завдання

Завдання 3. Перевірити чи слова, що записані латиницею у рядку, розташовано у алфавітному порядку.

Вказівки до розв'язання

  1. Розбити рядок на слова.

  2. Використати порівняння рядків для пошуку пари слів, з яких попереднє має стояти після наступного в алфавітному порядку.

  3. Якщо таку пару знайдено, вивести повідомлення про неупорядкованість, інакше — повідомлення про упорядкованість.

Порівняти складену програму з демонстраційним розв'язанням. Протестувати програму для рядка з використанням кирилиці, у тому числі українських літер, яких немає у російській абетці. Поміркувати, як потрібно змінити програму, щоб отримувати правильну відповідь і в цьому випадку.

Завдання 4. Перекласти мовою Python програму мовою Pascal для отримання нормальної диз'юнктивної форми булевої фукції. За бажанням зчитування даних можна зробити з клавіатури, а виведення на екран.


Текст упорядкувала Людмила Анатоліївна Кашперенко, учитель середньої загальноосвітньої школи І–ІІІ ступенів № 258 Дніпровського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 29.10.2018 по 02.11.2018.