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

  1. Operacions Bàsiques amb Arrays
  2. Operacions Bàsiques amb Cadenes
  3. Funcions Intrínseques per a Arrays
  4. Funcions Intrínseques per a Cadenes
  5. Exercicis Pràctics

  1. 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

  1. 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

  1. 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

  1. 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

  1. 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.

© Copyright 2024. Tots els drets reservats