Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_МНІ_2часть.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
21.24 Mб
Скачать

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’);

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

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

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

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

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

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

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

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

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

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

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

Завдання до лабораторної роботи

  1. Ознайомитися з відповідним теоретичним матеріалом.

  2. Розв’язати наступні задачі та запустити створені програми у середовищі програмування мовою Pascal.

L_5_1. Замінити в даному рядку перше входження слова «кіт» словом «пес».

L_5_2. Видалити всі пропуски з рядка.

L_5_3. Значенням рядка є слово з дефісом. Поміняти місцями частини до і після дефіса.

L_5_4. Подвоїти всі латинські букви у даному рядку.

L_5_5. Чи є в заданому рядку пара однакових символів, що йдуть підряд один за одним?

  1. Використовуючи перевірку задач в режимі ON-LINE - Задачі для початківців (http://www.olymp.vinnica.ua) розв’язати наступну задачу:

L_5_6. Задача Bracket

Дано алгебраїчний вираз з дужками, записаний одним рядком. Вірно чи не вірно в ньому розставлено дужки?

Технічні умови: Програма читає з клавіатури рядок з виразом (не довший за 255 символів). Програма виводить на екран відповідь в вигляді текстового рядка. Якщо дужки розставлено вірно - друкує слово True, якщо не вірно - Fаlse

Приклад:

Введення: (a+b)

Виведення: True

  1. Виконати вхід на власну сторінку на сайті http://acmp.ru. Використовуючи середовище програмування FreePascal, розв’язати наступну задачу та протестувати її на сайті.

L_5_7. Стрілки. (Час: 1 сек. Пам’ять: 16 Мб. Складність: 20%)

Задана послідовність, що складається тільки з символів ‘>’, ‘<’ і ‘-‘. Потрібно знайти кількість стрілок, які сховані в цій послідовності. Стрілки – це підрядки виду ‘>>-->’ і ‘<--<<’.

Вхідні дані: в першому рядку вхідного файлу INPUT.TXT записано рядок, що складається з символів ‘>’, ‘<’ и ‘-‘ (без пропусків). Рядок складається не більше, ніж з 250 символів.

Вихідні дані: до єдиного рядка вихідного файлу OUTPUT.TXT потрібно вивести шукану кількість стрілок.

Приклад:

INPUT.TXT

OUTPUT.TXT

1

<<<<>>--><--<<--<<>>>--><<<<<

4

  1. Розробити власний комплекс задач (5-7 задач) з відповідної теми, що включає завдання різного рівня складності.

  2. Оформити звіт по лабораторній роботі.