Algorítmica y Lenguajes de Programación
Declaración de variables
Sentencias de entrada/salid
a
2
Variables y E/S.
Introducción
n
En esta lección veremos:
n
Estructura de un programa
FORTRAN.
n
Declaración de variables.
n
Variables de tipo character,
vectores y matrices.
n
Entrada/Salida con formato en
3
Variables y E/S.
Estructura programa (i)
n
Todo programa en FORTRAN tiene siguiente
estructura:
program nombre_programa
sentencia 1
sentencia 2
...
end
n
Las sentencias pueden ser:
n
Declaraciones de variables.
n
Definiciones de constantes.
n
Instrucciones.
Variables y E/S.
Estructura programa (ii)
n
Las declaraciones de variables y definiciones de
constantes deben hacerse antes de ninguna
instrucción.
n
Por tanto, estructura de programa:
program nombre_programa
declaración variable o definición constante 1
declaración variable o definición constante 2
...
sentencia 1
sentencia 2
...
5
Variables y E/S.
Declaración implícita
n
FORTRAN admite declaración implícita:
proporcionar un tipo (entero o real) a una
variable no declarada en base a la primera
letra de su nombre.
n
Declaración implícita es muy peligrosa!!
n
Para evitar declaración implícita hay que
incluir la sentencia IMPLICIT NONE antes de
ninguna declaración de variable.
6
Variables y E/S.
Declaración explícita
n
La sintáxis de una sentencia de
declaración de variables es la siguiente:
tipo variable1 [, variable2]*
n
Ejemplos:
integer velocidad
real a, b, c
logical entrada, salida
character cadena
7
Variables y E/S.
Declaración cadenas
n
Para declarar una variable de tipo
cadena de caracteres hay que indicar su
longitud. Sintaxis cambia un poco:
tipo*longitud variable1 [, variable2]*
n
Ejemplos:
character a, b, c
character*8 dni
character*9 telefono, nif
Variables y E/S.
Vectores (i)
n
La notación algorítmica permite la utilización
de vectores y matrices, la sintaxis es la
siguiente:
variable
∈ vector (n [, m]*) de tipo
∈
n
Ejemplos:
coordenadas
∈ vector (3) de real
∈
9
Variables y E/S.
Vectores (ii)
n
FORTRAN también admite vectores y
matrices con una sintaxis diferente:
tipo variable (n [,m]*)
o bien
tipo variable
dimension variable (n [,m]*)
n
Ejemplos:
real coordenadas (3)
logical tres_en_raya (3,3)
10Variables y E/S.
Vectores (iii)
n
No es posible operar con vectores ni matrices
de forma global, hay que acceder a cada
componente individual.
n
Sintáxis idéntica en FORTRAN y notación
algorítmica:
variable (i [,j]*)
n
Ejemplos:
coordenadas(2)
tres_en_raya(3,3)
11
Variables y E/S.
Entrada/Salida (i)
n
Tanto notación algorítmica como FORTRAN
poseen sentencias de entrada/salida:
n
leer/escribir
n
read/print
n
Son similares aunque la sintaxis de las
sentencias en FORTRAN incluye un parámetro
para indicar formato:
read formato, variable1 [, variableN]*
print formato, expresión1 [, expresiónN]*
Variables y E/S.
Entrada/Salida (ii)
n
En caso de no desear especificar
formato debe utilizarse un asterisco *
n
El equivalente de leer variable
sería read *, variable
n
El equivalente de
escribir expresión
sería
13
Variables y E/S.
Códigos de formato (i)
n
Los códigos de formato más comunes son:
n
I
para tipo integer
n
F
y E para tipo real
n
L
para tipo logical
n
A
para tipo character
n
Cada formato admite diversas posibilidades
para controlar el número de posiciones, el
número de decimales, etc.
14
Variables y E/S.
Códigos de formato (ii)
n
Código de formato I (integer):
n
In
n Permite leer/escribir un entero empleando n posiciones (contando el signo) n Ejemplo:
print '(I1,I1,I2)', 2, 3, -1 23-1
n
In.d
n Permite leer/escribir un entero empleando n posiciones de las que al menos se
utilizarán d
n Ejemplo:
print '(I5.5)', 2 00002
n
cIn.d
n Permite leer/escribir c enteros empleando n posiciones para cada uno de las que
al menos se utilizarán d
n Ejemplo:
print '(3I5.3)',2,2,2 --002--002--002
15
Variables y E/S.
Códigos de formato (iii)
n
Código de formato F (real):
n
Fn.d
n
Permite leer/escribir un real empleando n posiciones de
las que d se utilizarán para decimales
n
Ejemplo:
print '(F5.1,F5.3)',3.142, 3.142
--3.13.142
n
cFn.d
n
Permite leer/escribir c reales empleando n posiciones
para cada uno de las que d se utilizarán para decimales
n
Ejemplo:
print '(2F5.3)',3.142, 3.142
3.1423.142
Variables y E/S.
Códigos de formato (iv)
n
Código de formato E (real):
n
En.d
n Permite leer/escribir un real con exponente empleando n posiciones de las que d
se utilizarán para mantisa
n Ejemplo:
print '(E6.1,E8.3)',3.142, 3.142 .3E+01.314E+01
n
cEn.d
n Permite leer/escribir c reales con exponente empleando n posiciones para cada
uno de las que d se utilizarán para mantisa
n Ejemplo:
print '(2E6.1)',3.142, 3.142 .3E+01.3E+01
n
cEn.dEe
n Permite leer/escribir c reales con exponente empleando n posiciones para cada
uno de las que d se utilizarán para mantisa y e para exponente
n Ejemplo:
17
Variables y E/S.
Códigos de formato (v)
n
Código de formato L (logical):
n
Ln
n
Permite leer/escribir una expresión de
tipo lógico ocupando n posiciones
n
Ejemplo:
print '(L1,L5)', .true., .true.
T----T
18
Variables y E/S.
Códigos de formato (vi)
nCódigo de formato A (character):
n
An
n
Permite leer/escribir una expresión de tipo cadena de caracteres
ocupando n posiciones
n
Ejemplo:
print '(A2,A4)', 'hola', 'hola' hohola
n
cAn
n
Permite leer/escribir c expresiones de tipo cadena de caracteres
ocupando cada una n posiciones
n
Ejemplo:
print '(2A3)', 'hola', 'adios' holadi
n
Si una expresión no puede encuadrarse en el formato solicitado
el resultado que se obtiene es una secuencia de n asteriscos
donde n es el ancho de formato especificado
19
Variables y E/S.
Resumen (i)
n Notación algorítmica y FORTRAN disponen de una zona para declarar variables y definir
constantes.
n En FORTRAN variables y constantes deben declararse y definirse antes de ninguna
instrucción ejecutable.
n FORTRAN posee declaración implícita de variables enteras y reale s. Para evitar esta
característica indeseable es necesario utilizar la sentencia IMPLICIT NONE antes de ninguna declaración de variables.
n La estructura de un programa FORTRAN es la siguiente:
program nombre_programa implicit none
declaración de variable o definición de constante 1 declaración de variable o definición de constante 2 ...
sentencia 1 sentencia 2 ... end
n La sintáxis de las sentencias de declaración en FORTRAN es la siguiente: tipo variable1 [, variable2]*
Variables y E/S.
Resumen (ii)
n
En el caso de que se deseen declarar cadenas de caracteres la sintáxis es:
character*longitud variable1 [, variable2]*
n
Tanto en FORTRAN como en la notación algorítmica es posible declarar vectores
y matrices; en el caso de la notación algorítmica la sintáxis es:
variable
∈ vector (n [, m]*) de tipo
∈
mientras que en FORTRAN es:
tipo variable (n [, m]*)
n
Para acceder a un componente de un vector o matriz tanto en la notación
algorítmica con en FORTRAN se emplea la sintáxis siguiente:
variable (i [, j]*)
n