Лекция: Примеры символьных выражений
Пример 1:
Character*10Line, Line1, Line2! в каждой переменной 10 символов
Character*20Long! длина переменной Long 20 символов
CharacterSym! Sym – один символ
Line = ‘Расчет завершен’! (1)
Line1 = ‘ОК’! (2)
Sym=Line! (3)
Long= Line(1:7)//Line1! (4)
Line2 = Line//Line1! (5)
После выполнения приведенного фрагмента программы:
1) В переменной Line записаны символы «Расчет зав» (10 символов). Остальные просто “не поместились”, но это не вызвало ошибки в программе.
2) В переменной Line1 записаны символы «ОК» и 8 пробелов, всего10 символов.
3) Символ Symравен «Р» (первый символ переменной Line).
4) Подстрока Line(1:7) равна «Расчет » (7 символов). Значением переменной Long является строка «Расчет ОК», дополненная 11 пробелами.
5) Переменная Line2 повторяет переменную Line (первую из объединяемых). Длина символьного выражения Line//Line1 – 20 символов, при присваивании этого выражения переменной Line2 оно урезается до длиныLine2 (10 символов), и Line1 «теряется».
Пример 2: Объединение строк без завершающих пробелов
Character*15::Line=‘Расчет завершен’, Line1=‘ОК’
Character*20LongOK, LongBad
LongBad= Line1//Line
LongOK= Line1(1:Len_trim(Line1))//’ ‘//Line !
В переменной LongBad записаны символы «ОК Расче».
В строку входят 13 пробелов – завершающие пробелы переменной Line1. После конкатенации строка урезана до 20 символов.
В переменной LongOK записаны символы «ОК Расчет завершен ».
В конце строки 2 пробела, всего 20 символов.