2021 258ebf27interfaces de Control Ficha 27d1
2021 258ebf27interfaces de Control Ficha 27d1
2021 258ebf27interfaces de Control Ficha 27d1
Para iniciar con la lógica de programación debemos conocer de qué se trata la programación, es una serie de
instrucciones que se escriben en una computadora, estas deben ser ordenadas y tener una secuencia para
resolver un problema. Se debe aclarar que la computadora no entiende lenguaje natural (forma de
comunicación humana) por lo que se debe escribir las instrucciones en forma de líneas de programación o
comandos, los cuales varían según la generación de programación.
Lenguajes de programación
El procesador es la parte más importante de la computadora, que realiza los “Procesos”, que son códigos que la
computadora entiende para ejecutar una acción, los cuales están conformados por millones de 1 y 0, estos
procesos son creados por un usuario por medio de un lenguaje de programación, el cual se encarga de traducir
las instrucciones de palabras escritas (Algoritmo) a código máquina.
Esta acción de traducir las instrucciones de texto a código maquina se llama Compilar, y cada lenguaje de
programación cuenta con su propio compilador
Procesadores Compilador
Figura 1. Procesadores físicos y representación de un compilador
- 2da generación: Usa algunas palabras para controlar el movimiento de registros de memoria, conocido también
como lenguaje ensamblador
Figura 5. Ejemplo programación assembler
- 3ra generación: en este nivel podemos encontrar varios lenguajes de programación como los es COBOL, BASIC,
FORTRAN, C, PASCAL, donde las instrucciones se encuentran dadas por comandos
- 4ta generación: este nivel es la evolución del anterior donde no solamente se usan comandos, sino también
funciones, métodos, herencia, librerías, etc. En este nivel podemos encontrar los lenguajes C++, C#, Java, Python,
etc.
La metodología que hay que seguir para la resolución de problemas con computadoras se hace escribiendo un
programa, que exige los siguientes pasos:
- Análisis. El problema se analiza teniendo presente la especificación de los requisitos dados por el cliente
de la empresa o por la persona que encarga el programa.
- Diseño. Una vez analizado el problema, se diseña una solución que conducirá a un algoritmo que resuelva
el problema.
- Codificación (implementación). La solución se escribe en la sintaxis del lenguaje de alto nivel (por
ejemplo, Python) y se obtiene un programa fuente que se compila a continuación.
- Ejecución, verificación y depuración. El programa se ejecuta, se comprueba rigurosamente y se eliminan
la mayoría de errores (denominados “bugs”, en inglés) que puedan aparecer.
- Mantenimiento. El programa se actualiza y modifica, cada vez que sea necesario, de modo que se
cumplan todas las necesidades de cambio de sus usuarios.
- Documentación. Escritura de las diferentes fases del ciclo de vida del software, esencialmente el análisis,
diseño y codificación, unidos a manuales de usuario y de referencia, así como normas para el
mantenimiento.
Las dos primeras fases conducen a un diseño detallado escrito en forma de algoritmo. Durante la tercera fase
(codificación) se implementa el algoritmo en un código escrito en un lenguaje de programación, reflejando las
ideas desarrolladas en las fases de análisis y diseño.
Las fases de compilación y ejecución traducen y ejecutan el programa. En las fases de verificación y depuración el
programador busca errores de las etapas anteriores y los elimina. Comprobará que mientras más tiempo se gaste
en la fase de análisis y diseño, menos se gastará en la depuración del programa. Por último, se debe realizar la
documentación del programa.
Definición de Algoritmo: Es un método para resolver un problema mediante una serie de pasos precisos,
definidos y finitos
Características de un algoritmo:
- Preciso (indica el orden de realización en cada paso),
- Definido (si se sigue dos veces, obtiene el mismo resultado cada vez),
- Finito (tiene fin; un número determinado de pasos).
Ejemplos de algoritmos son: instrucciones para montar en una bicicleta, hacer una receta de cocina, obtener el
máximo común divisor de dos números, etc.
En resumen, para resolver un problema se debe definir las entradas que se requieren (tipo de datos), las salidas
deseadas (tipo de datos resultantes), el método adecuado, los requisitos, requerimientos y restricciones a la
solución.
Ejemplo de análisis de un problema de un invernadero
Figura 9. Invernadero
Se tiene un invernadero el cual debe mantener su temperatura estable para que las plantas no sufran daños.
Se tiene 3 acciones que se deben realizar:
1. La temperatura interior sube demasiado para lo cual se tiene que abrir las ventilas superiores
2. La temperatura exterior baja por lo que se debe cerrar las ventilas
3. La temperatura interior baja demasiado por lo que se debe encender un calefactor interno
Se plantea la posible solución de implementar un programa con la ayuda de una plataforma Arduino, cuál por
medio de sensores va a leer la temperatura interior y exterior, puede abrir o cerrar las ventilas por medio de
motores/actuadores y puede encender o apagar el calefactor
Diseño de algoritmos
En la etapa del diseño del algoritmo se determina cómo hace el programa la tarea solicitada. El método más
eficiente para el diseño del algoritmo se basa en el divide y vencerás, es decir, que un problema complejo se
puede resolver dividiéndolo en subproblemas y dividiéndolos en un nivel más bajo de complejidad, hasta que
pueda ser implementado por una computadora o controlador.
Este método se lo conoce como diseño descendente o modular. Cada subprograma es resuelto mediante un
módulo
El programa bien diseñado consta de un programa principal (módulo de más alto nivel) que llama a subprogramas
(módulos de nivel bajo)
La ventaja de usar este tipo de programación es que se puede depurar de forma más sencilla, ya que el fallo o bug
se puede localizar en un conjunto pequeño de instrucciones, entonces se puede aislar y comprobar
1. Programar el módulo
2. Comprobar el módulo
3. Si es necesario, depurar el módulo
4. Combinar el módulo con los módulos anteriores
Este proceso convierte los resultados del análisis del problema en un diseño modular que permiten una posterior
traducción al lenguaje de programación.
Ejemplo de algoritmo:
Retomando el ejemplo anterior del invernadero
Se tiene un invernadero el cual debe mantener su temperatura estable para que las plantas no sufran daños.
Se tiene 3 acciones a realizar:
1. Si la temperatura interior sube demasiado se tiene que abrir las ventilas superiores
2. Si la temperatura exterior baja e debe cerrar las ventilas
3. Si temperatura interior baja demasiado se debe encender un calefactor interno
Actividades:
Responder las preguntas del Cuestionario de la plataforma MiAcadémico