Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
slaid_5_portal_2011.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.41 Mб
Скачать

Операції над рядковими знченнямив мові Pascal

Основні операції із мультизначеннями рядкового типу реалізуються за допомогою стандартних підпрограм або методів. У мові Pascal для значень цього типу передбачено одну стандартну операцію конкатенації, яка позначається символом «+» і означає операцію сполучення двох рядків одного за одним.

Оскільки всі значення мультизначення одного типу, то їх можна перенумерувати, і зазвичай у мовах програмування дозволяється доступ до елемента мультизначення через вказування його номера, що називається індексатором, наприклад, myString [1].

Представлення рядкового літерала в мові с

У мові С для значень рядкового типу використовуються вказівні типізовані змінні типу char (char *). Мультизначення в цьому разі подається ланцюжком символів, але воно не зберігає довжини ланцюжка, а закінчується автоматично додаваним нулем ("\0").

C:

char *str = “Mama mila ramu”; // длина str – 14

char ch = str[3]; // ch = ‘a’

или

char *str = new char [20]; // str = “**#$%^%$#$%&&&”

str[0] = ‘\0’; // str = “” длина str – 14

str[0] = ‘t’; // str = “t**#$%^%$#$%&&&” длина str – ?

str[1] = ‘r’; // str = “tr*#$%^%$#$%&&&” длина str – ?

str[2] = ‘\0’; // str = “tr” длина str – 2

Згідно з прийнятим розміщенням мультизначень нумерація елементів мультизначення починається з нуля. Такі рядкові мультизначення в мові С називаються ASCIIZ-рядками.

Рядковий літерал в мові С позначається ланцюжком узятим в подвійні лапки.

Відмінності рядків в мовах Pascal та С

  • В мові С нумерація елементів мультизначення починається з нуля, а останнім елементом мультизначення є завершуючий нуль.

  • У мовах С і Pascal обробка мультизначень рядкового типу здійснюється лише за допомогою стандартних підпрограм, а в мовах С++ і C# - за допомогою методів класів.

  • У рядок можуть входити будь-які символи ASCII, включаючи й незображувальні. У мові Pascal для зображення лапки використовуються два символи лапок, що йдуть підряд. У С для подвійної лапок використовується комбінація символів \".

s := ‘ “asd” ’; s = “ \”asd\” \n dfg”;

Індексовані типи

Визначувані типи, кожне значення (мультизначення) яких складається з компонентів одного і того ж самого типу (не обов'язково символьного) називаються індексованими (indexed type). Мультизначення цих типів є гомогенними, а його елементи можуть бути доступними за номером (індексатором).

Значення індексованого типу може бути одно- або багатовимірним (зазвичай використовується розмірність не більше як 3).

Устрій одновимірних мультизначень

Устрій двовимірних мультизначень

Об'єкт, що має значення індексованого типу, називатимемо об'єктом індексованого типу, а його значення (мультизначення) – масивом (array).

Для того, щоб описати індексований тип, необхідно описати тип компонентів мультизначення і спосіб утворення мультизначень із компонентів:

  • Тип компонентів мультизначення зазвичай описується індикатором наперед визначеного або раніше визначеного типу.

  • Спосіб утворення мультизначення подається в частині опису дескрипторі (паспорті).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]