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.

domingo, 14 de noviembre de 2010

Java

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

Hola, en esta entrada les hablaré sobre el lenguaje de programación Java. De este no he hablado en el blog, y me gustaría dedicarle algunas entradas para que todos sepamos utilizarlo.



Estuve investigando un poco y encontré unas cosas sobre cómo surgió Java. Fue inventado cuando se quería diseñar un lenguaje de programación nuevo para electrodomésticos. Y ya que había muchos tipos distinos de computadoras, se quería conseguir una herramienta que se pudiera usar en cualquier electrodoméstico, esto hizo que el lema principal fuera "Write once, run everywhere", el cual nos da a entender que sólo se escribe una vez, pero se puede ejecutar en cualquier lugar, sin necesidad de adecuarse a cada máquina.


La programación en Java es un poco más difícil comparada con lenguajes que ya hemos visto anteriormente, ya que en programas simples como una suma, se incluyen términos extraños para muchos de nosotros. Es por eso que dedicaré esta entrada a tratar de explicar la sintaxis utilizada en un programa de sumas.

Paso 1: Aquí no necesitamos la localización que siempre buscamos en la Terminal. Abrimos el terminal y escribimos: emacs suma.java "emacs" es el editor de texto que utilizaremos, "suma" es el nombre del programa, y al mismo tiempo la clase que debe tener, ".java" es la extensión que le pertenece al lenguaje de programación Java.




Paso 2: Oprimimos Enter y nos abre el emacs. Escribimos: import java.util.Scanner; el cual nos permite introducir texto y que Java lo pueda leer.

*Nota: Todas las líneas de código deben terminar con ;



Paso 3: Escribimos class suma{ (teniendo la clase el mismo nombre que el archivo) y se abre una llave




Paso 4: Ahora tecleamos: public static void main(String args[]){ que viene siendo el método main.



Paso 5: Ponemos en otra línea de código: Scanner daniela = new Scanner(System.in); nos indica que se introducirá un dato. En esta línea, lo que puede cambiar de programa a programa es lo resaltado en rojo, es decir, lo que dice: "daniela", ya que ese sólo es el nombre que yo le asigné, también se trata de que no sea el mismo nombre de la clase, ya que podría generar confusión a la hora de que alguien más quiera leer nuestro código.



Paso 6: Escribimos:
    double num1, num2, sum;
    System.out.println("Escribe el primer numero: ");
en el primer renglón se declaran las variables (separadas por comas) que usaremos en el programa, en este caso se declaran como dobles, "num1" es el primer número que se introduzca, "num2" es el segundo, y "sum" es la suma de esos dos números. En el siguiente renglón, el "System.out.println" nos indica que se mostrará en pantalla lo indicado entre paréntesis, en este caso: "Escribe el primer numero: "



Paso 7: Ahora ponemos: num1 = daniela.nextDouble(); esta línea asigna el número introducido a la variable "num1"




Paso 8:
    System.out.println("Escribe el segundo numero: ");
    num2 = daniela.nextDouble();
  Estas dos líneas hacen lo mismo que las anteriores, sólo que la variable a la que se le asigna es distinta, en este caso es "num2"




Paso 9: Ahora indicamos la operación que se hace: sum = num1 + num2;




Paso 10: System.out.println(sum);
    }
}

Esta es la última parte de nuestro código, que viene siendo la impresión en la pantalla del resultado de la suma. Entre paréntesis ponemos la variable que queremos que se imprima, en este caso, "num1 + num2", es decir, "sum"




Paso 11: Guardamos nuestro código con la secuencia: Ctrl-x Ctrl-s y nos vamos al Terminal. Ya que este lenguaje de programación es compilado escribiremos lo siguiente: javac suma.java esto nos permite compilar el programa. Si existe algún error en el código, nos mostrará dónde está el error y cuál es, y si no hay ningún error, simplemente no aparecerá nada.
Para ejecutarlo, escribimos: java suma, es decir "java" seguido de un espacio y el nombre del archivo, en este caso es "suma"




