lunes, 25 de octubre de 2010

.: Lenguajes Script (LB) :.

:: Programas en Lenguajes Script (LB) ::



Materia. Lab de Leng de Progr
Hora. V1 (Jueves)

Como ejercicio referente al tema de lenguajes script y como algo similar al reporte tres de la clase ordinaria, también realice programas en los mismos lenguajes script que en el reporte de la clase ordinaria. Vamos a ver de qué se tratan:

Awk
Nombre. Utilidad.awk
Descripción. En esta aplicación de awk, contamos con un archivo fuente que contiene las cantidades de costo e ingreso de todo un semestre.

Código Fuente

Archivo Fuente
Aquí lo que se hace es que el programa lee la información contenida en el archivo llamado Registro.txt, de modo que obtiene la utilidad de cada mes en base al costo y el ingreso que tiene ese mes.
Al mismo tiempo va haciendo una suma total de todo el semestre sobre costos, ingresos y utilidades.
Durante el proceso del programa, se va imprimiendo (línea por línea) los meses, la cantidad de costo, ingreso y utilidad de ese mes en un archivo con el nombre de Utilidad.txt.
NOTA. Como pueden apreciar en el código, vemos un formato de impresión para cada uno de los campos que se van a imprimir en el archivo de destino. Por ejemplo:
printf “%-10s”, $1
Este formato indica que debe darse un ancho de 10 al campo número 1. El signo ( - ) indica que debe alinearse a la izquierda. Al no colocar ese signo, por lo normal, el contenido del campo se alineará a la derecha.
Archivo de destino (Resultados)
Después de hacer todas estas impresiones y finalizar la lectura del archivo fuente y los cálculos realizados, al final del archivo se imprimen los totales de los costos, ingresos y utilidades en todo el semestre; además de decir si fue un semestre de pérdidas o de ganancias.
Al igual que en el programa de la clase ordinaria de awk, también se ejecuta de la siguiente manera:
awk -f utilidad.awk Registro.txt > Utilidad.txt
Instrucción Mencionada en el terminal
Recuerden que al usar “>” sobre escribimos todo el contenido del archivo de destino; mientras que al usar “>>” ingresamos los resultados al final de los datos ya contenidos en el archivo de destino.

Shell
Nombre. Manejo_Carpetas.sh
Descripción. Esta “pequeño” código que realice en Shell hace algo parecido a mi programa de Shell de la clase ordinaria; sin embargo, la diferencia está en que en lugar de manipular archivos, manipula directorios.
Las acciones que realiza son las siguientes:
·         Crear
·         Mover
·         Copiar
·         Renombrar
·         Elimina
Menú de Opciones
Obviamente, antes de ejecutar alguna de estas acciones, te pregunta si la ubicación donde te encuentras es en la que deseas trabajar. Si no es así, tienes la opción de moverte hacía adelante o hacía atrás. Ya es decisión de cada usuario.
Inicio del Programa
Al igual que en el otro programa en este lenguaje, mi principal objetivo personal era adaptar algunas de las instrucciones de Shell de modo que si deseaba hacer algo con un directorio en el terminal, no tener que estar escribiendo repetidas veces lo mismo, es decir, tener algo más automático.
Perl
Nombre. Prom_Arrays.pl
Descripción. Nuevamente, volvemos con los arreglos de Perl, pero ahora usamos algo súper clásico conocido por todos: La obtención de promedios.
Aquí, se captura una N cantidad de agentes de telemarketing, para los cuales (en cada uno) se registra su puntaje en sus llamadas en las áreas de:
·         Calidad.
·         Tiempos.
·         Adherencia.
Captura de Datos
Al mismo tiempo que hacíamos el registro de cada agente, se va obteniendo el promedio en las métricas del mismo.
Después de estos cálculos, se va haciendo una suma de los promedios finales de cada uno de los agentes, para que al final podamos apreciar, no solo las métricas individuales de cada agente, sino un promedio final de grupo para darnos una idea de que tan afectado está tu supervisor en el mes.
Impresión de Resultados
NOTA. Las métricas de los agentes también afectan a las métricas del supervisor.
Python
Al momento de hacer los programas de Python para la clase de laboratorio, de tan dormido que estaba ya, no me percate que había hecho dos:
Primer Programa
Nombre. Suma_Multiplos.py
Descripción. Este pequeño y fácil programa en este particular lenguaje, lo que hace es que le ingresas un número N, y el proceso que realiza por medio de un “IF” dentro de un “WHILE” es verificar si el número “i” que se va corriendo es divisible, ya sea entre 3 ó 5.
Inicio del Programa
De ser esto cierto, imprimirá el número “i”. Aclarando que en sí, el número N que se ingresó al principio, sólo funciona como un límite para verificar números desde 1 hasta N.
Al final de la aplicación, se nos mostrara la suma de todos estos múltiplos de 3 ó 5.
Resultado Final
La verdad es que este programa lo saque de un conjunto de ejercicios complementarios de Python, pues no tenía ni las más remota idea que hacer.

Segundo Programa

Nombre. Suma_Potencias.py
Descripción. Nuevamente (nada más por no dejar) no volví a tener ni idea de que hacer.
Por lo que comencé a verificar los ejercicios en lenguaje C de un libro que tengo, por lo que decidí adaptar el programa que dice:
“Escribe el programa que al recibir como dato un número N entero, obtenga el resultado de la siguiente seríe:”
Resultado de la serie hasta N = 5
TCL
Nombre. Votos.tclsh
Descripción. Para este programa en TCL, volví a optar por la práctica de la instrucción “SWITCH”.
Ahora lo que realice fue un sencillo contador de votos en el proceso de las elecciones, donde te pide a qué partido fue el voto a favor.
Menú de Opciones
Cuando llegue el momento que decidas ya no registrar votos, al final te mostrará el total de votos que recibió cada partido, el total de votos en todo el proceso y el resultado de cuál fue el partido ganador en el proceso de elecciones.
Impresón de Resultados
Si se percataron, en el nombre de cada programa, encontramos el link de descarga para los códigos de los mismos.
Cualquier aporte que tengan para los códigos ya hechos son bienvenidos.
Saludos.

1 comentario: