logotip ua5.org
UA5.ORG

Методичні матеріали з інформатики
 
 
      Головна Зв'язок Статистика Закладки Нове      
 
 
 

Обробка текстових даних
Програмування мовою Pascal
     
     
 

        Як уже згадувалось, в мові 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.


 
   
 
 
Інші статті за темою:

  • Використання динамічних змінних
  • Робота з файлами
  • Алфавіт та типи даних мови Pascal
  • Використання типу - Запис
  • Лінійні алгоритми та аріфметичні операції


  •  
         
         

     
    Розділи
    Основні поняття інформатикиУявлення інформаціїІнформація і світІнформаційні технологіїІнформаційні технології управлінняМоделюванняОпераційні системиОпераційна система WindowsОпераційна система Windows XPОпераційна система Windows ServerОпераційна система LinuxОфісні пакетиТекстовий редактор MS WordТабличний редактор ExcelГрафічний редактор PaintБази данихОснови програмуванняПрограмування мовою PascalVisual Basic for ApplicationsУтилітиГрафікаWeb та HTMLВикористання InternetКомп\'ютерні мережіЗахист інформаціїВіруси та антівірусиОбладнання
     

    Популярні публікації
    Санатории Краснодарского края контакты
     

    Рекомендовані матеріали
    Оригинальные комплектующие NOKIA - nokia x6 замена стекла.
     


     
     
         
      Copyright © 2008 UA5.org  
      Любые туры в Бразилию: туроператор по Бразилии.