Paso 12: Ahora oprimimos Enter y nos despliega el programa. Escribiré los números 30 y 25. Y el resultado es: 55



*Nota: El System.out.println (en específico "println") nos permite que lo siguiente que se escriba o que aparezca en pantalla estará un renglón abajo. Es decir, si hubiéramos puesto: "System.out.print" el dato que ingresamos estaría en el mismo renglón que "Escribe el primer numero: " y no abajo, como se alcanza a apreciar en la última captura de pantalla.

Espero que les haya servido esta entrada para conocer un poco el lenguaje de programación Java. Si tienen algo que decir, no duden en comentar.

Hasta luego.

Fuentes: (Imagen)  http://informaticapura.com/2010/10/26/herencia-en-java/
http://www.youtube.com/watch?v=ANuuSFY2BbY&feature=channel



Programación Orientada a Objetos (POO)

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

Hola, en esta entrada hablaré sobre la Programación Orientada a Objetos (POO) 




Esta, nos ayuda con técnicas a desarrollar aplicaciones, teniendo un amplio margen para hacerlos.

La POO no es un lenguaje de programación, más bien se puede aplicar a muchos lenguajes, como el C++, Python, etc.

Los lenguajes POO se pueden dividir en dos clasificaciones:
Puros: Son los lenguajes que trabajan solamente con clases.
Híbridos:  Son los lenguajes a los que se le añaden herramientas para trabajar con clases.

Es decir, los puros, son los lenguajes que salieron después de la POO, como Java (y a los que se le implementaron herramientas para serlo), y un híbrido podría ser Python, que surgió antes de esta.

Ahora veremos algunas definiciones para poder entender mejor la POO.

Objeto: "es una entidad que tiene un estado (cuya implementación esta oculta) y un conjunto definido de operaciones que operan sobre ese estado" (fuente de la cita al final de la entrada)

Clase:  "Es la representación de la estructura y comportamiento de un objeto, la clase es como un plano, y el objeto es el edificio, de esta forma se entiende que la Clase tiene definida todos los métodos y atributos que cualquier objeto tenga."

Herencia:  Las clases tienen una jerarquía donde una clase "hereda" las operaciones de clases superiores.


Estaba investigando un poco, y me encontré con un ejemplo que me pareció muy bueno, por eso lo cito aquí:

"Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2.
La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc."

Es todo por esta entrada, espero les haya servido, y si tienen algo que decir, no duden en comentar.

Hasta luego.

Fuentes:  
(Imagen 1 y texto, e imagen 2)
http://informaticapura.com/2010/03/31/tutorial-java-2-intro-opp/#more-649
http://srcmax.blogspot.com/2010/03/python.html

miércoles, 10 de noviembre de 2010

Segunda Ley de Newton en Perl

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

Hola. En esta entrada haré un programa en Perl que trata sobre la Segunda Ley de Newton. El usuario va a elegir entre un menú, ¿qué elemento de la fórmula: F=ma le falta? y ahí le pedirá los datos restantes para poder obtener lo que el usuario quiere.

Paso 1: Abrimos el terminal, escribimos which perl para saber la localización de Perl y escribirla al inicio de nuestra codificación.




Paso 2: Escribimos emacs formula1.pl "emacs" es el editor de texto que usaremos para escribir nuestro código, "formula1" es el nombre que le pondré al archivo que voy a crear, y ".pl" es la extensión que le pertenece a los archivos de Perl.





Paso 3: Ahora comenzaremos a escribir nuestro código en emacs. Iniciamos por escribir la ubicación que obtuvimos al principio: #!/usr/bin/perl agregando #! al comienzo.




Paso 4: En el siguiente renglón escribimos: use Switch; esto nos permite utilizar la función switch para nuestro programa.

*Nota: Todas las líneas de código deben terminar con ;




Paso 5: Ahora declaramos las variables, se escribe: my seguido de un espacio y el símbolo  $ y el nombre de la variable sin pasar un espacio. "menu" es la variable que introduce el usuario al elegir qué parte del menú quiere, "f" es fuerza, "m" es masa, y "a" es aceleración.

