Karel debe escribir un programa que, dado un mundo con una lista de números representada por montones de zumbadores, deje sólo el patrón generador de menor longitud que genere la lista original y borre los demás números. Karel empieza en la esquina inferior izquierda con infinitos zumbadores y debe dejar el patrón generador a partir de la casilla (1,1), sin dejar otros zumbadores en la primera fila.
Material didáctico diseñado para desarrollar aprensizajes respecto a los números enteros, originalmente fue diseñado para el primero de secundaria, pero por su simplicidad y presentación puede ser usado en el nivel primario.
El documento describe los diferentes tipos de líneas utilizadas en dibujo técnico y sus funciones. Explica que existen líneas que definen el objeto como contornos y aristas, así como líneas auxiliares para cotas y referencias. Detalla los diferentes grosores, trazos y formas de las líneas, y cómo se combinan y representan dependiendo del tipo de vista u objeto. Finalmente, provee recomendaciones sobre el uso correcto de líneas en dibujos técnicos.
Logaritmos son operaciones inversas a la potenciación que permiten calcular exponentes a partir de la base y la potencia. Se definen como el exponente al que debe elevarse la base para obtener el número. Presentan propiedades como que el logaritmo de un producto es la suma de los logaritmos de los factores, y el logaritmo de una potencia es el producto del exponente por el logaritmo de la base.
El documento habla sobre el vernier o pie de rey, un instrumento de medición precisa en milímetros. Explica su funcionamiento con una regla fija y una regla móvil con nonios que permite mediciones entre 0.25 a 0.02 mm. Detalla las partes, cómo usarlo correctamente midiendo exteriores e interiores, y ofrece ejemplos de medición. También menciona algunas limitaciones como su uso para objetos en movimiento.
Este documento presenta el código de solución para nueve prácticas de programación con Karel el Robot. Cada práctica describe un problema o tarea diferente para que Karel complete utilizando instrucciones básicas como avanzar, girar y recoger objetos. El código presentado muestra cómo aplicar secuencias de instrucciones, condiciones y bucles para resolver cada problema de manera efectiva.
Este documento presenta 14 prácticas de programación con Karel que enseñan principios básicos como: mover a Karel, recoger objetos, girar en diferentes direcciones, definir nuevas instrucciones y resolver problemas más complejos como cruzar un laberinto. Las prácticas van desde tareas sencillas hasta desafíos que requieren múltiples pasos y condicionales. El documento proporciona el código de solución detallado para cada práctica con ejemplos ilustrativos.
El documento presenta 10 ejercicios de programación para Karel que involucran recorrer un laberinto, recolectar y depositar bombillas utilizando diferentes estructuras de control como repetir, si-sino y while. Los ejercicios piden desarrollar programas para que Karel complete tareas como recorrer avenidas, almacenar objetos en su mochila, apagarse en ciertas posiciones y orientaciones.
Material didáctico diseñado para desarrollar aprensizajes respecto a los números enteros, originalmente fue diseñado para el primero de secundaria, pero por su simplicidad y presentación puede ser usado en el nivel primario.
El documento describe los diferentes tipos de líneas utilizadas en dibujo técnico y sus funciones. Explica que existen líneas que definen el objeto como contornos y aristas, así como líneas auxiliares para cotas y referencias. Detalla los diferentes grosores, trazos y formas de las líneas, y cómo se combinan y representan dependiendo del tipo de vista u objeto. Finalmente, provee recomendaciones sobre el uso correcto de líneas en dibujos técnicos.
Logaritmos son operaciones inversas a la potenciación que permiten calcular exponentes a partir de la base y la potencia. Se definen como el exponente al que debe elevarse la base para obtener el número. Presentan propiedades como que el logaritmo de un producto es la suma de los logaritmos de los factores, y el logaritmo de una potencia es el producto del exponente por el logaritmo de la base.
El documento habla sobre el vernier o pie de rey, un instrumento de medición precisa en milímetros. Explica su funcionamiento con una regla fija y una regla móvil con nonios que permite mediciones entre 0.25 a 0.02 mm. Detalla las partes, cómo usarlo correctamente midiendo exteriores e interiores, y ofrece ejemplos de medición. También menciona algunas limitaciones como su uso para objetos en movimiento.
Este documento presenta el código de solución para nueve prácticas de programación con Karel el Robot. Cada práctica describe un problema o tarea diferente para que Karel complete utilizando instrucciones básicas como avanzar, girar y recoger objetos. El código presentado muestra cómo aplicar secuencias de instrucciones, condiciones y bucles para resolver cada problema de manera efectiva.
Este documento presenta 14 prácticas de programación con Karel que enseñan principios básicos como: mover a Karel, recoger objetos, girar en diferentes direcciones, definir nuevas instrucciones y resolver problemas más complejos como cruzar un laberinto. Las prácticas van desde tareas sencillas hasta desafíos que requieren múltiples pasos y condicionales. El documento proporciona el código de solución detallado para cada práctica con ejemplos ilustrativos.
El documento presenta 10 ejercicios de programación para Karel que involucran recorrer un laberinto, recolectar y depositar bombillas utilizando diferentes estructuras de control como repetir, si-sino y while. Los ejercicios piden desarrollar programas para que Karel complete tareas como recorrer avenidas, almacenar objetos en su mochila, apagarse en ciertas posiciones y orientaciones.
El documento describe el ambiente gráfico del robot Karel. Karel es un emulador de robot que se usa para enseñar programación a principiantes. El mundo de Karel contiene calles, avenidas y esquinas donde Karel puede moverse. Karel tiene una flecha que indica su orientación y puede cargar trompos en su mochila para completar tareas. El documento explica los diferentes elementos del mundo de Karel y cómo se pueden usar para programar el movimiento y comportamiento de Karel.
Este documento presenta 6 prácticas de programación con Karel que incluyen tareas como hacer que Karel recoja zumbadores y los deje en otra ubicación, orientar a Karel hacia el norte desde cualquier posición inicial, y hacer que Karel suba una barda. También propone definir nuevas instrucciones como gira-derecha, norte, y recoger-todo para simplificar los programas de Karel.
Este documento presenta 12 prácticas de programación con Karel y Karelotitlan. Los integrantes del proyecto son Fernando Vidal Gaspar y Aminadab Uriel Albarrán Martínez, bajo la supervisión del profesor Domínguez escalona Rene. El objetivo es aplicar los principios de programación a la solución de problemas mediante el lenguaje de programación Karel.
Este documento presenta 14 prácticas de programación con Karel. Cada práctica describe un problema de programación y proporciona el código de solución. Las prácticas van desde mover a Karel para recoger zumbadores hasta navegar laberintos. El documento forma parte de un curso de aplicación de principios de programación para resolver problemas.
Este documento contiene el código y descripciones de varios ejercicios de programación con Karel. Los ejercicios incluyen: 1) Mover a Karel a través de divisiones y recoger zumbadores, 2) Llevar a Karel con su abuelita, 3) Hacer que Karel mire hacia el norte, 4) Hacer que Karel recoja basura, 5) Hacer que Karel suba un muro, 6) Definir nuevas instrucciones para Karel, 7) Hacer que Karel junte torres y deposite zumbadores, 8
Una función recursiva es aquella que se llama a sí misma dentro de su propio código. Cuando se invoca por primera vez, se carga una copia del código en la memoria, y si luego se vuelve a invocar dentro de una condición, se carga otra copia dejando pendiente la primera. Este proceso se repite mientras se cumpla la condición de llamada recursiva.
El documento describe cómo extender el lenguaje de programación de Karel mediante la creación de nuevas instrucciones. Explica que se pueden definir instrucciones personalizadas que ejecuten secuencias más simples de instrucciones nativas. Proporciona ejemplos como una instrucción "turnright" que gira a la derecha mediante tres giros a la izquierda, y una instrucción "subeEscalon" para subir un escalón usando giros y movimientos. Resalta que esto mejora la claridad y reutilización del código.
Este documento presenta 12 prácticas de programación con Karel. Detalla los objetivos de cada práctica, el código de solución propuesto y ejemplos de los mundos de Karel al inicio y final de cada práctica. Los estudiantes Fernando Vidal Gaspar y Aminadab Uriel Albarrán Martínez completaron las prácticas para la materia de Aplicaciones de Programación bajo la guía del profesor Rene Domínguez Escalona como parte del grupo 404 de la especialidad de Informática.
Introducción a la robótica tiene por objetivo la comprensión de los conceptos subyacentes en el diseño y construcción de un robot, y en su funcionamiento.
Este documento describe la instrucción iterate en el lenguaje de programación Karel. Explica la sintaxis de iterate y provee ejemplos de cómo usarla para repetir instrucciones, anidar ciclos, y evitar errores al final de un ciclo. También menciona brevemente algunos usos comunes de iterate como dar la vuelta, cosechar beepers, y sembrar beepers en múltiples esquinas.
El documento explica la instrucción while en el lenguaje de programación Karel. While permite que un bloque de instrucciones se repita mientras se cumpla una condición especificada. Se describe la sintaxis de while y se proveen ejemplos de su uso para hacer que Karel camine hasta encontrar una pared o recolecte beepers de una calle hasta llegar a una esquina sin beeper. La instrucción while permite que un robot sea más independiente al poder repetir tareas sin necesidad de conocer la cantidad exacta de repeticiones requeridas.
Karel el Robot es una aplicación de software utilizada para enseñar conceptos básicos de programación a estudiantes. Fue creada en 1981 por Richard Pattis y consiste en un simulador de robot que puede manipular 16 comandos simples como moverse, recoger objetos y girar. Los estudiantes aprenden a diseñar instrucciones de programa aplicables a diferentes situaciones a través de este entorno gráfico.
El documento presenta información sobre Robot Karel, un entorno de programación educativo. Explica que Robot Karel fue creado en 1981 para enseñar conceptos básicos de programación de una manera sencilla y visual. Luego describe los componentes del entorno como el mundo, el programa y la sección de ejecución, así como los comandos y herramientas disponibles para programar las acciones de Robot Karel.
My books- Learning to Go https://gum.co/learn2go & The 30 Goals Challenge for Teachers http://routledge.com/books/details/9780415735346/
Resources- http://ShellyTerrell.com/STEAM
This document provides a list of tools and apps for science experiments and activities in K-8 classrooms. It includes apps for conducting experiments on the human body, sun, lake, and nano HD. Other apps allow students to access interactive science glossaries, learn about how things work, and explore elements and physics. Additional apps support writing, reading, and creating video guides and tutorials. The document promotes using tablets for hands-on science learning and documentation.
El documento presenta un problema de programación en el que un robot llamado Karel debe navegar a través de un laberinto y llegar a una salida después de cambiar exactamente N instrucciones en su camino. El laberinto se representa como un rectángulo con números en cada casilla que indican hacia dónde debe moverse Karel. Karel comienza en la esquina inferior izquierda y debe llegar a una salida sin pasar dos veces por la misma casilla después de cambiar exactamente el número N de instrucciones, donde N se indica en una protuberancia debajo
Karel quiere dibujar un rombo usando todos los zumbadores en su mochila. Para lograrlo, la cantidad de zumbadores debe ser un múltiplo de 4 de modo que al colocarlos de a uno en las esquinas del mundo cuadrado de longitud impar, quede un espacio vacío en forma de rombo en el centro. El problema pide ayudar a Karel a colocar correctamente todos los zumbadores siguiendo las consideraciones dadas para obtener el rombo deseado.
El documento presenta cuatro problemas de programación relacionados con Karel el Robot. El primer problema involucra programar a Karel para que avance lo más posible a través de un mundo con obstáculos, subiendo o bajando entre columnas. El segundo problema pide contar votos dados en un mundo para determinar si hay un ganador con mayoría estricta. El tercer problema ordena montones de zumbadores en un mundo en una formación zigzag representando estaturas. El cuarto problema agrega zumbadores a un mundo para maximizar la distancia que Karel puede recorrer antes de det
Este documento presenta cinco problemas de programación para Karel en el contexto de la Olimpiada Mexicana de Informática. Los problemas involucran tareas como hacer que Karel avance lo más posible a través de un mundo con obstáculos, contar votos para determinar un ganador, organizar estudiantes en una fila zigzag por estatura, y maximizar la distancia que Karel puede correr en un mundo agregando zumbadores adicionales.
El documento presenta cuatro problemas de programación para Karel en el contexto de la Olimpiada Mexicana de Informática. Cada problema describe un escenario, reglas y consideraciones para que Karel resuelva una tarea como moverse a través de obstáculos, contar votos, organizar estudiantes por estatura de forma zigzag, y maximizar la distancia recorrida al correr agregando zumbadores estratégicamente.
El documento presenta seis problemas de programación para Karel que involucran diferentes escenarios como una carrera de obstáculos, recoger estudiantes para el recreo, pasar un laberinto, limpiar basura, acomodar zumbadores pares e impares, y manejo de imágenes. Cada problema proporciona las consideraciones iniciales de Karel como su posición y orientación, y las tareas que debe realizar como saltar vallas, recoger objetos y dejarlos en un lugar.
El documento describe varias tareas para un robot Karel, incluyendo avanzar una cierta cantidad de cuadras dejando objetos, recoger objetos en algunas esquinas, saltar muros mientras avanza, y dejar objetos en esquinas mientras tenga objetos en su mochila. Para cada tarea, se especifica la posición y dirección inicial de Karel y la descripción de la tarea.
El documento describe el ambiente gráfico del robot Karel. Karel es un emulador de robot que se usa para enseñar programación a principiantes. El mundo de Karel contiene calles, avenidas y esquinas donde Karel puede moverse. Karel tiene una flecha que indica su orientación y puede cargar trompos en su mochila para completar tareas. El documento explica los diferentes elementos del mundo de Karel y cómo se pueden usar para programar el movimiento y comportamiento de Karel.
Este documento presenta 6 prácticas de programación con Karel que incluyen tareas como hacer que Karel recoja zumbadores y los deje en otra ubicación, orientar a Karel hacia el norte desde cualquier posición inicial, y hacer que Karel suba una barda. También propone definir nuevas instrucciones como gira-derecha, norte, y recoger-todo para simplificar los programas de Karel.
Este documento presenta 12 prácticas de programación con Karel y Karelotitlan. Los integrantes del proyecto son Fernando Vidal Gaspar y Aminadab Uriel Albarrán Martínez, bajo la supervisión del profesor Domínguez escalona Rene. El objetivo es aplicar los principios de programación a la solución de problemas mediante el lenguaje de programación Karel.
Este documento presenta 14 prácticas de programación con Karel. Cada práctica describe un problema de programación y proporciona el código de solución. Las prácticas van desde mover a Karel para recoger zumbadores hasta navegar laberintos. El documento forma parte de un curso de aplicación de principios de programación para resolver problemas.
Este documento contiene el código y descripciones de varios ejercicios de programación con Karel. Los ejercicios incluyen: 1) Mover a Karel a través de divisiones y recoger zumbadores, 2) Llevar a Karel con su abuelita, 3) Hacer que Karel mire hacia el norte, 4) Hacer que Karel recoja basura, 5) Hacer que Karel suba un muro, 6) Definir nuevas instrucciones para Karel, 7) Hacer que Karel junte torres y deposite zumbadores, 8
Una función recursiva es aquella que se llama a sí misma dentro de su propio código. Cuando se invoca por primera vez, se carga una copia del código en la memoria, y si luego se vuelve a invocar dentro de una condición, se carga otra copia dejando pendiente la primera. Este proceso se repite mientras se cumpla la condición de llamada recursiva.
El documento describe cómo extender el lenguaje de programación de Karel mediante la creación de nuevas instrucciones. Explica que se pueden definir instrucciones personalizadas que ejecuten secuencias más simples de instrucciones nativas. Proporciona ejemplos como una instrucción "turnright" que gira a la derecha mediante tres giros a la izquierda, y una instrucción "subeEscalon" para subir un escalón usando giros y movimientos. Resalta que esto mejora la claridad y reutilización del código.
Este documento presenta 12 prácticas de programación con Karel. Detalla los objetivos de cada práctica, el código de solución propuesto y ejemplos de los mundos de Karel al inicio y final de cada práctica. Los estudiantes Fernando Vidal Gaspar y Aminadab Uriel Albarrán Martínez completaron las prácticas para la materia de Aplicaciones de Programación bajo la guía del profesor Rene Domínguez Escalona como parte del grupo 404 de la especialidad de Informática.
Introducción a la robótica tiene por objetivo la comprensión de los conceptos subyacentes en el diseño y construcción de un robot, y en su funcionamiento.
Este documento describe la instrucción iterate en el lenguaje de programación Karel. Explica la sintaxis de iterate y provee ejemplos de cómo usarla para repetir instrucciones, anidar ciclos, y evitar errores al final de un ciclo. También menciona brevemente algunos usos comunes de iterate como dar la vuelta, cosechar beepers, y sembrar beepers en múltiples esquinas.
El documento explica la instrucción while en el lenguaje de programación Karel. While permite que un bloque de instrucciones se repita mientras se cumpla una condición especificada. Se describe la sintaxis de while y se proveen ejemplos de su uso para hacer que Karel camine hasta encontrar una pared o recolecte beepers de una calle hasta llegar a una esquina sin beeper. La instrucción while permite que un robot sea más independiente al poder repetir tareas sin necesidad de conocer la cantidad exacta de repeticiones requeridas.
Karel el Robot es una aplicación de software utilizada para enseñar conceptos básicos de programación a estudiantes. Fue creada en 1981 por Richard Pattis y consiste en un simulador de robot que puede manipular 16 comandos simples como moverse, recoger objetos y girar. Los estudiantes aprenden a diseñar instrucciones de programa aplicables a diferentes situaciones a través de este entorno gráfico.
El documento presenta información sobre Robot Karel, un entorno de programación educativo. Explica que Robot Karel fue creado en 1981 para enseñar conceptos básicos de programación de una manera sencilla y visual. Luego describe los componentes del entorno como el mundo, el programa y la sección de ejecución, así como los comandos y herramientas disponibles para programar las acciones de Robot Karel.
My books- Learning to Go https://gum.co/learn2go & The 30 Goals Challenge for Teachers http://routledge.com/books/details/9780415735346/
Resources- http://ShellyTerrell.com/STEAM
This document provides a list of tools and apps for science experiments and activities in K-8 classrooms. It includes apps for conducting experiments on the human body, sun, lake, and nano HD. Other apps allow students to access interactive science glossaries, learn about how things work, and explore elements and physics. Additional apps support writing, reading, and creating video guides and tutorials. The document promotes using tablets for hands-on science learning and documentation.
El documento presenta un problema de programación en el que un robot llamado Karel debe navegar a través de un laberinto y llegar a una salida después de cambiar exactamente N instrucciones en su camino. El laberinto se representa como un rectángulo con números en cada casilla que indican hacia dónde debe moverse Karel. Karel comienza en la esquina inferior izquierda y debe llegar a una salida sin pasar dos veces por la misma casilla después de cambiar exactamente el número N de instrucciones, donde N se indica en una protuberancia debajo
Karel quiere dibujar un rombo usando todos los zumbadores en su mochila. Para lograrlo, la cantidad de zumbadores debe ser un múltiplo de 4 de modo que al colocarlos de a uno en las esquinas del mundo cuadrado de longitud impar, quede un espacio vacío en forma de rombo en el centro. El problema pide ayudar a Karel a colocar correctamente todos los zumbadores siguiendo las consideraciones dadas para obtener el rombo deseado.
El documento presenta cuatro problemas de programación relacionados con Karel el Robot. El primer problema involucra programar a Karel para que avance lo más posible a través de un mundo con obstáculos, subiendo o bajando entre columnas. El segundo problema pide contar votos dados en un mundo para determinar si hay un ganador con mayoría estricta. El tercer problema ordena montones de zumbadores en un mundo en una formación zigzag representando estaturas. El cuarto problema agrega zumbadores a un mundo para maximizar la distancia que Karel puede recorrer antes de det
Este documento presenta cinco problemas de programación para Karel en el contexto de la Olimpiada Mexicana de Informática. Los problemas involucran tareas como hacer que Karel avance lo más posible a través de un mundo con obstáculos, contar votos para determinar un ganador, organizar estudiantes en una fila zigzag por estatura, y maximizar la distancia que Karel puede correr en un mundo agregando zumbadores adicionales.
El documento presenta cuatro problemas de programación para Karel en el contexto de la Olimpiada Mexicana de Informática. Cada problema describe un escenario, reglas y consideraciones para que Karel resuelva una tarea como moverse a través de obstáculos, contar votos, organizar estudiantes por estatura de forma zigzag, y maximizar la distancia recorrida al correr agregando zumbadores estratégicamente.
El documento presenta seis problemas de programación para Karel que involucran diferentes escenarios como una carrera de obstáculos, recoger estudiantes para el recreo, pasar un laberinto, limpiar basura, acomodar zumbadores pares e impares, y manejo de imágenes. Cada problema proporciona las consideraciones iniciales de Karel como su posición y orientación, y las tareas que debe realizar como saltar vallas, recoger objetos y dejarlos en un lugar.
El documento describe varias tareas para un robot Karel, incluyendo avanzar una cierta cantidad de cuadras dejando objetos, recoger objetos en algunas esquinas, saltar muros mientras avanza, y dejar objetos en esquinas mientras tenga objetos en su mochila. Para cada tarea, se especifica la posición y dirección inicial de Karel y la descripción de la tarea.
El documento describe cuatro tareas diferentes para un robot Karel, incluyendo avanzar una cierta cantidad de cuadras, girar, dejar o levantar trompos, y la posición y dirección inicial del robot para cada tarea.
El documento presenta un problema de programación para Karel en el que debe seguir una serie de pistas en un rally recogiendo zumbadores y girando a la izquierda la cantidad de veces igual al número de zumbadores. Karel debe apagarse cuando vuelva a pasar por la casilla de inicio del rally con la misma orientación, recogiendo todos los zumbadores de las pistas pero dejando los demás montones intactos. Se proveen consideraciones como el tamaño y contenido del mundo así como que Karel siempre regresará a su casilla de origen siguiendo correctamente las pistas.
Karel está participando en un rally donde debe seguir una serie de pistas avanzando hasta encontrar montones de zumbadores, recogerlos y girar a la izquierda tantas veces como zumbadores haya. El objetivo es recordar la casilla de origen y apagarse cuando vuelva a ella. Se pide escribir un programa para que Karel siga las pistas y se apague al regresar a su posición inicial.
Karel está participando en un rally donde debe seguir una serie de pistas avanzando hasta encontrar montones de zumbadores, recogerlos y girar a la izquierda tantas veces como zumbadores haya. El objetivo es recordar la casilla de origen y apagarse cuando vuelva a ella. Se pide escribir un programa para que Karel siga las pistas y se apague al regresar a su posición inicial.
Este documento describe los diferentes tipos de cuadriláteros, incluyendo paralelogramos como rombos, rectángulos, romboides y cuadrados. Explica las definiciones básicas de cuadrilátero y sus lados y vértices opuestos. Luego detalla cada tipo de paralelogramo, cómo calcular su área usando base y altura, y memorizar y comprender las fórmulas de área para cada uno.
Este documento describe la estructura de datos conocida como pila. Una pila es una lista donde los elementos se agregan y eliminan en el mismo orden, siguiendo el principio LIFO (último en entrar, primero en salir). Las operaciones básicas de una pila son apilar (push) para agregar elementos y desapilar (pop) para eliminar el último elemento agregado. Las pilas se usan comúnmente para evaluar expresiones en notación postfija, en reconocedores sintácticos y para implementar recursividad.
La recursividad es una técnica de programación donde una función se llama a sí misma. El factorial es un ejemplo recursivo, donde el factorial de un número es ese número multiplicado por el factorial del número anterior. La secuencia de Fibonacci también se puede definir recursivamente, donde cada número es la suma de los dos anteriores. Aunque la recursividad es útil, los métodos iterativos son más eficientes para ciertos cálculos como Fibonacci, ya que evitan repetir cálculos innecesariamente.
Este documento describe la estructura de datos conocida como pila. Una pila es una lista donde los elementos se agregan y eliminan en el mismo orden, siguiendo el principio LIFO (último en entrar, primero en salir). Las operaciones básicas de una pila son apilar (push) para agregar elementos y desapilar (pop) para eliminar el último elemento agregado. Las pilas se usan comúnmente para evaluar expresiones en notación postfija, en reconocedores sintácticos y para implementar recursividad.
4.2 espacios de estados determinísticos y espacios no determinísticos.Jose Maldonado Cortes
Este documento describe los diferentes tipos de espacios de estados, incluyendo espacios determinísticos y no determinísticos. Los espacios determinísticos tienen un único estado inicial y secuencia de estados, mientras que los no determinísticos tienen múltiples estados iniciales y secuencias posibles. También distingue entre espacios implícitos y explícitos, siendo los implícitos generados dinámicamente y los explícitos definidos previamente con todas las conexiones entre estados.
4.2 espacios de estados determinísticos y espacios no determinísticos.Jose Maldonado Cortes
Este documento describe los diferentes tipos de espacios de estados, incluyendo espacios determinísticos y no determinísticos. Los espacios determinísticos tienen un único estado inicial y secuencia de estados, mientras que los no determinísticos tienen múltiples estados iniciales y secuencias posibles. También distingue entre espacios implícitos y explícitos, siendo los implícitos generados dinámicamente y los explícitos definidos previamente con todas las conexiones entre estados.
Este documento presenta conceptos básicos de unificación e inferencia en inteligencia artificial. La unificación es el proceso de determinar si dos expresiones lógicas coinciden mediante la sustitución de variables por valores. La inferencia involucra derivar nuevas conclusiones a partir de hechos conocidos usando reglas como modus ponens, modus tolens y resolución.
Este documento presenta la regla de inferencia Modus Ponens y tres ejemplos de su aplicación. Modus Ponens permite inferir la conclusión q a partir de una premisa condicional P → q y la premisa p. Los tres ejemplos muestran cómo se puede deducir la conclusión aplicando esta regla lógica a partir de las premisas dadas en cada caso.
1. Tiro con arco
Historia
Emocionados por el éxito de Mariana Avitia y Aida Román en Londres, los amigos de Karel quieren
probar su habilidad con el arco. Consiguieron una diana (el tablero que sirve de blanco) electrónica que
registra automáticamente el número de flechas que acertó en la diana cada jugador. Para su desgracia,
en la quinta ronda la diana dejó de funcionar.
Cuando Karel llegó todos se emocionaron mucho porque, como él es muy listo, podrá llevar el conteo de
flechas y así volver a jugar. Karel aceptó y ellos le explicaron cómo funcionaba:
“La diana está formada por cuadrados concéntricos, cada uno marcado por montones contiguos de 1
zumbador. El puntaje es indistinto del lugar donde cae cada flecha, lo único que importa es el número de
flechas en la diana. Las flechas están marcadas por montones de 2 zumbadores. La puntuación final de
un jugador es igual al número de flechas que cayeron dentro de la diana.”
Problema
Escribe un programa que iniciando Karel en la esquina superior izquierda de la diana, deje dentro del
cuadrado del centro, la puntuación total obtenida.
Consideraciones
• Karel empieza en la esquina superior izquierda de la diana orientado al este.
• La separación entre cuadrados siempre es de un renglón o una columna, dependiendo del lado
del cuadrado.
• Sólo hay flechas en las regiones entre cuadrados. No hay más de una flecha en una posición.
• Además de los montones que representan las flechas y la diana no hay ningún otro montón de
zumbadores en el mundo.
• El cuadrado del centro siempre es un cuadrado de 3x3, es decir, contiene un único espacio
dentro.
• Karel tiene 0 zumbadores en su mochila
• No importa la posición ni la orientación final de Karel. Tampoco importa cómo quede la diana.
Ejemplo
Entrada Salida
Hay 3 regiones, Karel inicia en la esquina superior izquierda de la región exterior. Hay tres flechas en la diana, dos en la región
exterior y otra más en el centro, por lo tanto, el puntaje final es 3 y ese es el número que deja Karel en el centro. No importa ni la
posición ni la orientación final de Karel, sólo importan los zumbadores en el centro de la diana.
1
2. Sombras del desierto
Historia
Agobiado por el calor de Hermosillo e inspirado por su intenso sol, Karel ha decidido entretenerse
experimentando con sombras.
Para sus experimentos Karel usa mundos que se componen, cada uno, de dos elementos:
• Un cactus: representado por una línea vertical formada por montones consecutivos de 1
zumbador que empiezan desde el suelo (la fila inferior del mundo).
• Un Sol: representado por un montón de 2 zumbadores que puede estar en cualquier lugar del
mundo, pero siempre en alguna fila más arriba que la parte superior del cactus.
En sus observaciones, Karel descubre que dependiendo de dónde ponga el Sol en el mundo, el cactus
proyecta una sombra distinta; además, que cactus de distintos tamaños proyectan sombras distintas.
Problema
Escribe un programa que dado un mundo con un Sol y un cactus, permita que Karel dibuje la sombra que
proyecta el cactus sobre el suelo.
La sombra deberá ser representada por una línea horizontal de montones de 1 zumbador.
Consideraciones
• Karel inicia en la posición (1,1) del mundo viendo al Norte.
• Karel inicia con infinitos zumbadores en su mochila.
• Los mundos son rectangulares, sin paredes internas.
• En todos los casos de prueba el largo de la sombra proyectada será un número entero y siempre
cabe en el mundo.
• Además del Sol, el cactus y la sombra, no debes dejar ningún otro zumbador en el mundo.
• No importan la posición ni la orientación final de Karel.
Ejemplos
Ejemplo #1:
Entrada: Sol y Cactus Salida: Sol y Cactus con sombra
Ejemplo #2:
Entrada: Sol y Cactus Salida: Sol y Cactus con sombra
2
3. Simetría
Historia
El nuevo pasatiempo de Karel es diseñar laberintos para jardines. A Karel le fascina la simetría y por eso
quiere que todos los jardines que se diseñen sean simétricos respecto a la columna en donde se pondrá
la entrada al jardín.
Su nuevo cliente le ha traído a Karel mapas de ideas para su nuevo jardín. En los mapas, los jardines
están delimitados por paredes. Antes de entrar en más detalles, Karel debe cerciorarse de que son
simétricos para aceptar el trabajo.
Problema
Escribe un programa que ayude a Karel a determinar si el diseño de un jardín es simétrico. Tu programa
debe dejar a Karel viendo al Norte si el jardín es simétrico y viendo al Sur si no lo es.
Consideraciones
• Karel inicia viendo al Norte en la fila inferior del mundo y en la columna donde se pondrá la
entrada al jardín.
• Las paredes del jardín están todas conectadas entre sí, es decir, dentro del jardín no hay
paredes aisladas del resto.
• No habrá zumbadores en ninguna parte del mundo.
• No importan los zumbadores finales en el mundo ni la posición final de Karel sólo su
orientación.
• IMPORTANTE
o Dado que sólo hay dos posibles respuestas (Karel orientado al norte o Karel orientado
al sur), durante la evaluación se agruparán los casos de prueba en parejas de casos en
donde para uno la respuesta es terminar orientado al norte y para el otro la respuesta
es terminar orientado al sur.
o En el 50% de los grupos Karel iniciará con un número infinito de zumbadores en la
mochila.
o En otro 25% de los grupos Karel inicia con 1 zumbador en la mochila.
o En el 25% restante Karel iniciará con 0 zumbadores en la mochila
Ejemplos
Ejemplo #1:
Karel debe terminar viendo al Norte debido a que el jardín es simétrico
respecto a la columna de inicio de Karel.
3
4. Ejemplo #2:
Karel debe terminar viendo al sur porque el jardín no es simétrico respecto a
la columna de inicio de Karel.
Ejemplo #3:
Karel debe terminar viendo al sur porque el jardín no es simétrico respecto a
la columna de inicio de Karel.
4
5. Patrones
Historia
Karel se ha vuelto aficionado a encontrar patrones generadores dentro de listas de números. Si se tiene
una lista de números, un patrón generador es cualquier secuencia de números que al escribirla una cierta
cantidad de veces genere la lista completa.
Por ejemplo, la lista 123123123123 puede ser generada tanto por el patrón 123 como por el patrón
123123, sin embargo el primer patrón (123) tiene longitud menor.
Problema
Ayuda a Karel a que dada una lista de números, deje sólo el patrón generador de menor longitud y borre
todos los demás números.
Consideraciones
• El mundo no contiene paredes internas.
• Además de los montones que representan la lista, no hay ningún otro zumbador en el mundo.
• Karel inicia en esquina inferior izquierda del mundo orientado al Norte.
• Karel inicia con infinitos zumbadores en su mochila.
• La lista de números está representada por montones contiguos de zumbadores en la fila inferior
del mundo, iniciando en la casilla (1,1).
• La lista termina con el primer espacio en blanco o la pared del mundo.
• Karel deberá dejar el patrón generador de menor longitud a partir de la casilla (1,1).
• Además del patrón generador, NO deben quedar zumbadores en la primera fila.
• No importa la posición ni la orientación final de Karel. Solamente importa que dejes los
zumbadores que representan el patrón generador de menor longitud.
Ejemplo
Entrada:
Los montones de zumbadores representan la lista 123123123123
Salida:
Al final de la ejecución Karel debe dejar sólo el patrón generador (123) y eliminar el resto de la lista. Como puede verse
en la figura ni la posición ni la orientación finales de Karel importan. Tampoco los zumbadores en posiciones que no
pertenecían a la lista original. Por ejemplo, el montón de 5 zumbadores en la posición (1,2) no se toma en cuenta para tu
calificación.
5
6. Patrones
Historia
Karel se ha vuelto aficionado a encontrar patrones generadores dentro de listas de números. Si se tiene
una lista de números, un patrón generador es cualquier secuencia de números que al escribirla una cierta
cantidad de veces genere la lista completa.
Por ejemplo, la lista 123123123123 puede ser generada tanto por el patrón 123 como por el patrón
123123, sin embargo el primer patrón (123) tiene longitud menor.
Problema
Ayuda a Karel a que dada una lista de números, deje sólo el patrón generador de menor longitud y borre
todos los demás números.
Consideraciones
• El mundo no contiene paredes internas.
• Además de los montones que representan la lista, no hay ningún otro zumbador en el mundo.
• Karel inicia en esquina inferior izquierda del mundo orientado al Norte.
• Karel inicia con infinitos zumbadores en su mochila.
• La lista de números está representada por montones contiguos de zumbadores en la fila inferior
del mundo, iniciando en la casilla (1,1).
• La lista termina con el primer espacio en blanco o la pared del mundo.
• Karel deberá dejar el patrón generador de menor longitud a partir de la casilla (1,1).
• Además del patrón generador, NO deben quedar zumbadores en la primera fila.
• No importa la posición ni la orientación final de Karel. Solamente importa que dejes los
zumbadores que representan el patrón generador de menor longitud.
Ejemplo
Entrada:
Los montones de zumbadores representan la lista 123123123123
Salida:
Al final de la ejecución Karel debe dejar sólo el patrón generador (123) y eliminar el resto de la lista. Como puede verse
en la figura ni la posición ni la orientación finales de Karel importan. Tampoco los zumbadores en posiciones que no
pertenecían a la lista original. Por ejemplo, el montón de 5 zumbadores en la posición (1,2) no se toma en cuenta para tu
calificación.
5