Mostrando entradas con la etiqueta Perl. Mostrar todas las entradas
Mostrando entradas con la etiqueta Perl. Mostrar todas las entradas

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/

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 :)

martes, 31 de agosto de 2010

Tabla multiplicar en Perl

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

Hola, en esta entrada me gustaría explicar un programa que hice en Perl sobre tablas de multiplicar, trata de lo mismo que el que hice en Python (esta entrada) pero ahora en el lenguaje Perl con unas cuantas modificaciones. Y así poder apreciar la diferencia entre estos dos lenguajes. 

Paso 1. Abrimos el Terminal y pedimos la ubicación de Perl con "which perl" 





Paso 2. Nos vamos a emacs "emacs mult.pl" en este caso yo nombré al programa mult.pl (el .pl es por el lenguaje Perl)




Paso 3. Damos Enter y comenzamos a escribir nuestro programa. Primero escribimos la ubicación "#!/usr/bin/perl"  Declaramos variables, en este caso yo usaré dos: "my $i=1" "my $n" la $i será parte del ciclo while, el cual tomará los valores desde el 1 hasta el 10; y $n el cual será el número que ingrese el usuario al inicio del programa.




Paso 4. Escribimos lo que queremos que se imprima en pantalla. "print "\t Escribe el numero de la tabla que deseas obtener: ";"  (el \t significa una tabulación)




Paso 5.  Ponemos "$n=;" para que el dato que ingrese el usuario, sea para la variable $n




Paso 6. Escribimos "chomp ($n);"  y en el siguiente renglón lo siguiente: "print "La tabla de multiplicar del ",$n," es:\n"; " El chomp ($n) significa que elimina el salto de línea que se genera en el siguiente print.



Paso 7. Ahora comenzaremos nuestro ciclo while el cual comenzará desde el 1 hasta el 10. "while ($i<=10)" aquí no va el ;
En el siguiente renglón abrimos una llave { para dar comienzo a nuestro ciclo. Escribimos
"{chomp ($n);
print $n," X ", $i ," = ", $i*$n ,"\n";
$i++;
}"

El chomp ($n) es para eliminar el salto de línea generado en el print del siguiente renglón (como dijimos más arriba en esta misma entrada) Observemos que cuando queremos que se impriman las variables en pantalla las ponemos entre comas , excepto si van al inicio, en ese caso sólo se coloca la coma , al final, es decir, antes de que comiencen las comillas del print. Como lo hicimos en   print $n," X ", $i ," = ", $i*$n ,"\n";



Paso 8. Ahora que ya terminamos nuestro programa, lo vamos a probar. Nos regresamos al Terminal, damos autorización para ejecutar "chmod u+x ./mult.pl" y lo ejecutamos "./mult.pl"



Paso 9. Oprimimos Enter y nos aparece el programa que acabamos de hacer.




Paso 10. Nos pide un número del cual queremos la tabla de multiplicar, yo pondré el 6.



Y nos despliega toda la tabla de dicho número.

Aquí termina esta entrada, espero que les haya ayudado para conocer un poco más el lenguaje Perl.

Hasta luego.

Fuentes: http://decsai.ugr.es/~fjgc/perl/index2.htm

Elevar al cubo en Perl

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




Hola. En esta entrada explicaré un programa que hice en Perl. El programa consiste en elevar al cubo un número que se ingresa por el usuario; se pueden ingresar los números que nosotros queramos, y al oprimir la tecla 0 (cero) nuestro programa termina.

Es decir, emplearemos el while. Una de las ventajas del while es que le da un poco más de libertad al usuario de usar el programa, y terminarlo hasta que él quiera hacerlo.

Paso 1. Lo primero que hacemos es localizar el lenguaje de programación que usaremos, en este caso Perl. Una vez abierto el terminal, escribimos "which perl", le damos Enter y nos aparecerá su localización.



Paso 2. Ya que lo tenemos localizado, empezaremos con nuestro programa. Escribimos en la terminal: emacs seguido de un espacio y el nombre que le queremos poner al programa. En este caso yo le pondré "cubo.pl" (Recordemos que .pl es la extensión del lenguaje que estamos utilizando: Perl)



