domingo, 12 de septiembre de 2010

Tarea 3 - Programas en Lenguaje Script

Aqui están los programas de tarea sobre los lenguajes script, realice estos programas en 3 lenguajes script , el primero en AWK, el segundo en SHELL de Linux , y el tercero en Python.

No fué resulto facil hacerlos , sobre todo el de shell que es muy estricto con respecto a la declaración de variables y algunas otras cosas.

Bueno aqui los expongo:



Programa 1 - (En AWK

Ejecución del programa


Para hacerlo ocupé un archivo de texto, aqui lo pongo como texto al final lo pondre como enlace por si lo quieren checar exactamente como lo tengo.

ENERO            50000
FEBRERO        54320
MARZO            60234
ABRIL              52345
MAYO              35634
JUNIO              40345
JULIO               34532
AGOSTO          70340
SEPTIEMBRE  45302
OCTUBRE        65304
NOVIEMBRE    88045
DICIEMBRE     45350

El codigo aqui está, es una imagen al final también pondre los codigos.




1.¿Que hace este programa?
Simplemente muestra los meses y las ventas que tuvo un negocio y al final muestra cual fue la venta total y cual fue el promedio de venta mensual de un negocio.

2.¿Como funciona el código? 
Primero se define una variable en el bloque begin, luego en el bloque del medio muestra los meses y las ventas y va sumando la segunda columna (las ventas) , y al final se muestran los resultados, y se hace un promedio al dividir la sumatoria entre "NR" . NR es el número de registros en el archivo de entrada es decír, cuantas filas tiene el archivo en total son 12, por lo cual dividide la suma entre 12 y saca el promedio.



Programa 2 (En Shell de Linux)
Ejecución del Programa


Código del Programa



1.¿Que hace el programa? 
El Usuario introduce 3 numeros, de esos tres numeros compara cual de los 3 es mayor, muestra la suma , la resta y la multiplicacion de los 3.Es un programa sencillo pero en este quiero demostrar algunas de las funciones de Shell.

2.¿Cómo funciona el programa?
Primero el programa pide al usuario 3 numeros usando read seguido de el nombre de la variable 3 veces para la variable NUMERO1, NUMERO2,NUMERO3 , después comprar NUMERO1 con NUMERO2 y NUMERO1 con NUMERO3, si se cumple la condicion entonces el numero mayor es NUMERO1, sino entonces se compara NUMERO2 con NUMERO3 si NUMERO2 es mayor entonces el numero mayor es NUMERO2, si no se cumple entonces NUMERO3 es el mayor, en este como se puede ver , se usa 2 if anidados, al final de eso muestra quien es mayor , luego hace una suma de los 3 numeros , luego una resta del primero numero introducido hasta el tercer número y luego hace una multiplicación y al final muestra los resultados.




Programa 3 ( En Python

Ejecución del Programa
Caso 1 - 3

Caso 4 - 5



Código del Programa

1.¿Que hace el programa? 
El programa calcula el area de figuras geometricas, el usuario introduce que figura quiere y el programa calcula el area, y si es rectangulo o cuadrado también calcula el perimetro

2.¿Como funciona el programa?
Primero el programa imprime las opciones, luego pide al usuario introducir una opción, luego segun la opcion que escoja pide los datos para al final calcular lo que el usuario pide.

Nota: En este programa al principio se ve una nota en rojo , es para que a la hora de compilar el codigo ese me muestre los acentos de las palabras, luego hay otra cosa que se llama from math import pi , lo que hace es importar el valor de pi del "modulo" math , equivalente a lo que es libreria en C.
ya lo demás es codigo del lenguaje.
Descargas:

 Codigo AWK

Documento de Texto

Codigo Shell


Codigo Python


Nota: Si es posible agregaré una entrada (o editaré ésta) con notas sobre los comandos que use y las paginas que consulte por si desean saber mas.

9 comentarios:

  1. Hola Alan, me gusto mucho como explicaste los programas ya que explicas porque pusiste cada funcion y explicas las líneas así que se entienden muy bien. Gracias por la entrada, a mi también se me dificulto un poco por lo mismo que en cada lenguaje se usan de manera diferente las variables y me confundí un poco pero me salió todo investigando.

    ResponderEliminar
  2. Gracias por el comentario, :D ami también se me dificulto estuve checando desde el sabado y apenas acabe ayer , me tarde un buen rato pero lo conseguí :D

    ResponderEliminar
  3. hola alan mira viendo tu último programa en python me recordaste uno que hice en el semestre pasado con el profe Bernardo, bueno yo creo que tu tmb de ahi te basaste... creo que ubiera sido más sencillo usar un tipo switch en python,,el switch no es igual en python que en otros lenguajes de programación mira aquí encontre como poner esta estructura
    http://simonwillison.net/2004/may/7/switch/

    creo que es una solución más elegante y asi hubieras evitado tantos "elif" "elif"...


    :D

    ResponderEliminar
  4. Hola! , la verdad yo nunca tuve clases con bernardo, aunque he visto que hay programas similares al que hice pero en C , sobre el switch lo intente hacer viendo esa pagina, si la habia visitado pero no me salia cuando lo ejecutaba me marcaba error , en cambio con el if no me dio problemas por eso esque mejor la deje con if , segun en la pagina esto es un switch

    result = {
    'a': lambda x: x * 5,
    'b': lambda x: x + 7,
    'c': lambda x: x - 2
    }[value](x)

    pero al a hora de poner por ejemplo en lugar de poner esto "lambda x: x * 5," , pongo mi codigo en la opcion 1 y no funciona me marca un error. y me marca el error aqui

    lado = input ("Introduzca el lado del cuadrado: "),

    en el signo de igual me marca el error. pero bueno espero poder checarlo mas a fondo después.

    Gracias por el comentario :D

    ResponderEliminar
  5. mira .. encontre esto

    http://www.python.org/dev/peps/pep-0275/

    http://www.python.org/dev/peps/pep-3103/

    ese switch lo quise implementar en tu código, copie todo tu código y en la parte de los ifs puse el switch.. de esta manera:

    switch EXPR:
    case CONSTANT:
    SUITE
    case CONSTANT:
    SUITE
    ...
    else:
    SUITE

    pero algo pasa que me marca error en la variable opcion....

    File "area.py", line 11
    switch opcion:
    ^
    SyntaxError: invalid syntax

    bueno ... le preguntaré mañana a la maestra en asesorias

    y te digo ke onda :D

    ResponderEliminar
  6. ehi alan exelente la informacion que subiste muchos de los manuales me an sido de mucha ayuda

    gracias..

    como tu dices en python no encuentro muchos obstaculos pero en cuento alos otros dos

    si me e dado demasiados topes contra la pared
    pero bueno ahi le sigo intentando

    te veo mañana

    ResponderEliminar
  7. okey Jurgen , utilizalos , ahi como quiera puse una explicacion de como compile y que fue lo que baje para hacerlos, ahi estamos hablando mañana.

    ResponderEliminar
  8. Muy bien. Te pongo los tres puntos por estos programas. (Vale la pena aprender a escribir "python" - nadie te va a creer que sepas python si lo escribes mal en tu curriculum :P)

    ResponderEliminar