TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

 

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);

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz