Тема: розроблення програми визначення кількості заданих літер у тексті.
Мета: навчитися складати та реалізовувати мовою програмування алгоритми для роботи з рядковими даними, вхідні дані для яких зчитуються з текстових файлів, а результати записуються до текстових файлів також.
Застосовувати отримані знання під час вирішення практичних завдань.
Учень повинен уміти:
записувати мовою програмування алгоритми для роботи з рядковими даними при зчитуванні вхідних даних з текстового файлу і записі вихідних даних у текстовий файл;
застосовувати отримані знання під час вирішення практичних завдань;
cкладати, редагувати, налагоджувати та виконувати програми опрацювання величин рядкового типу в інтегрованому середовищі програмування Free Pascal;
аналізувати результати виконання програм опрацювання величин рядкового типу.
Обладнання: ПК із встановленим ОС й інтегрованим середовищем програмування Free Pascal.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
2. Актуалізація опорних знань
3. Вивчення нового матеріалу
На попередніх уроках ми використовували можливості мови програмування щодо роботи з числовою інформацією. Але її можливості на цьому не закінчуються. З використанням певних функцій та процедур середовище Free Pascal може опрацьовувати текстову інформацію. На уроці ми розглянемо основні функції та процедури для роботи з символьною та рядковою інформацією.
Cимвольний тип char — неструктурований базовий тип даних для роботи з окремими символами, який займає 1 байт пам’яті.
Функції для роботи з символами:
Рядковий тип strings — структурований базовий тип даних для роботи з послідовностями символів кодової таблиці ASCII (до 255 символів), який займає до 256 байтів пам’яті.
Значення рядкової величини записують як послідовність символів, обмежену одинарними лапками (апострофами).
Для того, щоб помістити одинарну лапку у таку послідовність, потрібно у відповідному місці написати дві послідовно розташовані одинарні лапки (апострофи).
Рядкові величини можна опрацьовувати і як єдине ціле, і поелементно. При опрацювання рядка поелементно його зручно розглядати як лінійний (одновимірний) масив з типом індексу byte і типом елементів char.
Для символьних і рядкових величин допустимі всі операції порівняння:
<, <=, =, >, >=, <>.
Довжина рядка (тексту) — це кількість символів у рядку. Згідно зі стандартом мови Pascal довжина рядка — ціле число у межах від 0 до 255.
Конкатенації — операція об'єднання рядків, яку позначають символом «+». Тип результату — також рядкова величина. Якщо довжина результату перевищує 255, то за результат буде взято перші 255 символів.
Оператори відношення застосовують для порівняння рядків відповідно до порядку розширеного набору символів коду ASCII. Ту величину вважають «більшою», у якої на місці першого символа, у якого є відмінність між рядками, розташовано символ з більшим кодом ASCII. Зауважимо: пропуск є повноправним символом рядкової величини і його опрацьовують аналогічно іншим символам. Наприклад,
'turbo' > 'Turbo'; 'turbo' > 'pascal'; 'turbo' < 'turbo pascal';
Функції опрацювання рядків
concat — результат об’єднання рядків в один рядок у такому порядку, в якому їх записано як аргументи функції:
сoncat(rl,r2,r3) — те саме, що r1+r2+r3;
length — довжина рядка (кількість символів):
length('l23') = 3;
copy (s, p, n) — фрагмент довжини n рядка s, починаючи з позиції p:
copy('l234567890',4,3) = '456';
pos (t, s) — номер позиції, з якої починається перше входження рядка t у рядок s як частини. Якщо рядка t у рядку s немає, то буде повернуто нуль:
pos('форма','інформатика') = 2;
pos('форми','інформатика') = 0;
Процедури опрацювання рядків
insert (t, s, p) — вставляє рядок t у рядок s, починаючи з позиції p:
insert('Turbo ','Moвa Pascal') = 'Moвa Turbo Pascal';
delete (s, p, n) — вилучає з рядка s, починаючи з позиції p, послідовні n символів:
insert('Moвa Turbo Pascal',6,5) = 'Moвa Pascal';
Завдання 1. Розробити програму визначення кількості заданих літер у тексті.
Алгоритм
Відкрити вхідний файл на зчитування.
зчитати символ з файлу;
Закрити файл.
Після «мозкового штурму» створення програми потрібно порівняти результат колективної роботи з демонстраційним розв'язанням.
4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу
Завантажити інтегроване середовище програмування Free Pascal. Для заданної задачи виконати вказівку меню File / New. Набравши текст прогами, компілювати (Alt + F9) й виправляти доти, поки результат компіляції не стане успішним. Запускати на виконання програму (Ctrl + F9) і вводити всі змістовно різні вхідні дані. У разі помилкових результатів:
створити вікно обчислюваних виразів за допомого вказівки меню Debug / Watch;
задати у ньому подання величин змінних програми, натиснувши клавішу Insert та у вікні діалогу Edit Watch ввести назву змінної та натиснути кнопку OK;
розташувати обидва вікна таким чином, щоб їх було повністю одночасно видно. Наприклад, у лівій і правій частинах програмного вікна;
програму виконувати покроково (F8) з метою знайти і виправити логічну помилку.
Про успішне виконання кожного завдання повідомляти вчителя підняттям руки.
6. Підбиття підсумків уроку
Виставлення оцінок.
7. Домашнє завдання
Завдання 2. Розробити програму, яка вилучає з тексту усі літери «я» — і великі, і малі.
Текст упорядкувала Шульга Світлана Володимирівна, вчитель школи І–ІІІ ступенів № 249 Деснянського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 24.11.2014 по 12.12.2014.