my $menu;
my $f;
my $m;
my $a;





Paso 6: Esta parte tendrá un encabezado y desplegará el menú de opciones que tiene. El \t significa pasar una tabulación, \n significa un salto de línea. El chomp($menu=); nos permite asignar el valor que se introduzca a la variable "menu"

print "\tSegunda Ley de Newton\nElige una de estas opciones de acuerdo al elelemento faltante:\n1- Fuerza\n2- Aceleracion\n3- Masa\n:";
chomp($menu=);





Paso 7: Aquí empezaremos nuestro switch: Asignamos la variable "menu" al switch (por eso lo ponemos entre paréntesis y al lado de switch) Se abre una llaver que englobará todo el switch con todos los case dentro. Vemos que nos pide los datos restantes de la fórmula y los multiplica: F=ma. Al final cerramos la llave que le pertenece al case 1.


switch($menu){
    case 1 {
    print "\nElemento faltante: Fuerza\nIntruduzca la masa: ";
    $m=;
    print "\nIntroduzca la aceleración: ";
    $a=;
    $f=($m*$a);
    print "\nLa fuerza es: ", $f;
    }





Paso 8: Lo siguiente es elaborar el case 2 que corresponde al dato faltante "Aceleracion" Como el elemento que nos falta es la aceleración, el programa ya tiene despejada la fórmula: a=F/m En este case, nos puden los datos como Fuerza y masa para obtener la aceleración.

case 2 {
    print "\nEl elemento faltante: Aceleracion\nIntroduzca la fuerza: ";
    $f=;
    print "\nIntroduzca la masa: ";
    $m=;
    $a=($f)/($m);
    print "\nLa aceleracion es: ", $a;
}


*Nota: En este lenguaje de programación no se necesita especificar si el dato que se introduce es flotante, entero, etc. 




Paso 9: Seguimos con el último case. Vemos que como el dato faltante es la masa, nos piden la fuerza y la aceleración para poder obtenerla: m=F/a


case 3 {
    print "\nEl elemento faltante: Masa\nIntroduzca la fuerza: ";
    $f=;
    print "\nIntroduzca la aceleracion: ";
    $a=;
    $m=($f)/($a);
    print "\nLa masa es: ", $m;
    }





Paso 10: Por último, escribimos la opción que, si el usuario escribe un número distinto a 1, 2 y 3, se despliegue que no exista dicha opción en el menú. Se escribe entre llaves, y la última llave cierra todo el switch.


    else {
    print "\nNo existe la opcion\n";
    }
}





Paso 11: Nos regresamos al Terminal y escribimos: chmod u+x formula1.pl que nos sirve para dar autorización de ejecución, y después escribimos: ./formula1.pl para que se ejecute en la Terminal.




Paso 12: Oprimimos Enter y se ejecutará automáticamente, probaré las tres opciones del menú con los mismo datos para comprobar que funcione bien. Fuerza= 70 N, masa= 1.4 kg y aceleración= 50 m/s



Esto es todo por esta entrada, espero que les haya servido de algo, y si tienen algo que decir, no duden en comentar.

Hasta luego.

*Nota: En la última imagen no se alcanza a apreciar el resultado de la masa, pero es 1.4.

Fuentes: http://perlenespanol.com/tutoriales/

Factorial en Python

Materia: Laboratorio de Lenguajes de Programación.  Semana # 14
Tarea semanal.

Hola. Estuve investigando para hacer el factorial en el lenguaje de Programación Python.

Nota: Recordemos que el "factorial" de un número, es multiplicar todos los números anteriores a él (incluyendo el número del cual queremos su factorial) excepto el cero. Por ejemplo: El factorial de 5 sería: 5x4x3x2x1= 120

Y me encontré con una función de la librería math que hace todo el trabajo por ti, es decir, sólo con el llamado a una función, se obtiene el factorial. En esta entrada explicaré cómo hacerlo.

Paso 1: Abrimos el Terminal, escribimos which python para saber la ubicación de Python para después ponerlo en el encabezado de nuestro código.




