Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
63
Добавлен:
02.05.2014
Размер:
553.98 Кб
Скачать

40. Текстовые подцепочки

Текстовые подцепочки позволяют выделить несколько символов из текстовой переменной. При этом указывается имя текстовой переменной, а в скобках начальные и конечные символы. Пример записи:

А1(2:4) – из текстовой переменной А1 выделить текстовую подцепочку, начиная со 2 по 4 символ включительно.

А1(:5)– выделяется текстовая подцепочка с начала переменной А1 по 5-й символ включительно.

А1(4:)– выделяется текстовая подцепочка начиная с 4-го символа до конца переменной А1.

Текстовую подцепочку можно записывать, сравнивать, выводить. Значение этой подцепочки можно присвоить другой переменной.

Например:

CHARACTER*8 A1,B1,T*125

READ (5,7) A1 Например, для ввода наберем текст февраль

  1. FORMAT (A8)

WRITE (6,'(A)') A1 при таком выводе или при выводе по формату с меткой 1 мы не напечатаем первый символ введенного текста и получим евраль. Но в памяти ЭВМ введенный текст сохранится правильно.

T='Расписание занятий на январь месяц'

B1=T(23:29)

WRITE (6,7) B1 По этому оператору будет напечатано слово январь

T(23:29)=A1 Начальных семь символов текста, введенного первым оператором READ, будут помещены в текстовую переменную T в качестве символов с 23-го по 29-й и заменят собой предыдущий текст январь-.

WRITE(5,'(1X,A)') T Будет выведен текст Расписание занятий на февраль месяц

С текстовыми переменными можно производить следующие операции:

1). Производить операции сцепления при помощи символов “ // ”:

Т=А1//В1

Это означает в текстовую переменную Т записать текст, который содержится в текстовых переменных А1 и В1.

T=A1// //B1(:5)

Переменной Т присвоится текст из переменной А1+ пробел + информация из начала и до 5-го символа переменной В1(1 можно не ставить)

2). Текстовые переменные можно сравнивать с помощью логических операторов IF, используя две операции:

.EQ. и .NE.

Текстовые символы А, В, С … можно сравнивать на "больше" или "меньше" между собой и в алфавитном порядке выполняется следующее:

A<B<C… иa<b<c

Существуют следующие функции для работы с текстовыми переменными:

1. функция длины LEN(имя переменной)– определяет длину текстовой переменной.

K=LEN(A1) Обратите внимание, что К целого типа

2. функция INDEX(имя переменной, подцепочка).

INDEXопределяет номер позиции с которой в текстовой переменной встретилась текстовая подцепочка. Аргумент функции состоит из двух параметров: первый параметр указывает имя текстовой переменной, в которой производить поиск, второй параметр указывает искомую подцепочку. Параметры разделяются запятой, и подцепочка берется в кавычки.

N=INDEX(T,'февр') Для ранее приведенного примера N будет равен 23

Если в этой текстовой переменной два или более раз встретилась эта текстовая подцепочка, то определяется номер позиции первого сочетания. Для нахождения номера позиции второго сочетания, необходимо указывать, с какой позиции и по которую позицию текстовой переменной производить поиск.

Например:

N2=INDEX(T(24:),’февр’) В переменной Т, начиная с 24 позиции и до конца найти номер указанной подцепочки, (это будет второй раз встречающаяся подцепочка'февр').

Две текстовые переменные можно сравнивать между собой с помощью логических функций:

Лексически больше либо равно LGE(C1,C2) – имеет значение .TRUE. если текстовое С1больше текстового С2.

Используется вместо .GE.. Можно записать вместоIF(C1.GE.C2) строкуIF(LGE(C1,C2)). Так же существуют следующие текстовые логические фукнции, аналогичные арифметическим:

LLT, LLE, LGT, LGE.

Их можно использовать только на персональных ЭВМ, начиная с ФОРТРАН-95.

Текстовые переменные можно сравнивать с помощью обычных логических операций отношений:

.GT. .NE.

.GE. .LE.

.EQ. .LT.

Это же работает и на Фортране под WINDOWS.

Пример:

N=INDEX(T,’сер’)

N1=INDEX(T(N+1:125),’сер’)

Соседние файлы в папке Программирование на Фортране