- •Лабораторні роботи з методики навчання інформатики
- •Передмова
- •Методика навчання теми «Бази даних»
- •Теоретичні відомості та методичні рекомендації
- •Завдання до лабораторної роботи
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Методика вивчення теми «Комп’ютерні публікації»
- •Теоретичні відомості та методичні рекомендації
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Методика ознайомлення учнів із середовищем програмування
- •Теоретичні відомості та методичні рекомендації
- •Структура програми
- •Основні оператори
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Рекомендована література
- •Методика вивчення теми «Мова програмування Паскаль. Найпростіші програми»
- •Теоретичні відомості та методичні рекомендації
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Рекомендована література
- •Методика вивчення теми «Мова програмування Паскаль. Складений оператор. Умовний оператор. Оператор вибору»
- •Теоретичні відомості
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Рекомендована література
- •Методика вивчення теми «Мова програмування Паскаль. Цикл з умовою. Цикл з параметром»
- •Теоретичні відомості
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Var ім’я рядка : string [n];
- •Завдання до лабораторної роботи
- •Контрольні питання
- •Рекомендована література
- •Список рекомендованої літератури
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’);
відпрацювання на задачах засобів опрацювання рядків:
програми, в яких рядок опрацьовується як масив символі, тобто звернення до символу рядка як до елемента масиву s[i];
програми з використанням специфічних засобів опрацювання рядків, але без використання циклічних процесів;
програми з використанням специфічних засобів опрацювання рядків з використанням циклічних процесів.
Типові помилки учнів при розв’язуванні задач з використанням рядків:
запис значення рядкового типу даних без використання одинарних лапок;
учні не розуміють відмінностей у результатах виконання операторів r:=r+s[i]; та r:=s[i]+r;
не відрізняють порожній рядок ’’ та рядок, що містить один символ – пропуск ’̺’;
нерозуміння ситуацій, коли результат дії специфічних засобів опрацювання рядків потрібно присвоїти окремо взятій змінній (наприклад, функції pos, length, copy, concat), а коли – ні (наприклад, процедури delete, insert);
некоректна послідовність подання параметрів процедур та функції опрацювання рядків;
у засобах оапрцювання рядків некоректне використання парламентів (наприклад, замість кількості символів вказують номер символу в copy, insert, delete).
Завдання до лабораторної роботи
Ознайомитися з відповідним теоретичним матеріалом.
Розв’язати наступні задачі та запустити створені програми у середовищі програмування мовою Pascal.
L_5_1. Замінити в даному рядку перше входження слова «кіт» словом «пес».
L_5_2. Видалити всі пропуски з рядка.
L_5_3. Значенням рядка є слово з дефісом. Поміняти місцями частини до і після дефіса.
L_5_4. Подвоїти всі латинські букви у даному рядку.
L_5_5. Чи є в заданому рядку пара однакових символів, що йдуть підряд один за одним?
Використовуючи перевірку задач в режимі ON-LINE - Задачі для початківців (http://www.olymp.vinnica.ua) розв’язати наступну задачу:
L_5_6. Задача Bracket
Дано алгебраїчний вираз з дужками, записаний одним рядком. Вірно чи не вірно в ньому розставлено дужки?
Технічні умови: Програма читає з клавіатури рядок з виразом (не довший за 255 символів). Програма виводить на екран відповідь в вигляді текстового рядка. Якщо дужки розставлено вірно - друкує слово True, якщо не вірно - Fаlse
Приклад:
Введення: (a+b)
Виведення: True
Виконати вхід на власну сторінку на сайті http://acmp.ru. Використовуючи середовище програмування FreePascal, розв’язати наступну задачу та протестувати її на сайті.
L_5_7. Стрілки. (Час: 1 сек. Пам’ять: 16 Мб. Складність: 20%)
Задана послідовність, що складається тільки з символів ‘>’, ‘<’ і ‘-‘. Потрібно знайти кількість стрілок, які сховані в цій послідовності. Стрілки – це підрядки виду ‘>>-->’ і ‘<--<<’.
Вхідні дані: в першому рядку вхідного файлу INPUT.TXT записано рядок, що складається з символів ‘>’, ‘<’ и ‘-‘ (без пропусків). Рядок складається не більше, ніж з 250 символів.
Вихідні дані: до єдиного рядка вихідного файлу OUTPUT.TXT потрібно вивести шукану кількість стрілок.
Приклад:
№ |
INPUT.TXT |
OUTPUT.TXT |
1 |
<<<<>>--><--<<--<<>>>--><<<<< |
4 |
Розробити власний комплекс задач (5-7 задач) з відповідної теми, що включає завдання різного рівня складності.
Оформити звіт по лабораторній роботі.
