Publicado el 12 de Junio del 2019
963 visualizaciones desde el 12 de Junio del 2019
602,4 KB
161 paginas
Creado hace 14a (26/04/2010)
Índice general
1. Algoritmos y programas
1.1. Arquitectura de un ordenador . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.
Introducción a la programación . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1. Análisis del problema . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2. Diseño y verificación del algoritmo . . . . . . . . . . . . . . . . . .
1.2.3. Codificación del algoritmo en el programa . . . . . . . . . . . . . .
1.2.4. Ejecución y verificación del programa . . . . . . . . . . . . . . . . .
1.2.5. Documentación de un programa . . . . . . . . . . . . . . . . . . . .
2. Bases de Fortran
1
2
3
4
4
6
7
7
9
2.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2. Notación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3. Normas de escritura
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4. Estructura general de un programa . . . . . . . . . . . . . . . . . . . . . . 11
2.5. Salidas de un programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3. Tipos de datos
15
3.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2. Tipos de datos intrínsecos
. . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1. Datos enteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2. Datos reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.3. Datos complejos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.4. Datos lógicos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.5. Datos caracteres
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3. Tipos de datos derivados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4. Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5. Parámetros dentro de un programa . . . . . . . . . . . . . . . . . . . . . . 32
3.6. La sentencia implicit none . . . . . . . . . . . . . . . . . . . . . . . . . . 32
i
3.7. Definición en la línea de declaración . . . . . . . . . . . . . . . . . . . . . . 34
3.8. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4. Operaciones básicas
37
4.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2. Expresiones aritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3. Expresiones relacionales
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4. Expresiones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.5. Operaciones con caracteres . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.6. Operaciones con arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.7. Definición en la línea de declaración . . . . . . . . . . . . . . . . . . . . . . 47
5. Control de flujo
49
5.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2. Estructura condicional
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2.1. Estructura condicional simple . . . . . . . . . . . . . . . . . . . . . 51
5.2.2. Estructura condicional doble . . . . . . . . . . . . . . . . . . . . . . 52
5.2.3. Estructura condicional múltiple . . . . . . . . . . . . . . . . . . . . 53
5.3. Estructura iterativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.3.1. Bucle controlado por un contador . . . . . . . . . . . . . . . . . . . 58
5.3.2. Bucle controlado por una expresión lógica . . . . . . . . . . . . . . 61
5.3.3. Sentencia cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6. Funciones intrínsecas
65
6.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6.2. Funciones intrínsecas con datos numéricos
. . . . . . . . . . . . . . . . . . 66
6.2.1. Funciones de conversión . . . . . . . . . . . . . . . . . . . . . . . . 67
6.2.2. Funciones de truncamiento y redondeo . . . . . . . . . . . . . . . . 68
6.2.3. Funciones matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.3. Funciones intrínsecas específicas de caracteres
. . . . . . . . . . . . . . . . 70
6.3.1. Funciones de conversión . . . . . . . . . . . . . . . . . . . . . . . . 70
6.3.2. Funciones de manipulación . . . . . . . . . . . . . . . . . . . . . . . 71
6.4. Funciones intrínsecas específicas de arrays
. . . . . . . . . . . . . . . . . . 74
6.4.1. Funciones de cálculo . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.4.2. Funciones de búsqueda . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.4.3. Funciones de dimensiones
. . . . . . . . . . . . . . . . . . . . . . . 79
ii
7. Objetos compuestos
83
7.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.2. Datos array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.2.1. Secciones de un array . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7.2.2. Asignación dinámica de memoria . . . . . . . . . . . . . . . . . . . 87
7.2.3. Arrays de tamaño cero . . . . . . . . . . . . . . . . . . . . . . . . . 90
7.3. Datos de tipo derivado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.3.1. Componente de tipo array . . . . . . . . . . . . . . . . . . . . . . . 92
7.3.2. Componente de tipo estructura . . . . . . . . . . . . . . . . . . . . 94
8. Operaciones de Entrada y Salida
97
8.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
8.2. Sentencias read y print básicas . . . . . . . . . . . . . . . . . . . . . . . . 99
8.3. Manejo de ficheros
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.3.1. Sentencia open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
8.3.2. Sentencias read y write . . . . . . . . . . . . . . . . . . . . . . . . 101
8.3.3. Sentencia close . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
8.4. Sentencias rewind y backspace . . . . . . . . . . . . . . . . . . . . . . . . 103
8.5. Especificaciones de formato . . . . . . . . . . . . . . . . . . . . . . . . . . 104
8.5.1. Datos tipo integer . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
8.5.2. Datos tipo real en coma flotante . . . . . . . . . . . . . . . . . . . 105
8.5.3. Datos tipo real en forma exponencial
. . . . . . . . . . . . . . . . 106
8.5.4. Datos tipo character . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.5.5. Datos tipo logical . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.6. Especificación de un formato . . . . . . . . . . . . . . . . . . . . . . . . . . 110
8.7. Sentencia namelist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
9. Programación modular
115
9.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
9.2. Funciones
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
9.3. Subrutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
9.4. Tratamiento de argumentos
. . . . . . . . . . . . . . . . . . . . . . . . . . 126
9.4.1. El atributo intent . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
9.4.2. Asociación de argumentos
. . . . . . . . . . . . . . . . . . . . . . . 128
9.4.3. Argumentos tipo character . . . . . . . . . . . . . . . . . . . . . . 131
9.4.4. Argumentos tipo array . . . . . . . . . . . . . . . . . . . . . . . . . 131
iii
9.4.5. Argumentos tipo subprograma . . . . . . . . . . . . . . . . . . . . . 136
9.5. Array como resultado de una función . . . . . . . . . . . . . . . . . . . . . 139
9.6. Variables locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.7. Tipos de subprogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.8. Subprograma interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.9. Subprograma module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
A. El conjunto de caracteres ASCII
B. Bibliografía
155
157
iv
Algoritmos
y
programas
1
Índice
1.1. Arquitectura de un ordenador . . . . . . . . . . . . . . . . . . .
1.2. Introducción a la programación . . . . . . . . . . . . . . . . . .
1.2.1. Análisis del problema . . . . . . . . . . . . . . . . . . . . . . .
1.2.2. Diseño y verificación del algoritmo . . . . . . . . . . . . . . . .
1.2.3. Codificación del algoritmo en el programa . . . . . . . . . . . .
1.2.4. Ejecución y verificación del programa . . . . . . . . . . . . . .
1.2.5. Documentación de un programa . . . . . . . . . . . . . . . . .
2
3
4
4
6
7
7
1
2
1.1 Arquitectura de un ordenador
1.1. Arquitectura de un ordenador
Un ordenador está formado por los siguientes elementos básicos
• hardware o conjunto de componentes físicos: memoria principal, Unidad Central
de Proceso (CPU, Central Processing Unit) y dispositivos de Entrada/Salida (I/O
Input/Output).
• software o conjunto de programas disponibles.
La memoria principal consiste en millones de conjuntos elementales capaces de alma-
cenar un cero (0) o un uno (1). De esta forma, la memoria queda organizada en elementos
de información que son capaces de almacenar datos e instrucciones de un programa. La
representación interna que utiliza un ordenador es binaria. La unidad mínima de infor-
mación es el bit, que posee dos estados 0 ó 1. Grupos de 8 bits constituyen un byte, que
posee 28 estados diferentes. Las memorias principales pueden ser
• Memoria de Acceso Aleatorio (RAM, Random Access Memory), en la que se puede
leer y escribir, pero la información se pierde cuando no se recibe energía eléctrica.
En cualquier localización de la memoria RAM se puede almacenar temporalmente
datos e instrucciones de programas, y el orde
Comentarios de: Informática (0)
No hay comentarios