La Resolución de Problemas y trabajo practico
Teniendo en cuenta la Resolución de Problemas realizar la siguiente problemática:
En una empresa de Delivery surge la problemática sobre el tiempo de entrega cuando llueve porque el pedido lo realizan en motos y tarda mucho en llegar la comida y cuando llega esta fría.
Actividad sobre Traductores y Compiladores de Lenguajes
Un compilador no es magia, sino un traductor de reglas. En programación lógica, no damos órdenes, sino que describimos hechos.
Traductor: Toma un lenguaje A y lo pasa a B.
Compilador: Un traductor especializado que convierte código de alto nivel en algo ejecutable.
Analizador Sintáctico (Parser): La parte que revisa si la "oración" está bien escrita según las reglas.
Escenario A (Compilador): El "Traductor" recibe las instrucciones en un idioma que el "Constructor" no entiende (ej. tecnicismos o símbolos). El Traductor debe escribir toda la guía en español antes de que el Constructor toque el papel. Si el Traductor se equivoca en una palabra, debe empezar de nuevo su escrito.
Escenario B (Intérprete): El "Intérprete" lee una instrucción a la vez y se la susurra al "Constructor". El Constructor hace el doblez y espera la siguiente. Si hay un error en el paso 4, el Constructor ya tiene el papel doblado de los pasos 1, 2 y 3.
Cuál fue más rápido al final? ¿En cuál fue más fácil corregir un error sin arruinar el papel?
Trabajo Práctico: El Lenguaje de las Máquinas
1. Programación Lógica y Resolución de Problemas
Programar no es escribir código, es pensar. La lógica de programación es la organización coherente de instrucciones para llegar a una solución.
Ejemplo Teórico: Si quieres que un robot te prepare un café, no puedes decirle "haz café". Debes desglosarlo: 1. Agarrar la taza, 2. Poner café, 3. Calentar agua... si saltas un paso, el proceso falla.
Actividad 1: Diseña un algoritmo en lenguaje natural (paso a paso) para una tarea cotidiana compleja, por ejemplo: "Cambiar una rueda pinchada de un auto" o "Realizar una compra en un sitio web". Asegúrate de que no falte ningún paso lógico.
2. La Torre de Babel: Tipos de Lenguajes
Las computadoras no entienden el español ni el inglés, solo impulsos eléctricos (0 y 1). Por eso existen niveles de abstracción:
Lenguaje Máquina (Bajo Nivel): Instrucciones directas al procesador en binario. Es casi imposible de leer para un humano.
Lenguaje de Medio Nivel: Permite gestionar la memoria de la computadora pero con palabras más entendibles (Ej: C).
Lenguaje de Alto Nivel: Muy cercano al lenguaje humano. Son fáciles de aprender y escribir (Ej: Python, Java, JavaScript).
Actividad 2: Investiga y clasifica los siguientes lenguajes en su nivel correspondiente (Bajo, Medio o Alto):
Python: __________
Assembler: __________
C++: __________
3. El Traductor: Compiladores e Intérpretes
Como el programador escribe en "Alto Nivel" y la PC entiende "Binario", necesitamos un traductor.
Compilador: Lee todo el código de una vez y genera un archivo ejecutable (como traducir un libro entero antes de venderlo). Ej: C++, Rust.
Intérprete: Traduce y ejecuta línea por línea en tiempo real (como un traductor en vivo en una conferencia). Ej: Python, JavaScript.
Actividad 3: ¿Cuál crees que es más rápido al ejecutarse: un programa compilado o uno interpretado? Justifica brevemente.
4. El Corazón de la PC: Números Binarios
El sistema binario utiliza solo dos dígitos: 0 (apagado) y 1 (encendido). Cada dígito es un bit.
Cómo convertir de Decimal a Binario: Se divide el número por 2 sucesivamente y se anotan los restos de abajo hacia arriba. Ejemplo: El 13 en binario es 1101.
Actividad 4: Realiza las siguientes conversiones:
Convierte el número 18 a binario: __________
Convierte el número 25 a binario: __________
¿Qué número decimal representa el binario 1010? __________
Actividad 5: ¿Por qué crees que hoy en día casi todos los programadores eligen lenguajes de Alto Nivel en lugar de programar directamente en lenguaje máquina?
Comentarios
Publicar un comentario