Теоретичні відомості та методичні рекомендації

Для обпрацювання більших, ніж окремі символи, текстових одиниць – рядків, в Паскалі існує тип даних, який називається String (рядок).

Значеннями цього типу є рядки, що знаходяться в одинарних лапках, наприклад, ‘школа’, ‘Pascal’, ‘Миру-мир’, ‘Куріння – шкідлива звичка’. Серед різноманітних рядків є порожній ‘’, його не слід плутати з рядком ‘ ’, що містить один символ, який не відображається на екрані, - пропуск.

Цей тип описується так:

var ім’я рядка : string [n];

де n – максимальна кількість символів рядка (якщо цей параметр не вказано, отримаємо рядок довжиною 255 символів).

Операції над рядками:

- введення, виведення ();

- присвоювання (:=);

- з’єднання (+);

- порівняння рядків.

Засоби опрацювання рядків:

concat(s1, s2, …, sn:string):string; - з’єднує послідовно рядки s1, s2, …, sn і повертає отримане значення.

copy(s:string; i:integer; k:integer):string; - виділяє з рядка s підрядок, починаючі з позиції і, довжиною в kсимволів;

(Увага! s[i]:char; - один символ рядка s, що знаходиться на i-тому місці)

length(s:string):byte; - повертає довжину (кількість символів) рядка s.

pos(s1:string; s:string):byte; - повертає позицію, з якої підрядок s1 перший раз зустрічається в рядку s.

delete(s:string; i:integer; k:integer); - видаляє з рядка s k символів, починаючи з позиції і.

insert(s1:string; s:string; i:integer); - вставляє підрядок s1 до рядка s, починаючи з позиції і.

Послідовність вивчення рядків:

- перед поясненням нового матеріалу доцільно актуалізувати знання учнів стосовно літерного (символьного) типу даних та його особливостей, а також поняття масиву;

- пояснення поняття типу даних «рядок»; опис типу;

- приклади значень цього типу; порівняння рядкового та символьного типу даних, порівняння рядку та масиву (слід обов’язково звернути увагу учнів на відмінності порожнього рядка та рядка, що містить один символ - пропуск);

- опис типу (звернути увагу учнів на те, що максимальна кількість символів рядка є різною для різних середовищ програмування)

- бажано пояснити учням відмінності у процесі і результаті порівняння числових даних та рядкових даних (наприклад, 111>2, але ‘111’<’2’);

- відпрацювання на задачах засобів опрацювання рядків:

a) програми, в яких рядок опрацьовується як масив символі, тобто звернення до символу рядка як до елемента масиву s[i];

b) програми з використанням специфічних засобів опрацювання рядків, але без використання циклічних процесів;

c) програми з використанням специфічних засобів опрацювання рядків з використанням циклічних процесів.

Типові помилки учнів при розв’язуванні задач з використанням рядків:

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

- учні не розуміють відмінностей у результатах виконання операторів r:=r+s[i]; та r:=s[i]+r;

- не відрізняють порожній рядок ’’ та рядок, що містить один символ – пропуск ’̺’;

- нерозуміння ситуацій, коли результат дії специфічних засобів опрацювання рядків потрібно присвоїти окремо взятій змінній (наприклад, функції pos, length, copy, concat), а коли – ні (наприклад, процедури delete, insert);

- некоректна послідовність подання параметрів процедур та функції опрацювання рядків;

- у засобах оапрцювання рядків некоректне використання парламентів (наприклад, замість кількості символів вказують номер символу в copy, insert, delete).