E. Laorga 1 5 de noviembre de 2020
E. Laorga1
5 de noviembre de 2020
1This modied text is an extract of the original Stack Overow Documentation created by following contributors and released under CC BY-SA 3.0 This website is not aliated with Stack Overow Email: tutorialpedia@
?ndice general
1 Empezando con Fortran
4
1.1 Observaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Versiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Instalaci?n o conguraci?n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Hola Mundo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Ecuaci?n cuadr?tica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.6 Insensibilidad al caso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Alternativas modernas
8
2.1 Tipos de variables impl?citas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Declaraci?n IF aritm?tica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Construcci?n de DO no en bloque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Retorno alternativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 Forma de fuente ja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.6 Bloques comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.7 GOTO asignado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.8 GOTO computado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9 Especicaciones de formato asignado . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.10 Sentencias de Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3 Matrices
19
3.1 Notaci?n b?sica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 Arreglos asignables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 Constructores de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Especicaci?n de la naturaleza de la matriz: rango y forma . . . . . . . . . . . . . . . 22
3.5 Forma expl?cita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.6 Forma asumida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.7 Tama?o asumido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.8 Forma diferida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.9 Forma impl?cita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.10 Arreglos enteros, elementos de arreglo y secciones de arreglo . . . . . . . . . . . . . . 25
3.11 Arreglos enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.12 Elementos de matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.13 Secciones de matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.14 Componentes de matrices de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.15 Operaciones de matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.16 Adici?n y sustracci?n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.17 Funci?n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.18 Multiplicaci?n y divisi?n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2
3.19 Operaciones matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.20 Secciones de matrices avanzadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.21 Tripletes de sub?ndices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.22 Sub?ndices vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.23 Secciones de matriz de rango m?s alto . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4 Control de ejecuci?n
31
4.1 Construcci?n IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2 Construcci?n SELECT CASE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Construcci?n de bloques DO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4 Construcci?n WHERE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5 Extensiones de archivo fuente (-f, .f90, .f95.. . . ) y como se relacionan con el
compilador.
37
5.1 Introducci?n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2 Extensiones y signicado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6 I/O
39
6.1 Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.2 E/S simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.3 Leer con un poco de comprobaci?n de errores . . . . . . . . . . . . . . . . . . . . . . 40
6.4 Pasando argumentos de l?nea de comando . . . . . . . . . . . . . . . . . . . . . . . . 41
7 Interfaces expl?citas e impl?citas
43
7.1 Subprogramas internos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.2 Subprogramas externos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
8 Interoperabilidad C
46
8.1 Llamando C desde Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
8.2 Estructuras de C en Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
9 Procedimientos - Funciones y subrutinas.
48
9.1 Observaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.2 Sintaxis funcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.3 Declaraci?n de devoluci?n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.4 Procedimientos recursivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.5 La intenci?n de los argumentos cticios . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.6 Haciendo referencia a un procedimiento . . . . . . . . . . . . . . . . . . . . . . . . . 51
10 Procedimientos intr?nsecos
54
10.1 observaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
10.2 Uso de PACK para seleccionar elementos que cumplan una condici?n . . . . . . . . . 55
11 Programaci?n orientada a objetos
56
11.1 Denici?n de tipo derivado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
11.2 Tipo de Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.3 Tipos derivados abstractos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
11.4 Extensi?n de tipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
11.5 Constructor Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
3
Cap?tulo 1
Empezando con Fortran
1.1. Observaciones
Fortran es un lenguaje utilizado ampliamente en la comunidad cient?ca debido a su idoneidad para el c?lculo num?rico. Particularmente atractiva es su intuitiva notaci?n matricial, que facilita la escritura de c?mputos vectorizados r?pidos.
A pesar de su edad, Fortran todav?a est? activamente desarrollado, con numerosas implementaciones, incluyendo GNU, Intel, PGI y Cray.
1.2. Versiones
Versi?n
FORTRAN66 FORTRAN77 Fortran 90 Fortran 95 Fortran 2003 Fortran 2008
Nota
Primera estandarizaci?n por ASA (ahora ANSI) Forma ja, hist?rica Forma libre, norma ISO, operaciones matriciales. Procedimientos puros y elementales Programaci?n orientada a objetos Co-matrices
Lanzamiento
7-03-1996 15-04-1978 15-04-1991
15-6-1997 4-04-2004 10-09-2010
1.3. Instalaci?n o conguraci?n
Fortran es un lenguaje que puede compilarse utilizando compiladores suministrados por muchos proveedores. Diferentes compiladores est?n disponibles para diferentes plataformas de hardware y sistemas operativos. Algunos compiladores son software libre, algunos se pueden utilizar de forma gratuita y otros requieren la compra de una licencia.
El compilador gratuito m?s com?n de Fortran es GNU Fortran o gfortran. El c?digo fuente est? disponible en GNU como parte de GCC, la colecci?n del compilador GNU. Los binarios para muchos sistemas operativos est?n disponibles en . Las distribuciones de Linux a menudo contienen gfortran en su gestor de paquetes.
Otros compiladores est?n disponibles por ejemplo:
4
EKOPath por PathScale LLVM (backend v?a DragonEgg) Oracle Developer Studio
Absoft Fortran Compiler Compilador Intel Fortran Compilador NAG Fortran Compiladores de IGP En los sistemas HPC, a menudo hay compiladores especializados disponibles por el proveedor del sistema como, por ejemplo, los compiladores IBM o Cray . Todos estos compiladores soportan el est?ndar Fortran 95. ACM Fortran Forum ofrece una descripci?n general sobre el estado de Fortran 2003 y el estado de Fortran 2008 de varios compiladores y est? disponible en la Wiki de Fortran.
1.4. Hola Mundo
Cualquier programa de Fortran tiene que incluir el end como ?ltima declaraci?n. Por lo tanto, el programa Fortran m?s simple se ve as?:
end
Aqu? hay algunos ejemplos de programas hola mundo:
print *, "Hello, world" end
Con declaraci?n de write
write(*,*) "Hello, word" end
Para mayor claridad, ahora es com?n usar la declaraci?n de program para iniciar un programa
end y darle un nombre. La declaraci?n
puede referirse a este nombre para que sea obvio a que
se reere, y permitir que el compilador verique que el c?digo sea correcto. Adem?s, todos los
programas de Fortran deben incluir una declaraci?n implicit none. Por lo tanto, un programa
m?nimo de Fortran deber?a tener el siguiente aspecto:
program hello implicit none write(*,*) 'Hello world!' end program hello
El siguiente paso l?gico a partir de este punto es c?mo ver el resultado del programa hello world. Esta secci?n muestra c?mo lograr eso en un entorno similar a Linux. Suponemos que tiene
algunas nociones b?sicas de los comandos de shell, principalmente sabe c?mo llegar al terminal de shell. Tambi?n asumimos que ya ha congurado su entorno fortran. Utilizando su editor de texto
preferido (notepad, notepad++, vi, vim, emacs, gedit, kate, etc.), guarde el programa de saludo de
arriba (copie y pegue) en un archivo llamado hello.f90 en su directorio de inicio. hello.f90 es
su archivo fuente. Luego vaya a la l?nea de comandos y navegue hasta el directorio (?directorio de inicio?) Donde guard? su archivo fuente, luego escriba el siguiente comando:
>gfortran -o hello hello.f90
5
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- 1.5 auto loan rate
- minecraft unblocked at school 1.5.2
- e thaksalawa grade 5 papers
- log 1 5 7x 1 25 2
- 1 1 5 ratio chart
- 2020 gm 1 5 turbo engine
- juego 5 de la nba en vivo
- certificacion de planillas de 5 anos
- ar books 1 5 1 9
- examen de la ciudadania 2020 en espanol
- 1 1 5 a circuit theory hand calculations answer
- minecraft pocket edition 1 1 5 apk