En aquest tema, aprendrem com treballar amb fitxers binaris en Fortran. Els fitxers binaris són útils per emmagatzemar dades en un format compacte i eficient, especialment quan es treballa amb grans volums de dades numèriques. A diferència dels fitxers de text, els fitxers binaris no són llegibles per humans, però permeten una lectura i escriptura més ràpides.
Continguts
- Introducció als Fitxers Binaris
- Obrir i Tancar Fitxers Binaris
- Llegir de Fitxers Binaris
- Escriure a Fitxers Binaris
- Exercicis Pràctics
- Introducció als Fitxers Binaris
Els fitxers binaris emmagatzemen dades en format binari, és a dir, en una seqüència de bits. Això permet una representació més compacta de les dades i una manipulació més ràpida en comparació amb els fitxers de text.
Avantatges dels Fitxers Binaris
- Eficiència: Menor espai d'emmagatzematge i accés més ràpid.
- Precisió: Emmagatzematge exacte de dades numèriques sense errors d'arrodoniment.
Desavantatges dels Fitxers Binaris
- No llegible per humans: Les dades no es poden llegir directament.
- Portabilitat: Pot haver-hi problemes de compatibilitat entre diferents sistemes.
- Obrir i Tancar Fitxers Binaris
Per treballar amb fitxers binaris en Fortran, utilitzem les instruccions OPEN
i CLOSE
.
Obrir un Fitxer Binari
unit
: Unitat lògica per referir-se al fitxer.file
: Nom del fitxer.form='unformatted'
: Indica que el fitxer és binari.status='unknown'
: El fitxer pot existir o no.
Tancar un Fitxer Binari
- Llegir de Fitxers Binaris
Per llegir dades d'un fitxer binari, utilitzem la instrucció READ
.
Exemple de Lectura
PROGRAM llegir_fitxer_binari IMPLICIT NONE INTEGER :: unit, i REAL :: dades(10) unit = 10 OPEN(unit=unit, file='dades.bin', form='unformatted', status='old') READ(unit) dades PRINT *, 'Dades llegides:' DO i = 1, 10 PRINT *, dades(i) END DO CLOSE(unit) END PROGRAM llegir_fitxer_binari
- Escriure a Fitxers Binaris
Per escriure dades a un fitxer binari, utilitzem la instrucció WRITE
.
Exemple d'Escriptura
PROGRAM escriure_fitxer_binari IMPLICIT NONE INTEGER :: unit, i REAL :: dades(10) unit = 10 OPEN(unit=unit, file='dades.bin', form='unformatted', status='replace') DO i = 1, 10 dades(i) = i * 1.0 END DO WRITE(unit) dades CLOSE(unit) END PROGRAM escriure_fitxer_binari
- Exercicis Pràctics
Exercici 1: Escriure i Llegir un Fitxer Binari
- Escriu un programa que generi un array de 20 números enters i els escrigui a un fitxer binari.
- Escriu un segon programa que llegeixi els números del fitxer binari i els imprimeixi a la pantalla.
Solució
Programa d'Escriptura:
PROGRAM escriure_enters_binari IMPLICIT NONE INTEGER :: unit, i INTEGER :: dades(20) unit = 10 OPEN(unit=unit, file='enters.bin', form='unformatted', status='replace') DO i = 1, 20 dades(i) = i END DO WRITE(unit) dades CLOSE(unit) END PROGRAM escriure_enters_binari
Programa de Lectura:
PROGRAM llegir_enters_binari IMPLICIT NONE INTEGER :: unit, i INTEGER :: dades(20) unit = 10 OPEN(unit=unit, file='enters.bin', form='unformatted', status='old') READ(unit) dades PRINT *, 'Dades llegides:' DO i = 1, 20 PRINT *, dades(i) END DO CLOSE(unit) END PROGRAM llegir_enters_binari
Conclusió
En aquesta secció, hem après com treballar amb fitxers binaris en Fortran. Hem vist com obrir, tancar, llegir i escriure fitxers binaris, així com els avantatges i desavantatges d'utilitzar aquest tipus de fitxers. Els exercicis pràctics proporcionats t'ajudaran a consolidar aquests conceptes. En el següent mòdul, explorarem temes avançats com els mòduls i les interfícies.
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