TURBO PASCAL |
Новости |
1. 10. 2.
Работа с элементами переменной
строкового типа
Переменная
строкового типа (String) может рассматриваться
как массив элементов символьного типа (Char).
Например, если
в программе определены переменные S: string;
C: char;
и задано S:='Москва', то
S[1]='М', S[2]='о' и т. д.
и возможно присвоение, например: C:= S[1]; Таким образом
строка может рассматриваться как линейный
массив символов. Элементы
массива, составляющие
строку можно переставлять местами и
получать новые слова, например:
for i:= 1 to N div 2 do begin
C:= S[i]; S[i]:= S[N-i+1];
S[N-i+1]:=
C end; Writeln(S);
{
исходное слово выведется справа налево:
"авксоМ" } Здесь N:= ord(S[0]); - число символов в переменной "S"
хранится в переменной S[0].
Функция "ord" преобразует
символьный тип в целый.
N div 2 - количество перестановок для слова из
"N" символов. В
переменной "C" запоминается значение i-го
элемента, который
меняется с элементом, симметричным
относительно середины строки.
Можно производить поиск и замену
заданного символа в строке,
например: for i:=1
to N do if S[i]='_' then writeln('найден
символ пробел'); for i:=1
to N do if S[i]='/' then S[i]:='\'; {замена символа "/" на "\"}
Заменяя или переставляя
символы в строке по определенной схеме (закону)
можно зашифровать строку. Для дешифровки используется,
как правило, схема
обратной перестановки или замены символов.
Например: for i:=1 to N do S[i]:= chr(ord(S[i])+2); {преобразование исходных
символов
в символы с кодом большим на две единицы} Напомним,
что все используемые в MS-DOS
символы имеют ASCII коды от 0 до 255. Здесь удобно также
использовать функции Pred(C); и
Succ(C); |
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |