Главная страница

 

ДОМ
ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Информатика и программирование
Информационные технологии
Компьютерные сети
Информационная безопасность
Как заработать в сети Интернет
Информатика и программирование
Операційна система Windows
Текстовий редактор Word
Редактор електронних таблиць Excel
Мова програмування Pascal
Язык программирования Pascal

Теоретичний матеріал за темами:

1.              Загальні вказівки

2.              Програмування лінійних структур, обчислення арифметичних виразів

3.              Програмування розгалужених обчислюваньних процесів

4.              Програмування циклічних обчислювальних процесів

5.              Обробка текстових даних

6.              Використання типу Record

7. Використання підпрограм

8. Організація модулів

9. Робота з файлами

10. Використання динамічних змінних

  return_links(); ?>

Copyright © Евгений Литвиненко, 2007
Использование без разрешения автора запрещено

Обробка текстових даних

Як уже згадувалось, в мові Pascal є два види текстових даних: символічні (char) та рядкові (string).
Для роботи з символічними даними є функції: Chr та Ord.
Функція Chr за кодом виробляє відповідний символ, наприклад, результатом функції Chr(66) буде символ ‘B’.
Функція Ord виробляє код свого аргументу: значенням функції Ord(‘B’) буде число 66.
Символічні дані можна об’єднувати в масив, наприклад:

         Var P: array[1..50] of char;

         Фактично P – це рядок з 50 символів. Його можна ввести в циклі.
Спеціальна функція Length(T) повертає ціле число – кількість символів в рядку. Рядок можна ввести з клавіатури за допомогою оператора Readln.
Наприклад:

Readln(Т);

Для рядкових даних допустима операція зчеплення, наприклад:

Q:=’ Великий ‘ + ‘ Дніпро ‘;

Але можливий і такий варіант:

LivePole:=’‘; {це пустий рядок}
For i:=1 to k do LivePole:= LivePole+’ ‘;

Після завершення циклу змінна LivePole буде мати k проміжків.
Для обробки даних типу String використовують спеціальні підпрограми.
Процедура Insert(S1, S2, Npoz) вставляє рядок S1у рядок S2, починаючи з позиції Npoz.
Приклад:

S2:=’ Приватизація ‘;
Insert (‘х’ , S2, 4); {в S2 буде – Прихватизація}

Процедура Delete(S1, Npoz, Kil) вилучає з рядку S1 підрядок із Kil символів, починаючи з позиції Npoz.
Приклад:

S1 := ‘Закріпити’;
Delete (S1,3,3); {в S1буде - запити}

Функція Copy(S1, Npoz,Kil) виконує копіювання послідовності із Kil символів з позиції Npoz рядка S1.
Приклад:

S2:=Copy(‘Металіст’,5,3); {в S2 буде – ліс}

Функція Pos(S1, S2) шукає в S2 (з лівого краю) підрядок S1. Результатом функції є ціле число – номер позиції, починаючи з якої підрядок S1 перший раз входить до S2. Якщо S1 в S2 немає, результат дорівнює нулю.
Приклад:

S2:=’ Влада чи Безвладдя‘;
Nom:=Pos(‘ ‘,S2); {Nom стане рівним 6}

Щоб знайти у тексті місце другого проміжку, треба щось зробити з першим, наприклад, замінити його на ‘*’.

S2[Pos(‘ ‘,S2)]:=’*’;

Функція Concat(S1,S2,…,SN) виконує зчеплення рядків S1, S2,…,SN в один рядок.
Приклад: Підрахувати кількість слів у заданому реченні.

Var s:String;
i,j:Byte;
Begin
 Write('Input line : ');
 Readln(s);
 s:=s+' ';
 j:=0;
 For i:=2 to Length(s) do
  If (s[i]=' ')and(s[i-1]<>' ') Then j:=j+1;
 Writeln('Result = ',j);
End.

Copyright © Eugene, 2007
e-mail: webmaster@ITDom.info
Rambler's Top100 Рейтинг@Mail.ru