Introducción a programación

Pasos para la creación de un programa

Dependiendo del entorno de trabajo y de las herramientas de desarrollo que se esten utilizando para la generación de programas, algunos de los pasos anteriores pueden quedar ocultos a la vista del desarrollador.


Entorno básico

Utilizaremos un entorno simple de programación.

        También se puede hacer
                                                        g77 --help | less

 

Variables

En lenguajes de bajo nivel de abstracción, los datos y su manipulación involucra la interacción directa con el hardware, lo que hace a su manejo muy tedioso.

Los lenguajes de alto nivel, implementan una abstracción que facilita la manipulación de datos: la variable.

Esta abstracción define una relación entre un nombre simbólico y una porción de memoria

VARIABLE $\Leftrightarrow$ Cantidad de memoria asociada

La manipulación del nombre de una variable involucra la manipulación de los datos almacenados en su memoria asociada.

Debido a que en la resolución de problemas nos encontramos con distintos tipos de datos (valores enteros, reales, palabras, caracteres, etc.), los lenguajes de programación soportan distintos tipos de variables.

En la tabla que sigue se presentan los principales tipos de variables que soporta el lenguaje FORTRAN, como asi también la cantidad de memoria asociada a cada tipo (La cantidad de memoria asociada depende de la plataforma que se utilice)

Tipo de variable Memoria asociada en bytes Memoria en bits
character 1 8
integer 8 64
real 4,8 32,64
complex 4 128
logical 1 8



Operaciones con variables. Precedencia 


Al igual que en la matemática, en el cálculo numérico hay que respetar el orden en que se efectúan las operaciones. Más aún, es importante ser muy cuidadoso con el tipo de variables que se está utilizando. Veamos el siguiente ejemplo (segundo.f):

      program cent2fahr

c ....Este programa convierte la temperatura
c ....de centigrados a fahrenheit
      implicit none
c
c.....declaro las variables
c
      real tc,tf
c
c.....pregunto la temperatura en centígrados
c
      print*,"Cual es la temperatura en centígrados?"
      read *,tc

c.....Convertimos a fahrenheit

      tf = 9/5*tc+32

c.....Imprimo el resultado

      print*,tc," C = ",tf," F"


      end

Sabemos que la temperatura de ebullición del agua en CNPT es de 100 C=212 F. Cuál es el resultado que obtiene? Está bien? Qué está pasando?

Este es un ejemplo de un error muy común que lleva a innumerables horas de trabajo. Cuando la computadora realiza la conversión a Fahrenheit, primero divide 9 por 5. Cada una de estos números es representado como un número entero, y la división '/' que realiza es entera. Entonces: 9/5=1....

Esto es así porque el procesador realiza las operaciones de izquierda a derecha. Probemos

tf = 9*tc/5+32

Aquí la primer operación que se realiza es el producto de un entero (9) por una variable real. En este caso, el número 9 es promovido a tipo real, y luego se realiza el producto. Para forzar al procesador a realizar esta promoción, podemos escribir

tf = 9/5.0*tc+32

Para promover a tipo real*8, ponemos 5d0.

Ejercicios



IC