Рядковий тип даних у Паскалі, Контент-платформа

Рядковий тип даних у Паскалі
Рядок (рядковий тип даних)– це послідовність символів довжиною N,де 1 s1, то зайві символи будуть відкинуті
2. Операції порівняння (відносини) =, <>, >, =.
Правила порівняння рядків:
1)Порівняння рядків проводиться посимвольно відповідно до їх кодів зліва направо до першого символу, що не збігається. Рядок вважається більше, якщо в ній перший символ, що не збігається, має більший номер у таблиці кодів.
Наприклад, 'MS-DOS' ='0') and (S1[i] st[j]) or (st[j]<>' ') then
for i: = 1 to j do write (st [i]); writeln;
2) Робота з рядком як з єдиним об'єктом масивом (у цьому випадку поточна довжина рядка динамічно змінюється):
Begin writeln('input st');
while pos(' ',st)>0 do delete(st, pos(' ',st),1);
Як перетворити цю програму, щоб не було прогалин на початку і в кінці рядка?
Begin writeln('input st');
while pos(' ',st)>0 do delete(st, pos(' ',st),1);
if st[1]=' ' then delete(st,1,1);
if st[length(st)]=' ' then delete(st, length(st),1);
У PascalABC це завдання спрощується:
Begin writeln('input st');
while pos(' ',st)>0 do delete(st, pos(' ',st),1);
Зауваження:Якщо це рішення завдання оформити у вигляді процедури, то будь-який рядок можна привести доправильного вигляду, тобто до рядка, у якого всі слова розділені одним пробілом і немає зайвих прогалин на початку та в кінці рядка. Це дозволить вирішення більшості завдань на рядки привести до одного алгоритму:
Begin writeln('input s');
While pos(' ',s)>0 do
Завдання 2.Знайти в рядку слово максимальної довжини.
Whilepos(' ',s)>0 do
Begin writeln('input s');
Зауваження:У задачі використовувався правильний рядок. В іншому випадку треба її привести до цього виду, видаливши зайві прогалини (рішення див. вище) і оформивши це у вигляді процедури. Краще цю процедуру включити до свого модуля.
Список завдань на рядковий тип.
1. Дано рядок символів. Підрахувати кількість слів у рядку. Оформити у вигляді процедури чи функції.
2. Дано рядок символів. Знайти слово максимальної довжини. Оформити у вигляді процедури чи функції.
3. Дано рядок символів. Знайти слово мінімальної довжини. Оформити у вигляді процедури чи функції.
4. Дано рядок символів. Видалити всі слова, що починаються на "pro". Оформити у вигляді процедури чи функції.
5. Дано рядок символів. Видалити всі символи цифр з рядка. Оформити у вигляді процедури чи функції.
6. Дано рядок символів. Видалити з неї текст, що міститься в <>. Вважати, що таке поєднання зустрічається у рядку лише один раз.
7. Дано рядок символів. Визначити, чи є в ній слова, що починаються і закінчуються на ту саму літеру. Оформити у вигляді процедури чи функції.
8. Дано рядок символів. Визначити чи є у ній слова-паліндроми. Оформити у вигляді процедури чи функції.
9. Дано рядок символів. Замінити символи "I", "2", "3" словами "один", "два", "три". Оформити у вигляді процедури чи функції.
10. Написати процедуру, яка вставляє вказаний символ після цієї позиції.
11. Написати функцію, що визначає входження даного елемента в рядок.
12. Визначити скільки разів GOTO зустрічається у рядку. Оформити у вигляді процедури чи функції.
13. Рядок символів складається з латинських літер. Розташувати їх за абеткою. Оформити ввигляді процедури чи функції.
14. Знайти у рядку всі слова-паліндроми. Оформити у вигляді процедури чи функції.
15. Визначити чи є у рядкуоднакові слова. Оформити у вигляді процедури або функції.
16. Видалити з рядка всі парні слова. Оформити як процедури.
17. Дано рядок символів. Видалити всі нецифрові символи з рядка. Оформити у вигляді процедури чи функції.
18. Дано рядок символів. Визначити, скільки різних символів у рядку.