Тема: опрацювання рядків мовою C#.
Мета: сформувати поняття рядка у мові програмування, ознайомити учнів з їх функціями та методами, навчити створювати програми мовою C# опрацюванням рядків.
Обладнання: ПК із встановленим ОС і середовищем програмування мовою C# або стійким сполученням з Інтернетом для роботи з середовищем програмування мовою C# у режимі
online.
Структура уроку
Хід уроку
1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.
Мотивація навчання: на цьому уроці ви ознайомитеся з основними функціями та методами рядків, що передбачені у мові C#. Навчитеся писати програми опрацювання рядків тексту. Наприклад, з переведенням рядка в число та навпаки.
2. Актуалізація опорних знань
Рядки — упорядковані послідовності символів, що використовують для зберігання і представлення текстової інформації. За допомогою рядків можна працювати з усім, що може бути подано у текстовій формі.
Запис рядка здійснюють у лапках. Наприклад:
string s = "Hello World!"
Службові символи (екрановані послідовності)
\t # символ табуляції \b # пропуск \r # повернення каретки \f # розрив сторінки \\ # обернений слеш \' # символ апострофу \" # знак лапок \n # символ нового рядка \u{id} # ідентифікатор ID бази даних Юнікоду
3. Вивчення нового матеріалу
Рядок у С# — це об'єкт класу String, значенням яких є текст.
Для цього класі передбачено багато методів (функций). Протягом уроку ми розглянемо лише деякі з них.
Перед використанням рядка йому потрібно надати значення. Інакше ми отримаємо помилку: "Використання локальної змінної" [назва змінної] ", якій не надано значення".
Створимо рядок і виведемо його на екран:
using System; namespace Rextester { public class Program { public static void Main(string[] args) { string s = "Hello World!"; Console.WriteLine(s); } } }Конкантенація (об'єднання) рядків здійснюють за допомогою операції + або методу Concat (тут і далі подано лише частину коду програми):
string s1 = "Hello"; string s2 = "world"; string s3 = s1 + " " + s2; // результат: "Hello world" string s4 = String.Concat(s3, "!!!"); // результат: "Hello world!!!"
Доступ до символу рядка за індексом здійснюють, вказавши у квадратних дужках індекс (номер) цього символа:
string s = "Hello World!"; char c = s[1]; // 'e'
Нумерація символів рядка починається з нуля.
Вилучення початкових або кінцевих символів здійснюють за допомогою функції Trim:
string s = " hello world "; s = s.Trim(); // результат "hello world" s = s.Trim(new char[] {'d','h'}); // результат "ello worl"
Функція Trim без параметрів обрізає початкові та кінцеві пробіли та повертає обрізаний рядок. Для того, щоб вказати, які початкові та кінцеві символи потрібно обрізати, потрібно передавати в функцію ці символи. Функція Trim має часткові аналоги:
Обрізання певної частини рядка можна здійснити з допомогою функції Substring:
string s = "Добрий день!"; s = s.Substring(2); Console.WriteLine(s); // результат: "брий день!" s = s.Substring(2, s.Length - 3); Console.WriteLine(s); // результат "ий день"
Функції і методи рядків
(дописувати через крапку після назв об'єктів або назви класу String)
4. Інструктаж з ТБ
5. Закріплення вивченого матеріалу
Завдання 1. Скласти програму для підрахунку кількості слів у введеному з клавіатури рядку, використавши метод Split. Словом вважати довільну послідовність символів, відокремлену символами пропуску. Порівняти складену програму з демонстраційним розв'язанням.
Завдання 2. Скласти програму для підрахунку кількості входжень символа a у рядок S. Порівняти складену програму з демонстраційним розв'язанням.
6. Підбиття підсумків уроку
Виставлення оцінок.
7. Домашнє завдання
Завдання 3. Перевірити чи слова, що записані латиницею у рядку, розташовано у алфавітному порядку.
Вказівки до розв'язання
Порівняти складену програму з демонстраційним розв'язанням. Протестувати програму для рядка з використанням кирилиці, у тому числі українських літер, яких немає у російській абетці, при різних типах порівняння: CurrentCulture, CurrentCultureIgnoreCase, InvariantCulture, InvariantCultureIgnoreCase, Ordinal, OrdinalIgnoreCase.
Завдання 4. Перекласти мовою C# програму мовою Pascal для отримання нормальної диз'юнктивної форми булевої фукції. За бажанням зчитування даних можна зробити з клавіатури, а виведення на екран.
Текст упорядкував Сергій Анатолійович Стадніченко, учитель середньої загальноосвітньої школи ІІ–ІІІ ступенів «Фінансовий ліцей» Подільського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 26.11.2018 по 30.11.2018.