Paso 2: Escribimos emacs factorial1.py "emacs" es por el editor de texto que utilizaremos para escribir nuestro código, "factorial1" es el nombre que le puse al archivo (puede ser cualquiera que queramos) y ".py" es la extensión que le pertenece a Python.




Paso 3: Damos Enter y estando en emacs escribimos la ubicación que obtuvimos al principio #!/usr/bin/python




Paso 4: Escribimos import math que es la librería que tiene la función de factorial en este lenguaje.




Paso 5: Esta parte del código, en sí no tiene ninguna función, pero le añade una presentación al programa, que viene siendo como una "bienvenida" al usuario. print "\tFactorial"





Paso 6: En esta parte, el usuario introducirá la un número, para obtener su factorial: num=float(raw_input("Escriba el numero del cual quiere su factorial: "))




Paso 7: Por último, escribimos print math.factorial(num) donde nos imprimirá el resultado del factorial. El "math.factorial" es la función que nos ayuda a obtener el factorial sin la necesidad de hacer todos los procedimientos para sacarlo.





Paso 8: Guardamos nuestro archivo con Ctrl-x Ctrl-s Abrimos la Terminal y damos autorización para ejecutar con chmod u+x factorial1.py y ejecutamos con ./factorial1.py




Paso 9: Abrimos nuestro programa e introducimos el número 5 para probarlo, el resultado que obtenemos es 120.

Es decir, haría esta operación: 5x4x3x2x1

5x4= 20
20x3= 60
60x2= 120
120x1= 120




Esto es todo por esta entrada, espero que les haya servido, y si tienen algo que decir, no duden en comentar.


Hasta luego.


Fuentes: http://artehack.net/foro/python/uso-de-la-libreria-math-%28python%29/

jueves, 4 de noviembre de 2010

Librería Math en Python (Funciones trigonométricas)

Materia: Laboratorio de Lenguajes de Programación   Semana #14
Tarea semanal.

Hola. En esta entrada les seguiré hablando un poco sobre la librería Math en Python. Ahora veremos lo que corresponde a Funciones trigonométricas. Como seno, coseno, tangente, etc.

Paso 1: Abrimos el Terminal, escribimos which python para saber la localización de nuestro lenguaje en la computadora.




Paso 2: Escribimos emacs trigon1.py "emacs" es por el editor de texto que utilizaremos para hacer nuestro código, "trigon1" es el nombre del archivo, y ".py" es la extensión que le pertenece al lenguaje Python.




Paso 3: Ya abierto el emacs escribimos nuestro código: #!/usr/bin/python este encabezado lo deben tener todos nuestro programas hechos en un editor de texto, para que se pueda ubicar a la hora de correr el programa.




Paso 4: Ponemos import math que es la librería para poder utilizar las funciones matemáticas que necesitamos. En el siguiente renglón escribimos print "\tFunciones trigonometricas"




Paso 5: Tecleamos n=float(raw_input("Escribe el numero para convertir: ")) esta línea sirve para que el usuario introduzca el valor que quiere convertir a seno.




Paso 6: Por último escribimos: print math.sin(n) esta es la función que nos sirve para la conversión de la función trigonométrica. Lo guardamos con Ctrl-x Ctrl-s 





Paso 7: Nos vamos al terminal y damos autorización para la ejecución del programa: chmod u+x trigon1.py Después escribimos ./trigon1.py para que se ejecute.




Paso 8: Escribimos cualquier número para probar el programa y vemos que nos despliega el resultado que queremos.




Lo mismo podemos hacer con las demás funciones, sólo sería diferente esta parte:
print math.cos(n)  -  Para coseno

print math.tan(n)  -  Para tangente

print math.asin(n) -  Para arcoseno

print math.acos(n)  - Para arcocoseno

print math.atan(n)   - Para arcotangente

Es todo por esta entrada, espero que les haya servido, y si tienen alguna duda, coméntenlo en esta entrada.

Hasta luego

Fuente: http://artehack.net/foro/python/uso-de-la-libreria-math-%28python%29/