En aquest tema, aprendrem com gestionar cadenes de caràcters en Fortran. Les cadenes són una part fonamental de molts programes, ja que permeten la manipulació de text. Veurem com declarar cadenes, com assignar valors, i com realitzar operacions bàsiques amb elles.

Continguts

  1. Declaració de Cadenes
  2. Assignació de Valors a Cadenes
  3. Operacions Bàsiques amb Cadenes
  4. Funcions Intrínseques per a Cadenes
  5. Exercicis Pràctics

  1. Declaració de Cadenes

En Fortran, les cadenes es declaren utilitzant el tipus de dades CHARACTER. La longitud de la cadena es pot especificar entre parèntesis després de la paraula clau CHARACTER.

CHARACTER(LEN=20) :: cadena1
CHARACTER(LEN=*) :: cadena2
  • cadena1 és una cadena de longitud fixa de 20 caràcters.
  • cadena2 és una cadena de longitud variable que s'ajusta automàticament a la longitud de la cadena assignada.

  1. Assignació de Valors a Cadenes

Les cadenes es poden assignar utilitzant l'operador d'assignació =. Si la longitud de la cadena assignada és més curta que la longitud declarada, la cadena es completa amb espais en blanc.

cadena1 = 'Hola, Fortran!'
cadena2 = 'Programació'

  1. Operacions Bàsiques amb Cadenes

Concatenació de Cadenes

La concatenació de cadenes es realitza utilitzant l'operador //.

cadena1 = 'Hola, ' // 'Fortran!'

Comparació de Cadenes

Les cadenes es poden comparar utilitzant els operadors de comparació habituals (==, /=, <, >, <=, >=).

IF (cadena1 == 'Hola, Fortran!') THEN
    PRINT *, 'Les cadenes són iguals.'
ENDIF

  1. Funcions Intrínseques per a Cadenes

Fortran proporciona diverses funcions intrínseques per a la manipulació de cadenes. Algunes de les més comunes són:

Funció Descripció
LEN(string) Retorna la longitud de la cadena.
TRIM(string) Elimina els espais en blanc finals de la cadena.
ADJUSTL(string) Ajusta la cadena a l'esquerra.
ADJUSTR(string) Ajusta la cadena a la dreta.
INDEX(string, substring) Retorna la posició de la primera aparició de substring dins de string.

Exemples d'ús

INTEGER :: len
CHARACTER(LEN=20) :: cadena3

cadena3 = '   Fortran   '
len = LEN(cadena3)  ! len serà 20
PRINT *, 'Longitud de cadena3: ', len

cadena3 = TRIM(cadena3)  ! cadena3 serà '   Fortran'
PRINT *, 'Cadena sense espais finals: "', cadena3, '"'

cadena3 = ADJUSTL(cadena3)  ! cadena3 serà 'Fortran   '
PRINT *, 'Cadena ajustada a l''esquerra: "', cadena3, '"'

cadena3 = ADJUSTR(cadena3)  ! cadena3 serà '   Fortran'
PRINT *, 'Cadena ajustada a la dreta: "', cadena3, '"'

len = INDEX(cadena3, 'For')  ! len serà 4
PRINT *, 'Posició de "For" en cadena3: ', len

  1. Exercicis Pràctics

Exercici 1

Declara una cadena de longitud 30 i assigna-li el valor "Aprenent Fortran". Després, ajusta la cadena a l'esquerra i imprimeix-la.

Solució

PROGRAM exercici1
    CHARACTER(LEN=30) :: cadena

    cadena = 'Aprenent Fortran'
    cadena = ADJUSTL(cadena)
    PRINT *, 'Cadena ajustada a l''esquerra: "', cadena, '"'
END PROGRAM exercici1

Exercici 2

Declara dues cadenes de longitud 15. Assigna "Hola" a la primera i "Món" a la segona. Concatenales i imprimeix el resultat.

Solució

PROGRAM exercici2
    CHARACTER(LEN=15) :: cadena1, cadena2, resultat

    cadena1 = 'Hola'
    cadena2 = 'Món'
    resultat = TRIM(cadena1) // ' ' // TRIM(cadena2)
    PRINT *, 'Resultat de la concatenació: "', resultat, '"'
END PROGRAM exercici2

Conclusió

En aquesta secció, hem après com gestionar cadenes en Fortran, incloent la declaració, assignació, i operacions bàsiques. També hem vist algunes funcions intrínseques útils per a la manipulació de cadenes. Amb aquests coneixements, estem preparats per abordar temes més avançats en la manipulació de dades en Fortran.

© Copyright 2024. Tots els drets reservats