Алгоритмические языки и программирование. Игошина Л.В. - 49 стр.

UptoLike

Составители: 

{ В результате в строке sto будет 'Фамилия Имя Отчество'}
End; . . .
Сравнение строк основывается на порядке расположения символов в
таблице ASCII. Например:
'abcd' = 'abcd' - результат сравнения True (истина);
'abc'<'bcd' так как код символа 'a' меньше кода символа 'b' и т.п.
Для работе со строками в ТР разработан ряд стандартных процедур и
функций.
Первоначально любая описанная в разделе Var строка
содержит
"мусор" и рекомендуется инициализировать (заполнять) строки пустыми
значениями или чем-либо другим. Для заполнения достаточно длинных строк
одинаковыми символами используется встроенная процедура FillChar,
например:
Var S:string[80];
Begin . . .
FillChar(S[1],80,' '); {Заполнение строки пробелами}
или
FillChar(S,Sizeof(S),' '); {Заполнение строки пробелами}
S[0]:=Chr(80); {Занесение кода длины строки}
. . .
End;
Длину строки можно определить также, используя встроенную
функцию Length(S), где S - строка типа String.
В ряде
случаев возникает необходимость преобразования числовых
значений в строку и наоборот. Для этого можно использовать две процедуры:
1) STR(X,S) - преобразует числовое значение X в строковое S.
Возможно задание формата для Х в виде: X:F:n (для вещественных чисел, где
F - общее число позиций выделяемых под число, включая десятичную точку,
а n - число знаков в дробной части) или X:F (для целых
чисел). Эта функция
чаще всего используется при работе с процедурами модуля GRAPH.
Например:
STR(55,s); - строковая переменная s принимает значение, равное '55'.
2) VAL(S,Х,ErrCode) - преобразует строку S в числовое значение, если это
возможно. Параметр ErrCode содержит ноль, если преобразование прошло
успешно, и тогда в Х помещается результат преобразования, в противном
случае он содержит номер позиции в строке S,
где обнаружен ошибочный
символ. Например:
Val('125',K,kod) - в результате выполнения этой процедуры переменная
К получает целое значение, равное 125, параметр kod=0;
Val(' 1.05',M,code) - M=1.05, code=0;
Val('100, ',N,code) - это ошибочный вызов, т.к. в исходной строке на 4-й
позиции располагается недопустимый для числа символ ',' и поэтому
параметр code=4, а переменная N остается без изменения.
              { В результате в строке sto будет 'Фамилия Имя Отчество'}
              End;           ...
       Сравнение строк основывается на порядке расположения символов в
таблице ASCII. Например:
       'abcd' = 'abcd' - результат сравнения True (истина);
       'abc'<'bcd' так как код символа 'a' меньше кода символа 'b' и т.п.
       Для работе со строками в ТР разработан ряд стандартных процедур и
функций.
       Первоначально любая описанная в разделе Var строка содержит
"мусор" и рекомендуется инициализировать (заполнять) строки пустыми
значениями или чем-либо другим. Для заполнения достаточно длинных строк
одинаковыми символами используется встроенная процедура FillChar,
например:
       Var S:string[80];
       Begin         ...
              FillChar(S[1],80,' '); {Заполнение строки пробелами}
              или
             FillChar(S,Sizeof(S),' '); {Заполнение строки пробелами}
              S[0]:=Chr(80); {Занесение кода длины строки}
                     ...
       End;
       Длину строки можно определить также, используя встроенную
функцию Length(S), где S - строка типа String.
       В ряде случаев возникает необходимость преобразования числовых
значений в строку и наоборот. Для этого можно использовать две процедуры:
       1) STR(X,S) - преобразует числовое значение X в строковое S.
Возможно задание формата для Х в виде: X:F:n (для вещественных чисел, где
F - общее число позиций выделяемых под число, включая десятичную точку,
а n - число знаков в дробной части) или X:F (для целых чисел). Эта функция
чаще всего используется при работе с процедурами модуля GRAPH.
Например:
        STR(55,s); - строковая переменная s принимает значение, равное '55'.
2) VAL(S,Х,ErrCode) - преобразует строку S в числовое значение, если это
возможно. Параметр ErrCode содержит ноль, если преобразование прошло
успешно, и тогда в Х помещается результат преобразования, в противном
случае он содержит номер позиции в строке S, где обнаружен ошибочный
символ. Например:
       Val('125',K,kod) - в результате выполнения этой процедуры переменная
К получает целое значение, равное 125, параметр kod=0;
       Val(' 1.05',M,code) - M=1.05, code=0;
       Val('100, ',N,code) - это ошибочный вызов, т.к. в исходной строке на 4-й
позиции располагается недопустимый для числа символ ',' и поэтому
параметр code=4, а переменная N остается без изменения.