Величиною рядкового типу (strings ) називається послідовність символів, укладена в одинарні лапки. Цей тип даних є стандартним для мови ПАСКАЛЬ, хоча він є структурованим. Величини можуть бути як константами, так і змінними. При завданні змінних символьного типу можна вказати кількість символів у цій величині.
ПРИКЛАД:
type
message=string;
list=string[10];
Опис типу message задає тип рядкових величин з максимально можливою довжиною рядка (255 символів), а опис типу list – рядкові величини з максимальною довжиною рядка 10 символів.
Рядкові величини можна опрацьовувати і як єдине ціле, і поелементно. При обробці рядка поелементно він розглядається як одновимірний масив з типом індексу byte і типом елементів char . Рядкові величини можуть містити довільні символи. Так. у рядку може міститися й одинарна лапка. Для того, щоб помістити одинарну лапку в рядок, потрібно написати дві послідовно розташовані одинарні лапки. Рядки, у яких міститься тільки один символ, являють собою дані стандартногосимвольного типу (char ). Рядок можна порівняти з масивом даних символьного типу, що має таку ж довжину. Всі рядкові константи сумісні з усіма рядковими типами (string ).
ПРИКЛАДИ:
‘TURBO’
‘п”ятниця’
“””
‘;’
Для рядкових величин визначена операція конкатенації (об’єднання) рядків. Операція позначається символом “+”. Тип результату – також рядкова величина. Мова ТУРБО ПАСКАЛЬ дозволяє використовувати оператор + для об’єднання двох рядкових операндів. Якщо довжина результуючого рядка перевищує 255 символів, то вона усікається до 255 символів.
Оператори відношення=, <>, <, >, <=, або >= можуть застосовуватися для порівняння рядків відповідно до порядку розширеного набору символів коду ASCII. Будь-які два значення рядкового типу даних можна порівняти, оскільки всі значення рядкових даних сумісні. Значення рядкового типу сумісні зі значеннями символьного типу, і при їхньому порівнянні символьне значення опрацьовується як рядкове значення довжиною 1. Та величина вважається “більшою”, яка має на відповідному місці символ з більшим ASCII кодом. Слід зауважити, що пробіл є повноправним символом рядкової величини і він опрацьовується аналогічно іншим символам величини.
ПРИКЛАДИ:
‘turbo’>’Turbo’;
‘turbo’>’pascal’;
‘turbo’<’turbo pascal’;
‘123’<>’ 123’;
Рядкові величини можна вводити з клавіатури. Для цього можна використати стандартну процедуру вводу read . Однак при цьому є така особливість: необхідно ввести стільки символів, скільки було оголошено при визначенні цієї величини. Так, якщо величина була оголошена як величина типу string [10], то необхідно ввести 10 символів (якщо їх кількість менша, то вільні місця необхідно заповнити пробілами). Якщо ж величина описана як string , то кількість пробілів буде дуже великою. Щоб позбавитись цього недоліку, для вводу рядкових величин варто використовувати іншу процедуру вводу – readln . В цьому випадку доповнювати пробілами рядкову величину непотрібно.
Функція Соncat - виконує конкатенацію послідовності рядків. Її дія аналогічна дії операції конкатенації.
Функція Copy - повертає підрядок (частину) рядкової величини.
Процедура Delete - видаляє з рядка його частину заданої довжини, починаючи з заданої позиції.
Процедура Insert - додає в рядок підрядок, починаючи з певної позиції рядка.
Функція Length - повертає динамічну довжину рядка.
Функція Роs - здійснюєпошукпідрядка в рядкові.
Процедура Str - перетворює чисельне значення в його рядкове представлення.
Процедура Val - перетворить рядкову величину, яка є числом, в її чисельне значення.
ПРИКЛАДИ
var
s,t,x:string;
n,m,k:integer;
begin
…
readln(s); {припустимо, що введена величина ‘програма’}
readln(t); {припустимо, що введена величина ‘рог’}
n:=length(s); {n=8}
x:=concat(s,t); {x=’програмарог’}
x:=copy(s,4,3); {x=’гра’}
m:=pos(t,s); {m=2}
delete(s,4,3); {s=’прома’}
…
end.
Розглянемо приклад алгоритмів опрацювання рядкових величин із застосуванням наведених функцій.
Заданий текст (рядкова величина), слова якої розділені символом “пропуск”.
1. Знайти кількість слів у тексті.
2. Надрукувати окремо з нового рядка кожне слово тексту.
3. Знайти i надрукувати найдовше слово тексту.
program strings;
uses crt;
var s,t:string;
i,k:integer;
procedure kol(s:string; var k:integer);
{ процедура знаходження кiлькостi слiв у текстi ( текст мiстить хоча б одно слово }
var i,n:integer;
begin
k:=1;
n:=length(s);
for i:=1 to n do
if s[i]=’ ‘ then k:=k+1;
end;
procedure druk(s:string);
{ процедура друкування слів тексту }
var n:integer;
s1:string;
begin
n:=pos(‘ ‘,s);
while n<>0 do
begin
s1:=copy(s,1,n-1);
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.