lunes, 30 de agosto de 2010

~Lenguajes de scripting

Semana 3
Materia: Lenguajes de Programación
Hora: Martes M1-M3

Hola a todos, este es mi reporte de la semana 3 acerca de los lenguajes de scripting.

Awk
Su nombre se debe a las primera letra del apellido de sus autores, Alfred Aho, Peter Weinberger y Brian Kernigha. Fue diseñado para procesar datos en texto, utiliza listas ordenadas por cadenas claves y expresiones.

Estructura de awk
  1. Parte inicial, se ejecuta sólo una vez al principio del programa.

    BEGIN { orden }
  2. Parte central, con el bloque de instrucciones que se ejecutan en el programa.

    /PATRÓN/ { instrucciones }
  3. Parte final, se efectua sólo una vez, al final del programa.

    END { orden }
 
Les dejo el link donde encontré la información por si les interesa.
Introduccion Awk
 
Un tutorial de awk para profundizar más sus conocimientos del lenguaje awk por si les interesa.


Ejemplos de Awk


Este programa te dice en que categoría estás, puede ser desnutrición, peso bajo, peso normal, sobrepeso moderado, obesidad y obesidad morbida. Para esto te pregunta tu índice de masa corporal (IMC). Para esto investigué la estructura del if y como poner variables en el programa.

#! /usr/bin/awk -f

BEGIN{
 print "Para calcular tu IMC usa la formula IMC=peso/estatura"
 print "Dime tu IMC"
     }
{
 print "Tu IMC es". $1;
 if($1<=16)
  print"Estas desnutrido";
 if($1>16 && $1<=20)
  print"Tu peso es bajo";
 if($1>20 && $1<=25)
  print"Tu peso es normal";
 if($1>25 && $1<=30)
  print"Tienes sobrepeso moderado";
 if($1>30 && $1<=35)
  print"Tienes obesidad";
 if($1>35)
  print"Tienes obesidad morbida";

 print "\nDime tu IMC";

}
END{
 print "Done"
    } 


Les explicaré cada línea, la línea de BEGIN como ya lo mencione, va al principio del programa para iniciar el primer bloque. Normalmente en ese bloque se inicializan las variables o se piden datos. Para imprimir lineas se usa la función print, en la línea que sigue se lee el IMC (índice de masa corporal) que sería el campo 1, o sea para referirse a el se utiliza $1. Empezamos el bloque de instrucciones primero imprime "Tu IMC es" y te imprime lo que leyó al iniciar el programa. Después hay un bloque de condiciones las cuáles se usan para determinar en que categoría te encuentras dependiendo tu IMC. Al final se abre el bloque END que se pone para finalizar el programa. En éste puedes imprimir los resultados o simplemente lo que quieres que aparezca al final del programa.

El programa tiene la siguiente salida:


Otro ejemplo que hice es un programa que te produce la tabla del número que tu escojas, imprimiendo las primeras 10 multiplicaciones de ese número. Para esto puse un for para que hiciera la multiplicación de ese número 10 veces incrementando en cada vuelta un número.

#! /usr/bin/awk -f

BEGIN{
 print "Dime el numero del que quieres la tabla"
     }
{
 print "La tabla del", $1, "es"
 for(i=1;i<=10;i++){
  print $1, "x",i,"="$1*i;
 }


}
END{
 print "Done"
    } 

La salida de este programa es la siguiente:



Shell

Shell es un intérprete de comandos, sirve principalmente para administrar el sistema operativo, hacer aplicaciones pudiendo interactuar con ellas y también sirve como entorno de programación. Los programas Shell no se necesitan compilar solo se ejecutan y para en el inicio del programa debes poner la ruta o path donde se encuentra el ejecutable.

Les dejo el link de donde saqué esta información y donde vienen ejemplos que puedes analizar para conocer más acerca de este lenguaje.
Introducción shell


Ejemplo de programa en shell Este programa tiene un menú de operaciones, pones dos números los que tu quieras para después elegir la operación que deseas y al final te imprime el resultado de la operación que escogiste. Para esto investigué la estructura del case y como se ponían las operaciones asi como las variables.
 
#! bin/sh 

echo "Dime el primer numero"
read x
echo "Dime el segundo numero"
read y

echo "Dime la operacion que deseas realizar"
echo "a Suma   b Resta    "
echo "c Multiplicacion  d Division "
read OPCION

case $OPCION in
 a|A)
 echo "La suma de $x + $y = $((x+y))";
 break;;
 b|B)
 echo "La diferencia de $x -$y = $((x-y))";
 break;;
 c|C)
 echo "El producto de $x x $y = $((x*y))";
 break;;
 d|D)
 echo "El resultado de $x/$y = $((x/y))";
 break;;
 8)echo "Dime una opcion valida";;
esac

Les explicaré las líneas del programa,la función echo se usa para imprimir en pantalla en este caso imprimirá "Dame el primer número" así como el segundo y con la función read te leerá lo que tu pongas con el teclado. Estos números serán guardados en sus variables respectivas "x" y "y". Después se despliega el menú donde hay opciones a Suma b Resta c Multiplicación y d División en este menú tu escojerás que operación deseas realizar para esto entran los cases, le puse que funcionara si ponías mayúscula o minúscula, por ejemplo si quieres suma y pones la letra "a" o "A" funcionará correctamente con cualquiera de las dos letras. Dependiendo de lo que hayas elegido te hace la operación correspondiente y te imprime el resultado. Aquí esta la ejecución de este programa.
Suma 

Resta
Multiplicación

División
Perl

Es un lenguaje de programación que fue diseñado por Larry Wall en 1987. Este lenguaje adquirió características del lenguaje C, Shell, AWK, entre otros. Perl esta formado por bloques como el lenguaje C y fue muy aceptado porque no tiene tantas limitaciones como los otros lenguajes script.

Les dejo el link de donde saqué la información por si les sirve de algo.


Ejemplo de lenguaje Perl
Este programa eleva un número que tu tecleas a la potencia que tu deseas ponerle. Para esto estuve investigando como se usa la potencia y también la forma en que se tiene que poner el for.

Explicaré algunas lineas del programa, te pide el número que deseas elevar que seria la base y lo lee del teclado, te pide también la potencia a la que lo deseas elevar y la lee del teclado también Entra el ciclo for desde 1 hasta la potencia que le diste para que vaya acumulando las multiplicaciones tantas veces sea el expontente. Al final se imprime el resultado de la potencia.
La salida de este programa es la siguiente.


 Bueno este es mi reporte de la semana 3 acerca de los lenguajes de scipting. Espero le hayan entendido y les haya servido. Saludos y si tienen algún comentario no duden en hacerlo.

1 comentario: