sábado, 20 de noviembre de 2010

Raíz cuadrada en Fortran

Materia: Laboratorio de Lenguajes de Programación   Semana #15
Tarea extra

Hola. En esta entrada les hablaré sobre el lenguaje de programación Fortran. El programa que haré tratará sobre obtener la raíz cuadrada de un número.

Paso 1: Abrimos el Terminal, instalamos Fortran (escribiendo "gfortran" en el Terminal y eligiendo el paquete que nos aparece) Ya instalado, escribimos: emacs raizcuadrada.f "emacs" es por el editor de texto, "raizcuadrada" es el nombre del archivo que haremos, y ".f" es la extensión que le pertenece a este lenguaje.




Paso 2: Ya que tenemos abierto el emacs, comenzaremos a escribir nuestro programa. Lo primero que escribimos es: PROGRAM raizcuadrada es decir, PROGRAM seguido del nombre del programa que le pusimos a nuestro archivo.




Paso 3: En la siguiente línea declaramos nuestras variables así: REAL R, N aquí declaramos que nuestras variables serán cualquier número real, "R" es el número que ingresará el usuario al inicio, y "N" es la raíz cuadrada de dicho número.




Paso 4: Ahora escribimos:  PRINT *, 'Escriba un numero del cual quiera su raiz cuadrada: ' PRINT *, quiere decir que lo que está entre comillas simples se imprimirá en pantalla.




Paso 5: Para que nuestro programa pueda leer el dato que se está ingresando escribimos:       READ (*,*) R




Paso 6:       N = SQRT(R)
                    WRITE (*,*) 'La raiz cuadrada es: ', N
                    END
Ahora usamos la función para obtener la raíz cuadrada del número que ingresó el usuario, en este caso se pone entre paréntesis al lado de la función. Después "WRITE (*,*) " sirve para que se imprima una variable en la pantalla, separado por una coma del texto, y por último "END" indicando que termina el programa.

Nota: Hay que notar la diferencia entre "WRITE" y "PRINT" PRINT es para imprimir solamente texto en pantalla, y WRITE es para imprimir texto además de imprimir una variable.




Paso 7: Guardamos nuestro código con Ctrl-x Ctrl-s y nos vamos al terminal para compilarlo con gfortran raizcuadrada.f y ejecutarlo con ./a.out 
Escribimos el número 49 para probar el programa, y vemos que el resultado que arroja es 7.




Eso es todo por esta entrada, espero que les haya servido para conocer un poco el lenguaje Fortran. Si tienen algo que decir no duden en comentar.


Fuentes: http://www.mesoscale.iastate.edu/agron505/fortran.htm


Quiero agradecer a Cecilia Urbina por haberme ayudado a saber cómo compilar y cómo ejecutar el lenguaje Fortran. Muchas gracias, Cecy :)

También quiero comentar que esta es la última entrada que haré para el Laboratorio de Lenguajes de Programación, ya que este Lunes termina nuestro semestre respecto a laboratorios. Me gustó mucho haber cursado el laboratorio con la Doctora Elisa Schaeffer a pesar de que al principio yo no estaba inscrita en esa materia, pero por cuestiones técnicas me cambiaron un poco el horario. Siento que he aprendido mucho en este curso, sobretodo aprendí a que si uno realmente quiere las cosas, las obtiene, sólo hay que esforzarse.

Aunque se termine el curso, seguiré subiendo cosas al blog relacionadas con la programación.

Hasta luego.

5 comentarios:

  1. Modifiqué el nombre de la entrada, es por eso que el enlace no concuerda. Disculpen.

    ResponderEliminar
    Respuestas
    1. Buenos días una pregunta, quiero que Fortran me calcule la raíz cuadrada de los primeros 100 números enteros uno por uno. Me puedes ayudar? Se que es con DO i= 0,100,1
      R = sqrt(i)
      Write(*,*) ' la raíz es ',R
      Pero lo demás no se como incorporar el IF ....
      Gracias de antemano

      Eliminar
  2. Muy bien Dani. Otros seis puntos.

    Unos alumnos me han pedido dar un "invierno de progra" en diciembre/enero, aunque no va a ser por crédito. Todos ustedes y sus compañeros interesados están igualmente bienvenidos; basta con ponerme un correo para que les incluya en la lista.

    Los que piden el curso quieren llevar "programación avanzada", pero al tener el grupo todos juntos veremos qué tan avanzados están preparados a ser ;)

    ResponderEliminar