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_operations
Multiplicació 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_operations
Substring
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_array
Exercici 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_strings
Conclusió
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