lunes, 10 de febrero de 2020

Práctica # 14: Gestión de errores inesperados mediante excepciones utilizando el bloque try / except en Python3 sobre la Raspberry Pi4


Raspberry Pi para desarrolladores

PRÁCTICA # 14

“Gestión de errores inesperados en Python3 mediante excepciones utilizando el bloque <try:> sobre la Raspberry pi 4”



Durante el desarrollo de un programa podemos encontrar dos tipos de errores:

  1.   Errores por sintaxis: Los cuales son corregidos durante el desarrollo de un programa.

  2.   Errores por excepciones: Los cuales suelen ocurrir por “causas inesperadas” durante el proceso de ejecución, en códigos que tienen una sintaxis correcta y “funcional”.

Ahora, con el fin de poder gestionar los errores por excepciones, Python nos ofrece una instrucción o bloque denominada “try”, la cual es complementada bajo 3 gestores llamados “except”, “finally” y “else”. Los cuales, permiten atender o ignorar un error por excepción. Evitando un cierre inminente por este tipo de caso; tal cual se muestra a continuación:



En donde, se hace evidente como la implementación del gestor de error por excepciones, hace que un proceso pueda continuar con su flujo de programa. Evitando un cierre inminente del mismo.

Con el fin de poder entender más a fondo la importancia de la gestión de errores por excepciones, ahora analicemos el siguiente programa desarrollado en python3 capaz de “Determinar si un número es par o impar”, con y sin gestor de excepciones:



En la imagen anterior, se puede determinar como el programador mediante el gestor de excepciones, ha evitado que el algoritmo planteado, no se cierre por un error de entrada de datos. Evidenciando de forma clara y sencilla, que todo algoritmo esta expuesto a un conjunto de errores inesperados, los cuales deben ser atendidos y optimizados por cada desarrollador.

Finalmente, es de destacar que el bloque “except”, permite clasificar el tipo de excepción de forma directa, en base a un conjunto de errores ya predefinidos por el mismo lenguaje de programación. Por lo cual, es de tener en cuenta que en esta práctica se ha definido un ejemplo que toma el proceso de forma general, en donde, el mismo desarrollador define lo que quiere hacer al detectar un error. Por lo cual si esta interesado en aprender mucho más de este tema ingrese al siguiente enlace http://docs.python.org.ar/tutorial/3/errors.html, en donde se explica detalladamente, mediante documentación oficial de Python como funciona cada una de las herramientas de esta instrucción.

Así que, si te ha gustado esta pequeña guía, compártela en tus redes, comenta y dale like, para que podamos seguir creciendo como comunidad. Muchas gracias.

martes, 4 de febrero de 2020

Práctica # 13: Sistema de verificación de aprobación de un curso mediante consola, Python3 y Raspberry Pi4


Raspberry Pi para desarrolladores

PRÁCTICA # 13

“Programa en consola para definir la aprobación de un estudiante en un curso de 3 periodos utilizando Python3 y Raspberry Pi4”



 El objetivo de esta práctica es realizar un ejemplo que nos permita evaluar lo aprendido en las publicaciones anteriores, con los temas de:

  1.    Variables
  2.    Operadores
  3.    Condicionales

Por lo cual, se plantea el siguiente problema:

“El director de un colegio le pide a una desarrolladora de software que genere un programa en consola, el cual debe calcular si un estudiante aprobó o no el curso académico, tomando como medida de cuantificación, un ciclo de 3 períodos bajo nota de aprobación superior o igual a 3.5”

NOTA: es de destacar que la solución planteada a continuación no es la única que existe ya que depende de la lógica como cada desarrollador genera su esquema de proceso bajo el nivel de programación y experiencia que tiene.

Para solucionar el ejercicio se presenta a continuación el siguiente diagrama de flujo, el cual representa el flujo de ejecución del algoritmo a desarrollar para cumplir los planteado en el problema:



En donde se inicia definiendo una variable ‘nota’ de forma global, la cual actual como acumulador de la suma de los 3 períodos que el usuario debe ingresar, junto a otra variable definida como ‘estado’, que permite establecer si el usuario quiere o no seguir utilizando el programa.

Una vez son definidas las variables de gestión, el flujo de programa ingresa a un condicional ‘while’, tomando el valor de la variable ‘estado’. En donde este condicional de tipo bucle, pedirá información del estudiante o cerrará el programa dependiendo del valor de la variable ‘estado’; 1 para calcular otro estudiante y 0 para salir del condicional ‘while’ generando salida el programa.

Si la variable ‘estado’ tiene el valor de 1, el flujo del programa automáticamente pedirá al usuario que ingrese el nombre del estudiante y la nota de cada uno de los 3 periodos cursados. En donde esta última petición, estará inmersa en un condicional ‘for’, ajustado para 3 iteraciones, que pedirán al usuario que ingrese la nota de cada uno de los cortes, generando una acumulación o suma tomando la variable ‘nota’ como contenedor.

Una vez el programa capturar la nota de todos los periodos, pasa a definir mediante una ecuación sencilla el promedio académico del estudiante durante el curso. Dividiendo en 3 periodos, el valor acumulado sobre la variable ‘nota’. El cual es directamente evaluado mediante un condicional ‘if’, que establece un mensaje en consola tomando el nombre y el promedio calculado, emitiendo un APROBADO si el valor es superior o igual a 3.5 y NO APROBADO si el valor es menor que 3.5.

Finalmente, el programa define un mensaje en consola utilizando la instrucción ‘print’, pidiéndole al usuario que ingrese 1 para seguir evaluando otro estudiante, o 0 para salir del bucle ‘while’. Generando una reiniciación de la variable acumuladora ‘nota’ y una limpieza de la consola de comando, utilizando la librería ‘import os’ mediante el comando ‘clear’, dejando una interfaz limpia e intuitiva.

A continuación, se presenta el algoritmo escrito en Python que representa lo planteado por el diagrama de flujo, y una imagen que muestra su funcionamiento:



Así que, si te ha gustado esta pequeña guía, compártela en tus redes, comenta y dale like, para que podamos seguir creciendo como comunidad. Muchas gracias.