Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmo 1 Convertir Grados Fahrenheit PDF
Algoritmo 1 Convertir Grados Fahrenheit PDF
grados Celsius
Entrada: número real f, los grados Fahrenheit.
Diagrama de flujo:
Código:
program convertir_fahrenheit
implicit none
real :: f
real :: c
read *, f
c = (f - 32) * 5 / 9
print *, c
end program convertir_fahrenheit
Algoritmo 2: calcular el valor absoluto
Diagrama de flujo:
Código:
program valor_absoluto
implicit none
real :: a, x
read *, x
if (x < 0) then
a = -x
else
a = x
end if
print *, a
end program valor_absoluto
Algoritmo 3: calcular potencia
Diagrama de flujo:
Código:
program potencia
implicit none
real :: base, resultado
integer :: exponente, i
read *, base
read *, exponente
resultado = 1
do i = 1, exponente
resultado = resultado * base
end do
print *, resultado
end program potencia
Tipos de datos
Un tipo de datos es una propiedad de un conjunto de valores que
indica cuáles son los valores válidos, qué operaciones se pueden
efectuar sobre ellos y cómo son representados internamente por el
computador.
Tipo entero
El tipo integer permite representar números enteros.
142857
-123
+1935
3.141592654
-0.345
6.02e23
9.1094e-31
.true.
.false.
Tipo caracter
El tipo character permite representar símbolos como letras, dígitos,
puntuación, etc.
'a'
'!'
'7'
program literales
implicit none
integer :: n
real :: x
logical :: p
character :: c
n = 142857
n = -1234
x = 3.141592654
x = 6.02e23 ! notacion cientifica
p = .true.
p = .false.
c = 'a'
c = '#'
c = '!'
end program literales
Expresiones
Una expresión es una combinación de valores y operaciones que, al
ser evaluados, entregan un valor.
b * b - 4 * a * c
b * b
b
4 * a * c
4 * a
4
a
c
Operadores
Un operador es un símbolo en una expresión que representa una
operación aplicada a los valores sobre los que actúa.
Operadores lógicos
Los operadores lógicos tienen operandos lógicos y resultado lógico.
Los operadores .and. y .or. son binarios, mientras que .not. es unario.
Operadores aritméticos
Los operadores aritméticos son los que representan operaciones
numéricas. Sus operandos pueden ser enteros o reales.
Operadores relacionales
Los operadores relacionales son los que permiten comparar valores.
Sus operandos son cualquier cosa que pueda ser comparada, y sus
resultados siempre son valores lógicos.
el igual a ==;
el distinto a /=;
el mayor que >;
el mayor o igual que >=;
el menor que <;
el menor o igual que <=.
Precedencia de operadores
La precedencia de operadores es una regla que especifica en qué
orden deben ser evaluadas las operaciones de una expresión.
(Por escribir)
Llamadas a funciones
Una función es un tipo de operación que, en vez de estar representada
por un símbolo, tiene un nombre. Los operandos de una función se
llaman parámetros o argumentos.
Por ejemplo, la función exp tiene un parámetro real x, y entrega como
resultado ex.
Para usar la función, hay que poner el nombre de la función, y a
continuación los argumentos entre paréntesis. Esta operación se
denomina llamar a la función.
Funciones intrínsecas
Fortran provee varias funciones que son propias del lenguaje. Se les
denomina funciones intrínsecas.
La función mod (módulo) recibe dos argumentos del mismo tipo, pero
generalmente la usaremos con argumentos enteros positivos:
mod(a, b): entrega el resto de la división entre a y b.
program nombre_del_programa
implicit none
! declaraciones de variables
Las líneas en blanco son ignoradas. Se puede agregar u omitir todas las
que se quiera.
Las palabras que son parte del lenguaje pueden ser escritas
indistintamente en mayúsculas o minúsculas. Por ejemplo, es válido
escribir PROGRAM, Program o pRoGrAm en vez de program.
Declaración de variables
En la sección de declaración de variables, todas las variables que son
utilizadas por el programa deben ser declaradas junto con su tipo.
tipo :: variable
program ejemplo
implicit none
real :: x
real :: y
integer :: n
read *, x, y, n
print *, (x * x + y * y) ** n
end program ejemplo
real :: x, y
Declaración de constantes
Además de las variables, que pueden cambiar de valor durante la
ejecución, es posible ponerle nombres a valores inmutables que serán
utilizados por el programa. Estos nombres se llaman constantes.
1 program circulo
2 implicit none
3 real :: radio
4 real, parameter :: pi = 3.14159
5
6 print *, 'Ingrese el radio del circulo'
7 read *, radio
8 print *, 'El perimetro es ', 2 * pi * radio
9 print *, 'El area es ', pi * radio * radio
10 end program circulo
Comentarios
Un comentario es una sección del código que es ignorada por el
compilador. Un comentario puede ser utilizado por el programador para
dejar un mensaje en el código que puede ser útil para alguien que tenga
que leerlo en el futuro.
a = 1 ! esto es un comentario
Asignaciones
Las asignaciones en Fortran son representadas con la
sintaxis que ya presentamos:
variable = expresión
Salida
En Fortran, un programa puede imprimir cosas en la
pantalla usando la sentencia print.
La sintaxis es:
print *, mensaje
El mensaje puede ser cualquier un valor de cualquier tipo.
Por ejemplo, el siguiente código escribe el
mensaje Hola mundo en la pantalla:
a = 2
b = 3
print *, 'La suma de ', a, ' y ', b, ' es ', a + b
Entrada
En Fortran, un programa puede leer los datos que el
usuario ingresa con el teclado usando la sentencia read.
La sintaxis es:
read *, variable
5
2.5
-3
5 2.5 -3
Continuación de línea
Cada sentencia debe ocupar una línea de código. Sin
embargo, a veces conviene separar una sentencia en
varias líneas para hacer el programa más claro. Para
indicar que una sentencia continúa en la línea siguiente,
hay que poner un símbolo & al final de la línea:
a = 1 + x + x ** 2 + x ** 3 + &
x ** 4 + x ** 5 + &
x ** 6 + x ** 7
Condicional if-then
La sentencia if-then (en español: «si-entonces») ejecuta
instrucciones sólo si se cumple una condición. Si la
condición es falsa, no se hace nada.
La sintaxis es la siguiente:
if (condición) then
! qué hacer cuando la condición es verdadera
end if
Condicional if-then-else
La sentencia if-then-else («si-entonces-o-si-no») decide
entre dos secuencias de instrucciones a ejecutar
dependiendo si una condición es verdadera o falsa. La
sintaxis es la siguiente:
if (condición) then
! qué hacer cuando la condición es verdadera
else
! qué hacer cuando la condición es falsa
end if
program bisiesto
implicit none
integer :: year
Condicional select-case
La sentencia select-case («seleccionar-caso») decide qué
instrucciones ejecutar dependiendo del valor de una
expresión. Es una manera abreviada de escribir
varios ifs uno después del otro.
La sintaxis es la siguiente:
program par
implicit none
integer :: n
program clasifica_letras
implicit none
character :: c
Ciclo do-while
El ciclo do-while («hacer mientras») ejecuta una
secuencia de instrucciones mientras una condición sea
verdadera.
La sintaxis es:
do while (condición)
! qué hacer mientras la condición se cumple
end do
Por ejemplo, el siguiente código toma un número, y lo
eleva al cuadrado hasta pasar de mil:
n = 2
do while (n < 10)
n = n * 6
n = n - 9
end do
Ciclo do
El ciclo do («hacer») ejecuta una secuencia de
instrucciones un número determinado de veces. Para llevar
la cuenta, utiliza unavariable de control que toma
distintos valores en cada iteración.
La sintaxis es:
do i = 1, 20
print *, i, i ** 3
end do
do i = 1, 100, 2
print *, i, sqrt(real(i))
end do
do i = 10, 1, -1
print *, i
end do
print *, 'Feliz an~o nuevo!'
i = inicio
do while (i <= fin)
print *, i
i = i + inc
end do
Salir de un ciclo
Además de las condiciones de término propias de los
ciclos do y dowhile, siempre es posible salir de un ciclo en
cualquier momento usando la sentencia exit. Lo lógico es
que sea usada dentro de un condicional, para evitar que
todos los ciclos se terminen a la primera.
es_primo = .true.
do d = 2, n - 1
if (mod(n, d) == 0) then
es_primo = .false.
exit
end if
end do
do i = 1, 30
if (mod(i, 10) == 7) then
cycle
end if
print *, i
print *, 'Seno: ', sin(real(i))
print *, 'Coseno: ', cos(real(i))
print *, 'Tangente:', tan(real(i))
end do