Programación Básica 2020-2
1
CODIFICACIÓN DE ALGORITMOS
Objetivo: El alumno construirá programas utilizando FORTRAN a través del análisis y modelado del algoritmo previo.
Programación Básica 2020-2
2
Contenido:
3.1. Plataformas de programación. 3.2. Elaboración de código. 3.3. Programación estructurada.
Programación Básica 2020-2
3
CICLO DE VIDA DE UN PROGRAMA
Al igual que en la resolución de problemas, existen
ciertos pasos que debemos seguir para la creación de
programas, estos son:
Análisis del problema
Elaborar el Algoritmo
Codificación del algoritmo
Depuración de código
Mantenimiento de programa
Programación Básica 2020-2
4
Programación Estructurada Algoritmo Programa Traducción del Algoritmo a un Lenguaje de Programación. Programa Estructuras de Datos, Operaciones
Primitivas y Estructuras de Control.
Estructura Representación concreta del estado de
una entidad.
Estructura de Datos Métodos que se emplean en
programación para organizar y representar la
información en una computadora.
Programación Básica 2020-2
5
Estructuras de Control La estructura de un
programa, definida por referencias con las cuales se
representan las transferencias de control.
Construcciones mediante las que se escriben los
programas.
Operaciones Primitivas Acciones que se ejecutan
sobre los datos para transformarlos en información.
Programación Básica 2020-2
6
Codificación del algoritmo
Después de tener el algoritmo, el siguiente paso es
codificarlo en el lenguaje que seleccionamos, para este
caso en específico es “FORTRAN”.
Programación Básica 2020-2
7
FORTRAN
Diseñado por John Backus, para IBM en 1953.
Lenguaje de programación para en el cómputo científico.
El nombre FORTRAN proviene de “FORmula TRANslator”
(traductor de fórmulas).
En 1990 se presentó un tercer estándar ANSI conocido
como FORTRAN 90, que contiene nuevas características
y permite una programación más estructurada. Una serie
de cambios menores se presentaron en 1995 (FORTRAN
Programación Básica 2020-2
8
95), y actualmente se trabaja en un nuevo estándar ANSI
(FORTRAN 2003).
Por lo que Fortran 90/95 cambio significativamente
después de 20 años del Lenguaje.
Fortran fue el primer lenguaje llamado “de alto nivel”.
Los programas en FORTRAN se escriben en un editor de texto cualquiera, por ejemplo vi en Linux, bloc de notas en Windows. Nuestro programa fuente almacenado, ahora es el archivo fuente “programa1.f90”, no es todavía un
Programación Básica 2020-2
9
programa que la computadora pueda entender directamente, ya que las computadoras solo entienden lenguajes de máquina, donde las instrucciones se expresan en términos de los dígitos binarios 0 y 1. El programa fuente debe ser traducido a instrucciones de bajo nivel para que la computadora pueda ejecutarlo. Esto se realiza con ayuda de un programa especial conocido como compilador. Así pues, el compilador toma el código fuente del programa y origina un programa ejecutable que la computadora puede entender directamente. Este proceso es denominado
Programación Básica 2020-2
10
compilación. En Linux el compilador de Fortran es llamado gfortran.
La manera estándar de compilar un programa en FORTRAN en Linux, es abrir una terminal, ir al directorio que contiene el programa y escribir:
Programa
fuente
Programa
objeto
Programa
ejecutable
Programación Básica 2020-2
11
gfortran programa1.f90 Al compilar el programa se obtiene un ejecutable que tiene por default el nombre:
a.out
Esto puede cambiarse haciendo:
gfortran programa1.f90 -o programa1
La opción -o le dice al compilador que el ejecutable debe llamarse “programa1”. Para ejecutar el programa se escribe simplemente:
Programación Básica 2020-2
12
./programa1 donde se usa ./ para indicar a Linux que debe buscar el ejecutable en el directorio local. Investigar –wall para el proceso de compilar
Programación Básica 2020-2
13
Elementos Básicos de un programa.
Nombre del programa
Declaraciones de variables utilizadas en el programa
Cuerpo del programa Comandos a ejecutar en el código.
El programa siempre debe terminar con el comando END.
Subprogramas. El cuerpo del programa puede llamar a subprogramas que realicen tareas específicas.
Programación Básica 2020-2
14
Propiedades de la estructura de un comando en
FORTRAN 90:
Los comandos se escriben en líneas de no más de 132 caracteres (aunque algunos compiladores aceptan líneas más largas).
Espacios en blanco al principio de una línea se ignoran. Esto ayuda a mejorar visualmente la estructura del programa.
Un signo & al final de una línea indica que el comando continua en la línea siguiente.
Todo lo que siga de un signo ! se considera un comentario y es ignorado por el compilador.
Programación Básica 2020-2
15
Es posible poner varios comandos en una línea separándolos con punto y coma.
FORTRAN no distingue entre mayúsculas y minúsculas en un programa.
Programación Básica 2020-2
16
Estructura de un programa en Fortran con comentarios.
Ejem1. PROGRAM prueba1 ! Este programa es una prueba de la estructura en Fortran END PROGRAM prueba1 !Nombre de archivo: prueba1.f90 ! Compilado: gfortran prueba1.f90 -o prueba1 ! Ejecutado: ./prueba1
Programación Básica 2020-2
17
Salida de datos –Texto- WRITE(*,*)'Texto a mostrar en pantalla' Ejem2. PROGRAM prueba2 ! Este programa es una prueba para mostrar texto WRITE(*,*) WRITE(*,*) 'Programación Básica ' WRITE(*,*) END PROGRAM prueba2 ! Nombre de archivo: prueba2.f90 ! Compilado: gfortran prueba2.f90 -o prueba2 ! Ejecutado: ./prueba2
Programación Básica 2020-2
18
Tipos de datos
Numéricos No numéricos
INTEGER
REAL DOUBLE
CHARACTER
LOGICAL
Investigar el rango de datos para todos los tipos datos
Programación Básica 2020-2
19
Investigar tipos de datos: COMPLEX, SHORT, LONG, QUADRUPLE. La variables que inician en letras i, j, k, l, m, n se asumen
enteras así que las demás serian reales.
Para quitar esa asignación
Se agrega IMPLICIT NONE
Para agregar variables constantes –valores fijos-
Se agrega PARAMETER
Programación Básica 2020-2
20
Las variables siempre comienzan con una letra, pueden
contener números y el símbolo “_ “, y deberán tener
máximo 31 caracteres.
Programación Básica 2020-2
21
Operadores aritméticos
OPERADOR OPERACIÓN () Paréntesis ** Potencia * Multiplicación / División + Suma - Resta
Recuerden las jerarquías de los operadores aritméticos.
Programación Básica 2020-2
22
Asignaciones
variableSuma= expresión_aritmética
Si la longitud de la variable es menor que de la
expresión, el valor de la expresión se trunca por la
derecha para adecuarse a la longitud de la variable.
Si la variable es mayor en longitud el valor de la
expresión se llena con espacios en blancos hasta
completar la longitud.
Investigar conversión de tipos de datos para Fortran.
Programación Básica 2020-2
23
Salida de datos –Contenido de Variables- WRITE(*,*) v1, v2, vX Ejem3.
PROGRAM serie1 IMPLICIT NONE REAL:: C WRITE (*,*) 'Programa que suma dos constantes' C=5+8 WRITE (*,*) 'EL RESULTADO DE LA SUMA ES: ', C STOP 'Fin de Programa' END PROGRAM serie1 ! Nombre de archivo: serie1.f90 ! Compilado: gfortran serie1.f90 -o serie1 ! Ejecutado: ./serie1
Programación Básica 2020-2
24
Entrada de datos READ *, variable1, variableN Ejem4. PROGRAM serie2
IMPLICIT NONE
REAL::A, B, C
WRITE (*,*)
WRITE (*,*) 'Programa que suma dos variables'
WRITE (*,*)
WRITE (*,*) 'INGRESA DOS VALORES, GRACIAS'
Programación Básica 2020-2
25
READ *, A, B
C=A+B
WRITE (*,*) 'EL RESULTADO DE LA SUMA ES: ', C
WRITE (*,*)
STOP 'Fin de Programa'
END PROGRAM serie2
! Nombre de archivo: serie2.f90
! Compilado: gfortran serie2.f90 -o serie2
! Ejecutado: ./serie2
Programación Básica 2020-2
26
PROGRAM prueba3
IMPLICIT NONE
INTEGER::A,B,C
REAL::X,Y,Z,M
A=1
B=2
C=A+B
X=A-B
y=A*B
Programación Básica 2020-2
27
Z=A/B
M=B**10
WRITE(*,*)'A=',A
WRITE(*,*)'B=',B
WRITE(*,*)'C=',C
WRITE(*,*)'X=',X
WRITE(*,*)'Y=',Y
WRITE(*,*)'Z=',Z
WRITE(*,*)'M=',M
Programación Básica 2020-2
28
END PROGRAM
ROGRAM prueba4
IMPLICIT NONE
REAL::X,Y,Z,M,A,B,C
WRITE(*,*)'INGRESE A:'
READ*,A
WRITE(*,*)'INGRESE B:'
READ*,B
Programación Básica 2020-2
29
C=A+B
X=A-B
y=A*B
Z=A/B
M=B**10
WRITE(*,*)'A=',A
WRITE(*,*)'B=',B
WRITE(*,*)'C=',C
WRITE(*,*)'X=',X