En aquest tema, explorarem com realitzar operacions amb arrays i cadenes en Fortran. Aquestes operacions són fonamentals per a la manipulació de dades en programes científics i d'enginyeria. Aprendrem a realitzar operacions bàsiques com la suma, la resta, la concatenació, i altres operacions més avançades.
Continguts
- Operacions Bàsiques amb Arrays
- Operacions Bàsiques amb Cadenes
- Funcions Intrínseques per a Arrays
- Funcions Intrínseques per a Cadenes
- Exercicis Pràctics
- Operacions Bàsiques amb Arrays
Suma i Resta d'Arrays
En Fortran, podem sumar i restar arrays de manera element a element. Això significa que cada element d'un array es suma o resta amb el corresponent element d'un altre array.
program array_operations
implicit none
integer, dimension(3) :: array1 = (/1, 2, 3/)
integer, dimension(3) :: array2 = (/4, 5, 6/)
integer, dimension(3) :: result
! Suma d'arrays
result = array1 + array2
print *, 'Suma: ', result
! Resta d'arrays
result = array1 - array2
print *, 'Resta: ', result
end program array_operationsMultiplicació i Divisió d'Arrays
De manera similar, podem multiplicar i dividir arrays element a element.
program array_operations
implicit none
integer, dimension(3) :: array1 = (/1, 2, 3/)
integer, dimension(3) :: array2 = (/4, 5, 6/)
integer, dimension(3) :: result
! Multiplicació d'arrays
result = array1 * array2
print *, 'Multiplicació: ', result
! Divisió d'arrays
result = array1 / array2
print *, 'Divisió: ', result
end program array_operations
- Operacions Bàsiques amb Cadenes
Concatenació de Cadenes
La concatenació de cadenes en Fortran es realitza utilitzant l'operador //.
program string_operations
implicit none
character(len=20) :: string1 = 'Hola, '
character(len=20) :: string2 = 'món!'
character(len=40) :: result
! Concatenació de cadenes
result = string1 // string2
print *, 'Concatenació: ', result
end program string_operationsSubstring
Podem extreure subcadenes utilitzant la notació de subíndex.
program substring_example
implicit none
character(len=20) :: string = 'Hola, món!'
character(len=5) :: substring
! Extreure subcadena
substring = string(1:5)
print *, 'Subcadena: ', substring
end program substring_example
- Funcions Intrínseques per a Arrays
Fortran proporciona diverses funcions intrínseques per a treballar amb arrays. Algunes de les més comunes són:
sum(array): Retorna la suma de tots els elements de l'array.product(array): Retorna el producte de tots els elements de l'array.maxval(array): Retorna el valor màxim de l'array.minval(array): Retorna el valor mínim de l'array.
program intrinsic_functions
implicit none
integer, dimension(5) :: array = (/1, 2, 3, 4, 5/)
print *, 'Suma: ', sum(array)
print *, 'Producte: ', product(array)
print *, 'Valor màxim: ', maxval(array)
print *, 'Valor mínim: ', minval(array)
end program intrinsic_functions
- Funcions Intrínseques per a Cadenes
Algunes funcions intrínseques útils per a treballar amb cadenes són:
len(string): Retorna la longitud de la cadena.trim(string): Elimina els espais en blanc finals de la cadena.index(string, substring): Retorna la posició de la primera aparició de la subcadena dins de la cadena.
program string_functions
implicit none
character(len=20) :: string = ' Hola, món! '
integer :: position
print *, 'Longitud: ', len(string)
print *, 'Cadena sense espais finals: "', trim(string), '"'
position = index(string, 'món')
print *, 'Posició de "món": ', position
end program string_functions
- Exercicis Pràctics
Exercici 1: Suma d'Elements d'un Array
Escriu un programa que sumi tots els elements d'un array d'enters i imprimeixi el resultat.
Solució
program sum_array
implicit none
integer, dimension(5) :: array = (/1, 2, 3, 4, 5/)
integer :: total
total = sum(array)
print *, 'La suma dels elements de l''array és: ', total
end program sum_arrayExercici 2: Concatenació de Cadenes
Escriu un programa que llegeixi dues cadenes de l'usuari, les concatenï i imprimeixi el resultat.
Solució
program concatenate_strings
implicit none
character(len=20) :: string1
character(len=20) :: string2
character(len=40) :: result
print *, 'Introdueix la primera cadena:'
read *, string1
print *, 'Introdueix la segona cadena:'
read *, string2
result = trim(string1) // trim(string2)
print *, 'La cadena concatenada és: ', result
end program concatenate_stringsConclusió
En aquest tema, hem après a realitzar operacions bàsiques amb arrays i cadenes en Fortran, així com a utilitzar diverses funcions intrínseques per a manipular aquestes estructures de dades. Aquestes habilitats són essencials per a la programació científica i tècnica, i ens preparen per a temes més avançats en el curs.
Curs de Programació en Fortran
Mòdul 1: Introducció a Fortran
- Introducció a Fortran
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsiques
- Escrivint el teu Primer Programa en Fortran
Mòdul 2: Conceptes Bàsics
- Variables i Tipus de Dades
- Operadors i Expressions
- Entrada i Sortida
- Estructures de Control: Sentències If
- Estructures de Control: Bucles
Mòdul 3: Arrays i Cadenes
Mòdul 4: Procediments i Funcions
Mòdul 5: Estructures de Dades Avançades
Mòdul 6: Gestió de Fitxers
Mòdul 7: Temes Avançats
Mòdul 8: Millors Pràctiques i Optimització
- Tècniques d'Optimització de Codi
- Depuració i Perfilat
- Escrivint Codi Mantenible
- Estàndards i Portabilitat de Fortran
