Функция Length
Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации):
Program DemoFunctionLength;
Var
Word: string;
Begin
write ('Введите слово:');
readln(Word);
writeln('Это слово состоит из ',Length (Word),' букв');
End.
Примечание. При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.
Функция Upcase
Функция Upcase позволяет преобразовывать символ любой литеры из строчного в прописной. Эта функция рассчитана на обработку отдельного символа. Поэтому для обработки строки символов с помощью этой функции приходится организовывать цикл.
Program DemoFunctionUpcase;
Var
Word: string;
i: Byte;
Begin
Word:= 'фирма Microsoft';
for i:= 1 to Length (Word) do
Word[i]:= UpCase (Word[i]);
writeln(Word); {выводится текст 'фирма MICROSOFT'}
End.
В результате работы программы на терминал выдается строка, содержащая большие английские буквы и маленькие русские.
Примечание. Русские литеры не могут обрабатываться этой функцией.
|
|
Для того, чтобы преобразовать в заглавные строчные буквы русского алфавита, применяют оператор выбора Case:
...
case Word[i] of
'a': Word[i]:= 'A';
'б': Word[i]:= 'Б';
'в': Word[i]:= 'В';
...
end;
...
Функция Copy
Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию нужно указать следующие параметры:
• имя строки, из которой должен извлекаться копируемый фрагмент,
• позицию в строке, начиная с которой будет копироваться фрагмент,
• число копируемых символов.
Program DemoFunctionCopy;
Var
Word: string;
Word1: string[20];
Begin
Word:= 'фирма Microsoft';
writeln(Word); {выводится текст 'фирма MICROSOFT'}
Word1:= Copy (Word,1,5);
writeln(Word1); {выводится текст 'фирма'}
End.
Примечание. Если начальная или конечная позиции копируемого текста находятся вне пределов исходной строки символов, то сообщение об ошибке не выдается. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки.