Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Стрічкові типи даних.

Особливе місце в мові Паскаль займають масиви символів. Стандартний Паскаль допускає два засобу зберігання символьних масивів в пам'яті ПК: розпакований і упакований. Розпаковані масиви символів зберігаються в пам'яті ПК по одному символу в машинному слові, упаковані - по одному символі в байті. При описі масиву, упакованих символів використовують службове слово Packed ,наприклад:

 

var Mas : Packed Array [1.. 20] of Char;

Опис розпакованного масиву символів має виuляд:

 

var M : Array [1.. 20] of char;

 

Для перетворення символьного масиву з розспакованої форми в упаковану і навпаки в мові Паскаль запроваджені дві стандартні функції Pack, Unpack.

Упакований масив символів утворює символьну стрічку. Символьна стрічка може бути або стрічковою константою, або стрічковою змінною. Стрічкова константа, або стрічка, становить сукупність символів, заключену в апострофи. Стрічка- це елементарна конструкція мови Паскаль. Стрічкові константи можуть входити в склад виразів. Як і числові константи, вони можуть описуватись в розділі опису констант. Стрічкові змінні - це одномірні масиви упакованих символів, для опису яких в Turbo Pascal запроваджений тип String .

Загальний вигляд опису стрічкового типу:

 

Type

<ім’я_стрічки>=string[<максимальний розмір>];

 

Наприклад, якщо стрічка містить до 30 символів, її тип буде визначений як

 

type s = String [30];

Довжина рядка не може перевищувати 255 символів.

В Turbo Pascal визначено поняття стрічки змінної довжини, в цьому випадку її опис задається таким чином:

 

type s = String;

 

Тип String без вказівки довжини сумісний зі всіма типами рядків. Особливістю стрічкових змінних є те, що до них можна звертатися як до скалярних змінних, ак і до масивів. В другому випадку застосовується конструкція "змінна з індексом ", що забезпечує доступ до окремих символів стрічки. При цьому нижня межа iдекса становить 1. Окремий символ стрічки сумісний з типом Char . В пам'яті ПК стрічка займає кількість байтов, яка на одиницю перевищує її довжину. Нульовий байт стрічки містить її довжину.

 

Для стрічок визначені операції присвоєння, злиття (конкатенації) і порівняння. Для порівняння стрічок застосовуються всі операції відношення. Порівняння стрічок здійснюється посимвольно, починаючи з першого символу. Стрічки вважаються рівними, якщо вони мають однакову довжину і посимвольно еквiвалентні.

Стрічки можуть бути елементами списка вводу - виводу, при цьому записуває ім'я стрічки без індексу.

При вводі стрічкових змінних кількість символів, що вводяться може бути меншою, ніж довжина стрічки. В цьому випадку символи, котрі вводяться, розміщаються спочатку стрічки, а вільні байти заповнюються пробілами. Якщо кількість символів, котрі вводяться, перевищує довжину рядка, то зайві символи відкидаються.

Iниціалiзація стрічок може проводитись як за допомогою типізованих констант :

 

const sname : String [9] = 'ibm Pc /at';

 

так і з використанням другого різновиду функції Fillchar :

 

Fillchar( var V; Nbytes : Word; C : Char );

 

наприклад :

 

Fillchar( A, Sizeof(A), '0');

Для роботи зі стрічками в Turbo Pascal передбачені процедури і функції, що забезпечують редагування і перетворення рядків:

 

1.Concat([s1,s2,..sn]):string):string-злиття довільної кількості рядків.Якщо довжина результату>255, то він буде обрізаний;

2.copy(s:string;index:integer;dov:integer):string-повертає частину рядка s довжиною dov, починаючи від символу з номером index;

3.delete(var s:string;index,dov:integer)-вилучає з рядка s частину цього рядка довжиною dov, починаючи з index;

4.insert(s1:string;var s:string;index:integer)-вставляє рядок s1 в рядок s, починаючи з index;

5.length(s:string):integer-повертає довжину рядка s;

6.pos((ryad,s:string):byte-результатом є номер позиції, з якої в рядку s розміщений рядок ryad.

 

 


Читайте також:

  1. Адреси даних. Вказівники.
  2. Аксіоматика структурних і складних типів даних. Структурні типи даних.
  3. Архіватори даних.
  4. Ввід початкових даних.
  5. Відкриття з'єднання з базою даних.
  6. Графічне зображення статистичних даних.
  7. До фільтрів періодичної дії відносяться ємнісні, листові, патронні фільтри та фільтрпреси. Фільтри неперервної дії – це барабанні, дискові, стрічкові, тарілкові та карусельні.
  8. Довжина двійкового коду повідомлень називається обсягом даних.
  9. Загальні поняття про методи оброблення медичних даних.
  10. Ієрархічна модель даних.
  11. Індустрія даних.
  12. Інформаційне забезпечення складається з інформаційного фонду друкарських документів і фонду електронних даних.




Переглядів: 3017

<== попередня сторінка | наступна сторінка ==>
Масиви. Доступ до елементів масиву. | Тема.Визначення функції.Параметри процедури. Процедури без параметрів. Виклик процедур.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.014 сек.