Datas: 16.06.2009 ó 19.06.2009 Horario: de 09:00 a 14:00h
Organiza: CESGA
Nº horas: 20
Lugar: Centro de Supercomputación de Galicia, Avda. de Vigo, s/n (Campus Sur) - Santiago de Compostela
Contacto:cursos
Objetivos:
El objetivo del curso consiste en formar al alumno en profundidad sobre la programación en el lenguaje Fortran 90/95. Su interés radica en su extendida utilización en el ámbito de la ciencia computacional y de la computación de altas prestaciones, tanto en lo que respecta a su uso en aplicaciones y bibliotecas científicas y de ingeniería, como a su elección como lenguaje base para lenguajes de programación paralela. El temario se complementará con la realización de prácticas dirigidas utilizando el compilador de Fortran 90/95 g95 (http://g95.sourceforge.net.
Temario:
1. Introducción al lenguaje Fortran 90/95
2. Tipos de datos:
Tipos de datos intrínsecos.
Parámetro KIND.
Tipos de datos derivados.
3. Control de flujo:
Bloque IF.
Bloque CASE.
Operadores lógicos y relacionales.
4. Bucles (DO, EXIT, CYCLE).
5. Arrays:
Notación de arrays.
Sentencia WHERE.
Arrays y tipos de datos derivados.
Arrays multidimensionales.
Funciones intrínsecas con arrays.
6. Entrada/Salida:
Formatos para E/S.
Descriptores de formato.
Especificadores de E/S.
Ficheros
7. Procedimientos:
Funciones.
Subrutinas.
Argumentos de procedimientos (atributo INTENT).
Procedimientos y arrays: arrays automáticos y assumed-shape.
Variables locales (SAVE).
Procedimientos internos.
Recursividad.
Paso de procedimientos como parámetro.
Argumentos opcionales.
8. Módulos e Interfaces:
Bloque INTERFACE.
Definición y uso de módulos (MODULE).
Restricciones de acceso en módulos (PUBLIC/PRIVATE).
Definición de procedimientos genéricos.
Definición de operadores.
Extensión de procedimientos y operadores.
9. Memoria Dinámica: Punteros.
Arrays dinámicos (ALLOCATABLE).
Punteros y estructuras de datos dinámicas.
10. Principales Novedades en Fortran 95:
Construcción FORALL.
Procedimientos puros y elementales.
11. Introducción al Estándar Fortran 2003
Dirigido a:
- Investigadores y docentes que desarrollan aplicaciones científicas.
- Personal técnico de apoyo a la optimización de aplicaciones científicas.