
Перевіряємо себе
Який вид циклів застосовується для опрацювання рядкових даних?
Якого типу S[i], якщо S – рядкова змінна?
3 Яких правил набору тексту слід дотримуватись, щоб правильно відділяти слова одне від одного?
Для чого слід вилучати подвійні пропуски з тексту?
Що відбудеться, якщо до рядкової змінної з 200 символів додати ще одну рядкову змінну довжиною 100 символів?
Виконуємо
Дано натуральне n і символи s1, s2, …, sn. Підрахуйте, скільки разів серед цих символів трапляється символ “+” і скільки – “*”.
Дано натуральне n і символи s1, s2, …, sn. З’ясуйте, чи трапляється у цій послідовності символів група із трьох крапок (“…”).
Дано натуральне n і символи s1, s2, …, sn. З’ясуйте, чи є в послідовності члени si та si+1 такі, що si – це кома, а si+1 – тире.
Дано натуральне n і символи s1, s2, …, sn. Відомо, що серед членів послі — довності є хоча б одна кома. Знайдіть натуральне і таке, що si – останнє входження коми.
Дано натуральне n і символи s1, s2, …, sn. Отримати перше і, для якого символи si та si+1 є літерою “а”. Якщо такої пари символів у послідовності немає, то відповіддю має бути число 0.
Дано натуральне n і символи s1, s2, …, sn. З’ясуйте, чи є серед сим — волів послідовності пара сусідніх літер “он” і “но”.
Виведіть послідовність літер: a; ab; abc; abcd; …; abc…xyz на екран.
8.4. Пошук заданого підрядка
Підрядок має важливе значення під час опрацювання рядкових даних, оскільки в одному рядку, зчитаному з клавіатури чи з текстового файла можуть бути і символи абетки, і цифри (числа), й інші символи, що утво — рюють потрібні для користувача композиції: словосполучення чи слова.
Приклад 8.4.1. Скласти програму, яка скрізь у заданому тексті mytext замінить деяке слово на інше слово такої ж довжини (word1 на word2).
Var mytext, word1,word2 : string; i, k : integer;
Begin
Write(‘Введіть текст: ‘); readln(mytext);
Write(‘Введіть шукане слово: ‘); readln(word1); write(‘Введіть інше слово: ‘); readln(word2);
K := length(word1);
For i := 1 to length(mytext) – k do if copy(mytext, i, k) = word1 then begin
Delete(mytext, i, k); insert(word2, mytext, i) end;
Writeln(mytext); end.
Тобто в цій програмі ми знайшли послідовність у рядку і замінили її на іншу послідовність (слово). Ця операція подібна до функції “Автозаміна” у текстових редакторах і досить часто застосовується користувачами під час опрацювання текстових даних.
Перевіряємо себе
Як відокремлюється слово в тексті?
Як здійснити пошук словосполучення у рядку?
Що буде результатом виконання програми, в якій у рядок довжиною 200 символів, починаючи зі 101, вставляють ще 155 символів?
Що вам відомо про функцію “Автозаміна” у текстових редакторах? Як ви її використовували?
Що буде результатом виконання програми 8.4.1, якщо слова word1 і word2 різної довжини?
Виконуємо
Перевірте, чи є частиною заданого слова слово “тол” (скажімо, для слова “столяр” відповідь має бути “так”).
Дано натуральне n і символи s1, s2, …, sn. З’ясуйте, чи є у цій послідов — ності символів така група із трьох крапок, що стоять одна за одною, якій не передує крапка і за якою не стоїть крапка.
Дано натуральне n і символи s1, s2, …, sn. Виведіть на екран усі літери, що є в послідовності, в алфавітному порядку; знаки операцій розмістіть у кінці нової послідовності, не змінюючи їх порядку.
Зберіть усі цифри з рядка в новий рядок і виведіть на екран повідомлення про кількість символів – цифр і новий рядок.
Напишіть програму, яка здійснює перетворення введеного числа в ряд — ковий тип і навпаки – введеного рядка цифр (до 8) у число.
Запропонуйте спосіб перетворення введеного рядка цифр із комою як роздільником на число дійсного типу.
Напишіть програму, яка здійснює перетворення введеного рядка цифр із комою як роздільником на число дійсного типу.
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78