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

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

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

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

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

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

Хід уроку

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. Перевірити чи слова, що записані латиницею у рядку, розташовано у алфавітному порядку.

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

  1. Розбити рядок на масив рядків-слова.
  2. Використати String.Compare у порівнянні усіх пар сусідніх елементів масиву.

Порівняти складену програму з демонстраційним розв'язанням. Протестувати програму для рядка з використанням кирилиці, у тому числі українських літер, яких немає у російській абетці, при різних типах порівняння: Current­Culture, Current­Culture­IgnoreCase, Invariant­Culture, Invariant­Culture­IgnoreCase, Ordinal, Ordinal­Ignore­Case.

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


Текст упорядкував Сергій Анатолійович Стадніченко, учитель середньої загальноосвітньої школи ІІ–ІІІ ступенів «Фінансовий ліцей» Подільського району міста Києва, під час виконання випускної роботи на курсах підвищення кваліфікації з 26.11.2018 по 30.11.2018.