Функции concat, copy, length, pos, upcase Стандартные функции для работы со строками
Length Встроенная функция Length (длина) позволяет определить фактическую длину текстовой строки, хранящейся в указанной переменной (а не величину предельного размера строки, установленную при декларации): Функция Length Program DemoFunctionLength; Var Word : string; Begin Write ('Введите слово: '); ReadLn(Word); WriteLn('Это слово состоит из ',Length (Word),' букв.'); End. Примечание. При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.
Upcase Функция 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: Решение проблемы с русскими буквами... case Word[i] of 'a' : Word[i] := 'A'; 'б' : Word[i] := 'Б'; 'в' : Word[i] := 'В';... end;...
Функция Copy Copy Функция Copy позволяет копировать фрагмент некоторой строки из одной переменной в другую. Вызывая эту функцию нужно указать следующие параметры: имя строки, из которой должен извлекаться копируемый фрагмент, позицию в строке, начиная с которой будет копироваться фрагмент, число копируемых символов.
Функция Copy Program DemoFunctionCopy; Var Word : string; Word1 : string[20]; Begin Word := 'фирма Microsoft'; WriteLn(Word); {выводится текст 'фирма MICROSOFT'} Word1 := Copy (Word,1,5); WriteLn(Word1); {выводится текст 'фирма'} End. Примечание. Если начальная или конечная позиции копируемого текста находятся вне пределов исходной строки символов, то сообщение об ошибке не выдается. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки.
Pos C помощью функции Pos Вы можете осуществить поиск некоторого фрагмента в строке. Если заданный фрагмент в строке присутствует, то функция возвращает номер позиции, с которой он начинается. Если фрагмент не найден, то функция возвращает нуль. Program DemoFunctionPos; Var Word : string; SearchWord : string[20]; Position : Byte; Begin Word := 'фирма Microsoft'; WriteLn(Word); {выводится текст 'фирма MICROSOFT'} WriteLn ('Введите искомый текст '); ReadLn (SearchWord); Position := Pos(SearchWord, Word);
If Position <> 0 then begin Write ('Фрагмент содержится в строке, начиная с позиции ',Position ); end else WriteLn('Фрагмент не содержится в строке <',Word); End. Примечание. Функция Pos требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск. Причем большие и маленькие буквы считаются различными символами.
Concat (Str1,Str2,...,StrN) Функция Concat (Str1,Str2,...,StrN) выполняет конкатенацию (или сцепление) строк Str1,Str2,...,StrN в том порядке, в каком они указаны в списке параметров. Сумма символов всех сцепленных строк не должна превышать 255. Program DemoFunctionConcat; Var Word : string; Word1, Word2 : string[20]; Begin Word1 := 'фирмы '; Word2 := 'Microsoft'; Word := Concat('Компьютеры ',Word1,Word2); WriteLn(Word); {выводится текст 'Компьютеры фирмы Microsoft'} End.
Проверьте правописание ча и ща в тексте. Выведите на экран количество сделанных ошибок и исправленную строку. Применяйте подпрограммы. Выясните, сколько раз встречается каждая буква алфавита в предложенном тексте. Применяйте подпрограммы.
Запишите строку а в обратном порядке в строку б. Посчитайте, сколько одинаковых букв находятся на одинаковых местах в этих строках. Применяйте подпрограммы. Посчитайте количество цифр в веденной строке символов. Применяйте подпрограммы.