miércoles, 22 de septiembre de 2010

Recursividad Fibonacci en C

Materia: Laboratorio de Lenguajes de Programación Semana #5
Tarea Semanal

Recursividad

La Recursividad se presenta en la programación cuando queremos que en algún código que tengamos, se llame a una función desde esta misma.

Un buen ejemplo de esto es la serie Fibonacci. Esta serie consiste en esto:

0, 11235813,  21, 34...

Comienza con el 0 y el 1, el siguiente número se genera con la suma de los dos anteriores, en este caso sería: 0+1=1, el siguiente número se genera con la suma de los dos números anteriores, 1+1=2, el siguiente es: 1+2=3, 2+3=5, 3+5=8, 5+8=13, etc.

Ahora empezaremos un programa de la serie Fibonacci en C.

Paso 1 Abrimos el Terminal de Ubuntu. Una vez abierto abrimos emacs. Tecleamos emacs fibonacci.c (emacs seguido de un espacio y el nombre que le queremos poner al programa con  la extensión .c el cual es sobre C.



Paso 2 Ya que estamos en emacs, comenzamos a escrbir nuestro programa. Lo primero que pondremos es las bibliotecas que usamos. En este caso es #include en otro renglón escribimos int main (void) Después abrimos una llave para comenzar todo nuestro código del programa.




Paso 3 Declaramos las variables que usaremos. Pueden ser con el nombre que queramos, en este caso yo usé las siguientes: n, x=0, y=1, i, z donde n es el número que el usuario ingresará, éste será la cantidad de números que se quiere de la serie Fibonacci. x=0 es el primer número de la serie, y=1 es el segundo número de la serie, la i es para nuestro ciclo for, y la z es el nuevo valor que se generará con la suma de los dos números anteriores (x + y)




Paso 4 Empezamos a poner los print de lo que queremos que aparezca en pantalla. En esto pedimos la cantidad de número que se quieren de la serie y también se imprimen los primeros dos dígitos de la serie, el 0 y el 1.




Paso 5 Ahora iniciamos nuestro ciclo for. La i la iniciamos en 3, ya que es el tercer número (o posición) de la serie Fibonacci. Indicamos que la i sea menor o igual al número que vamos a ingresar, y que se incremente de uno en uno. La z será la suma de los dos números anteriores (x y y), después la x tomará el valor de y y la y tomará el valor de z. Después de todo esto imprimimos la variable z. Y por último ponemos un return 0.




Paso 6 Ya terminamos el programa. Ahora lo correremos en el Terminal. Damos autorización para correrlo. Escribimos gcc -o fibofibo -lm fibonacci.c para poder autorizarlo. Después escribimos ./fibofibo Una vez hecho esto, nos aparece el programa, y tecleamos la cantidad de número que queremos que aparezcan de la serie. En este caso yo puse 10.




Y eso es todo por esta entrada, espero les haya quedado claro. Si tienen dudas, comenten :)

Hasta luego.

miércoles, 1 de septiembre de 2010

Switch en Perl

Materia: Laboratorio de lenguajes de programación Semana #4
Tarea semanal.

Hola, en esta entrada les explicaré un programa que hice en Perl, en el cual utilizamos switch. El programa es sobre elegir entre sumas o restas, trata de algo sencillo, porque me gustaría enfocarme más en cómo elaborar el switch.


Paso 1. Hacemos lo de siempre, buscamos la localización de Perl en el Terminal. Escribimos "which perl", oprimimos Enter y nos aparece su ubicación. (Recordemos que esto lo hacemos para escribir su ubicación al principio de nuestro programa)



Paso 2. Tecleamos "emacs switchsuma.pl" emacs es el editor de texto donde escribiremos nuestro programa, y switchsuma.pl es el nombre que yo le pondré al programa. (La extensión .pl es por el lenguaje que estamos utilizando: Perl).



Paso 3. Oprimimos Enter y ya podemos comenzar a escribir nuestro código del programa.  Lo primero que haremos, es escribir la ubicación, anteponiendo #!, sería así: "#!/usr/bin/perl" Pasamos al siguiente renglón y escribimos: "use Switch;" esto lo ponemos para que el programa nos reconozca el uso del switch.



Paso 4. Declaramos nuestras variables. "my $var" esta será la que usaremos en nuestro switch; "my $num1" este será el primer número que escriba el usuario; "my $num2" este es el segundo número que escriba el usuario; "my $sum" será la suma de los dos número que se ingresen; "my $res" será la resta de los dos número que ingrese el usuario.



Paso 5. Ahora escribimos lo que queremos que se imprima en pantalla: "print "Este programa hace sumas o restas\n1- Suma\n2- Resta\n Oprima 1 para Sumas o 2 para Restas: ";"



Paso 6. En el siguiente renglón escribimos: "chomp($var=);" Esto es para que el número que ingrese el usuario, sea para la variable llamada $var.



Paso 7. Ahora ya comenzaremos a desarrollar nuestro switch. Escribimos lo siguiente:
    switch ($var) {
"   case 1 {
    print "Usted eligio Suma\n";
    print "Escriba el primer numero que quiera sumar: ";
    $num1=;
    print "Escriba el segundo numero que quiera sumar: ";
    $num2=;
    $sum=$num1+$num2;
    print "El resultado es: ", $sum;
"

Después de escribir el switch y declarar la variable a la cual le asignaremos el switch, abrimos una llave, ya que todo lo que pongamos después de esta, será parte del switch. Escribimos nuestro case 1 y también abrimos una llave, indicando que todo lo que esté dentro de esta, será parte de nuestro primer case.



Paso 8. Cerramos el case 1 con una llave, y empezamos nuestro segundo case.
"    }
    case 2 {
    print "Usted eligio Resta\n";
    print "Escriba el primer numero que quiera restar: ";
    $num1=;
    print "Escriba el segundo numero que quiera restar: ";
    $num2=
;
    $res=$num1-$num2;
    print "El resultado es: ",$res;
    } 
"


Es el mismo procedimiento que en el primer case



Paso 9. Después de eso, escribimos lo siguiente:
" else {
    print "No esta esa opcion\n";
    }
}

print "\nFin del programa, adios\n"; 
"

else es para cuando el usuario oprima un número que no sea 1 o 2, es decir, que el número no sea ninguno de nuestros case; y en ese caso, se imprimirá en pantalla un mensaje diciéndole que esa opción no está disponible. Y también se coloca entre llaves { }

Por último, cerramos la llave indicando que ahí termina todo nuestro switch. Y escribimos lo que queremos que imprima en pantalla después de que el usuario haya terminado de usar el programa.




Paso 10. Ya que tenemos terminado el programa, lo probaremos. Regresamos al Terminal y damos autorización para ejecutarlo: "chmod u+x ./switchsuma.pl" y después llamamos al programa para ejecutarlo: "./switchsuma.pl"




Paso 11. Nos despliega el inicio del programa, donde nos da a elegir qué queremos, si sumar, o restar dos números. Primero elegiré Suma. (Oprimir 1)



Paso 12. Escribiré los números 10 y 15, para que el programa los sume.



El resultado es 25.

Paso 13. Ejecutamos de nuevo el programa para probar las restas. Yo escribiré los números 30 y 20.



El resultado es 10.

Y aquí termina esta entrada, espero que les haya ayudado para saber cómo usar switch en Perl.

Si tienen algo que decir, no duden en comentar.

Hasta luego.

Fuentes: http://perldoc.perl.org/Switch.html

Por último quiero agradecer a mi compañera Cecilia quien me pasó la página para poder saber utilizar el switch en el lenguaje Perl :)