30
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.

CODIFICACIÓN DE ALGORITMOS Objetivo

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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

Programación Básica 2020-2

30

WRITE(*,*)'Y=',Y

WRITE(*,*)'Z=',Z

WRITE(*,*)'M=',M

END PROGRAM