educación, informática y demás

25.03 - Automatizacion Scripts I

Repasando lo que nos queda..

Comadno: if…elif..else

Nos permite crear comprobaciones en cascada..

Esta solución, funciona pero no es la más adecuada. Para nosotros es incorrecta.

Tenemos la opción de usar if…elif..else..then

Gracias al uso de elif el código es más comprensible y fácil de mantener.

Comando: case

El comando case compara la variable o valor que se utiliza en su definición (PALABRA) con cada uno de los valores que se utiliza en cada rama (PATRON) Si el valor de la variable coincide con el valor de uno de los patrones, se ejecuta esa rama del case.

Comenzamos con la estructura

Si lo desarrollamos para las notas quedaría así

No es buena idea para este caso utilizar un case. Es buen comando para elegir entre valores discretos pequeños.

Vamos a modificar el elif para que compruebe valores enteros fuera de rango

Todavía faltarían los menores…

Solución propuesta

Mejora 01: Control de errores

  • Comprueba que se ha pasado un valor por parámetro.
  • Comprueba que el valor pasado por parámetro es un número
  • Comprueba que el valor de porcentaje está entre 0 y 100. Si no es así, se mostrará un mensaje de error y se terminará la ejecución de la aplicación (control de errores).ç

Mejora 02: Mejora el control de errores – if y funciones

Mejora 03: Pensando en el futuro…

Función muestraPorcentaje que reciba en el primer parámetro el valor del porcentaje y muestre en pantalla la cadena de texto: poco, bajo, alto o muy alto en función del valor pasado.

Cuidado con las variables globales…

Bucles

Comando for

El script de porcentaje recibirá una lista variable de porcentajes. Para cada porcentaje, comprobará si el valor del porcentaje es correcto o no. En este caso, si no fuera correcto, no terminaría la ejecución del script, tan solo mostraría un mensaje indicando que el valor del porcentaje no es adecuado.

Sino, mostrará la cadena de texto adecuada para el valor del porcentaje.

El script debería mostrar algo así…

Primera aproximación…

La siguiente vueltita nos lleva a esta propuesta

Comando while

Ejercicio

Vamos a crear un nuevo script en base al anterior que solicite al usuario el valor del porcentaje a calcular por teclado. Mientras el operador inserte un valor por teclado, calcularemos el porcentaje y lo mostramos en pantalla.

En este script tenemos que utilizar, además del comando while, el comando read.

Vamos a analizar la frase: «Mientras el operador inserte un valor por teclado, calcularemos el porcentaje y lo mostramos en pantalla»

En esa frase se nos indica el comando o bucle a utilizar: miemtras; se indica la condición: el valor insertado por el usuario no esté vacío; y qué tenemos que hacer en el cuerpo del bucle: mostrar en pantalla el porcentaje.

Solución

Está bien pero….

Un poquito mejor…

Ejercicio menu.sh

Vamos a crear un script llamado menu.sh que mostrará al usuario un menú de opciones de administración para que pueda ejecutarlas. Lo primero que vamos a comprobar es que el usuario sea el administrador del sistema. Si no es administrador, entonces mostraremos un mensaje de error y terminaremos con la ejecución del script.

Lo primero que hará el script es mostrar las opciones de menú que serán las siguientes:

  • a) Añadir usuario al sistema
  • d) Comprobará si hay resolución de nombres de dominio disponible
  • g) Añadir grupo al sistema
  • p) Mostrar los procesos que hay en el sistema en ejecución
  • n) Comprobará si hay conexión con Internet: Red LAN Interna nuestro GateWay
  • m) Comprobará si hay conexión con internet (host 8.8.8.8)
  • u) Mostrará información resumida en formato comprensible por humanos del directorio que almacena las cuentas de usuario en el sistema por defecto.

Mientras el usuario inserte una opción válda, realizaremos la acción seleccionada. Si la opción no está en el menú mostramos una advertencia y seguimos preguntando por nuevas opciones. Cuando el usuario no inserte ninguna opción, el script termina su ejecución.

No hace falta que en esta versión implementes todas las opciones. Puedes mostrar símplemente un texto del tipo:

Opción elegida: a. Actualmente en proceso de desarrollo

Pulse Enter para continuar…

Recomendaciones

Utiliza funciones para mostrar el menú y para la opción del menú 🙂

Mientras haya conexión a Internet, muestra un mensaje, espera 5 segundos y vuelve a comprobar si hay conexión a Internet.

Dejar una respuesta