Paso 3. Empezamos a escribir nuestro programa. Primero escribimos la licalización, en mi caso teclearé: "#!/usr/bin/perl" (escribimos #! antes de su ubicación).

Enseguida de eso declaramos nuestras variables. En este programa solo serán dos, y yo las llamaré "numero" y "resultado" en el que numero será el dato que introduzca el usuario, y resultado será el número ya elevado al cubo. (Las variables que declaremos, tienen que tener my y el signo $ antes de la palabra) Es decir: "my $numero" "my $resultado" Y al finalizar la línea, escribimos ; (punto y coma).



Paso 4. Ahora escribimos lo que queremos que se imprima en la pantalla para que lo lea el usuario. "print "Escribe el numero que quieres elevar al cubo (Para terminar el programa oprima 0 (cero): ";



Paso 5. Tecleamos "$numero=;" lo cual indica que el dato que ingrese el usuario, se irá a la variable $numero.



Paso 6. Después de eso, empezamos nuestro ciclo while el cual se efectuará hasta que se oprima el 0 (cero). Entonces escribimos "while ($numero!=0)" esto quiere decir que todo lo que se encuentre entre llaves después de esto, se hará mientras el número que ingresemos sea diferente de cero.

Nota: En la línea donde ponemos "while ($numero!=0)" no escribimos ; (punto y coma).




Paso 7. En el siguiente renglón ya empezamos a escribir lo que corresponde al ciclo while entre llaves {} Todo lo que irá entre llaves, será esto:
"{$resultado= $numero ** 3;
print "El resultado es: ", $resultado, "\n";
print "Escriba el numero del cual quieres elevar al cubo: ";
$numero=;
}"


El ** indica potencia. Si queremos que se eleve al cuadrado, escribiríamos "$numero ** 2" el número nos indica cuántas veces ese número se multiplicará por sí mismo.




Nota: Observemos que cuando queremos imprimir una variable, se interrumpe el print (las comillas), enseguida se coloca una coma, después el nombre de la variable, después se coloca otra coma, se abren las comillas y se continúa con el print. Como en este renglón:  print "El resultado es: ",$resultado, "\n";

Paso 8. Y ya terminamos de escribir nuestro programa, ahora veamos cómo funciona. Regresamos al Terminal y autorizamos la ejecución del programa con "chmod u+x ./cubo.pl"



Paso 9. Escribimos "./cubo.pl" para ver el programa.



Paso 10. Nos pide que ingresemos cualquier número del cual queramos su cubo. Yo escribiré el número 3



Paso 11. Vemos que nos arroja de resultado el número 27, ya que es el cubo del número 3 (3 x 3 x 3) y también nos sigue pidiendo un número para elevar de nuevo al cubo. Esto lo seguirá haciendo hasta que nosotros oprimamos el 0 (cero).



Paso 12. Ponemos el número 5, y nos da su cubo.



Paso 13. Como yo ya quiero que termine el programa, oprimiré el 0 (cero).



Y ahí termina nuestro programa. Es todo por esta entrada, espero que les haya servido esta información. No duden en comentar.

Hasta luego.

Fuentes: http://decsai.ugr.es/~fjgc/perl/index2.htm

martes, 24 de agosto de 2010

Suma, resta y multiplicación en Perl.

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

Hola. En esta entrada explicaré un programa que hice en el lenguaje de programación Perl.

El programa consiste en ingresar tu nombre, dos números y te arrojará la suma, resta, y multiplicación de ellos.

Lo primero que tenemos que hacer es abrir la Terminal por el procedimiento explicado en entradas anteriores. Una vez abierta la Terminal verificamos dónde se encuentra el lenguaje Perl.

Escribimos en la terminal "which perl" le damos Enter y nos aparecerá dónde se encuentra.



Ahora empezaremos nuestro programa. Escribimos en la Terminal "emacs" seguido del nombre que le queremos poner, en este caso yo lo llamaré "programa1.pl" (el .pl es la extensión del lenguaje que estamos utilizando Perl)



Una vez dentro del editor de texto comenzaremos a escribir el código de nuestro programa. Lo primero que escribimos es "#!/usr/bin/perl"



En este lenguaje los nombres de las variables que utilicemos siempre van después del signo $, por ejemplo, si queremos una variable llamada "nombre" escribimos "$nombre". No es necesario declarar de qué tipo es cada variable escalar (entero, real, etc.)

Nota: Para declarar variables se usa la clave "my" pero no es necesario.

En este caso las variables yo las llamé  "numuno, numdos, nombre, suma, resta, mult"

- Al término de cada línea debe haber ;  (punto y coma)
- Lo que queramos imprimir en pantalla se escribe: print "   " y entre comillas lo que queremos que aparezca.
- Cuando pedimos ingresar algún dato, se debe poner el print "  " y en el siguiente renglón el nombre de la variable seguida de un signo de igual y por último (Standar Input), por ejemplo: $nombre=;
- \t Permite tabular horizontalmente.
- \n Permite un salto de línea.



Nota: La función chom( ) nos sirve para eliminar la terminación de la línea.


Después de haber hecho el programa, lo guardamos y nos regresamos a la Terminal (Para guardar es Ctrl-x Ctrl-s y para regresarnos a la Terminal es Ctrl-z)



Ahora damos autorización de ejecutarlo escribiendo "chmod u+x programa1.pl" damos Enter.



Escribimos "./programa1.pl" para que nos lo ejecute. Damos Enter



Podemos ver que ahora tenemos el inicio del programa, el cual dice "Suma, resta y multiplicación de dos números. Introduce tu nombre: "



Tecleamos nuestro nombre. Después escribimos el primer valor, luego el segundo y nos aparecerán la suma, resta y multiplicación de esos números.



Y al final del programa podemos ver que se nos agradece su uso. :P


Es todo por esta entrada. Si tienen alguna duda, pueden comentar si gustan.

Hasta luego.

*Todavía falta un programa el cual subiré en otra entrada.



Fuentes:
http://www.osmosislatina.com/lenguajes/perl/basico.htm

http://perlenespanol.com/tutoriales/funciones/funciones_de_cadena.html

http://perlmeme.org/howtos/perlfunc/chomp_function.html