P. 1
problemas resueltos

problemas resueltos

|Views: 11.592|Likes:
Publicado porKeila Aburto

More info:

Published by: Keila Aburto on Sep 07, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/15/2015

pdf

text

original

JUEVES 3 DE MARZO DE 2011

Cada vez los problemas van siendo mas dificiles, el dia de hoy le toco a el problema de "La Marcha" Descripción Harto de la inseguridad, Karel como muchos otros ciudadanos, marcho del Angel de Reforma al Zócalo de la Ciudad de México el domingo 27 de junio. Al final de la marcha, impresionado por la cantidad de gente, Karel se dio a la tarea de obtener el número total de participantes en la marcha. Problema Tu tarea consiste en escribir un programa que le permita a Karel conocer la cantidad total de hombres y mujeres que asistieron a la marcha. Consideraciones -La marcha se representa como un rectángulo de zumbadores con su esquina inferior izquierda en la posición (1,2) que puede tener un ancho máximo de 90 columnas y una altura máxima de 90 filas. -Todas las casillas de dicho rectángulo tienen 1 ó 2 zumbadores, en donde 1 zumbador representa a una mujer y 2 zumbadores representan a un hombre. -Al inicio del programa Karel se encuentra en la posición (1,1) orientado hacia el norte. -Inicialmente, Karel no tiene zumbadores en la mochila. -Karel deberá dejar en la posición (1,1) una cantidad de zumbadores igual al número de mujeres en la marcha, y en la posición (2,1) una cantidad de zumbadores igual al número de hombres que asistieron a la marcha. -No importa la posición final ni la orientación con la que termine Karel. -No importa si Karel levanta o no a los participantes de la marcha. Ejemplo Mundo Inicial

Mundo Final

Solucion iniciar-programa define-nueva-instruccion camina como inicio avanza; si no-junto-a-zumbador entonces inicio gira-izquierda; gira-izquierda; mientras frente-libre hacer inicio avanza; fin; gira-izquierda; avanza; gira-izquierda; avanza; fin; fin; define-nueva-instruccion regresa como inicio gira-izquierda; mientras frente-libre hacer inicio avanza; fin; gira-izquierda; avanza; gira-izquierda; fin; define-nueva-instruccion recoge como inicio si junto-a-zumbador entonces inicio coge-zumbador; si junto-a-zumbador entonces inicio coge-zumbador; camina; recoge; fin sino inicio camina; recoge; deja-zumbador; fin; fin sino inicio regresa; fin; fin; define-nueva-instruccion dejamitad como inicio si algun-zumbador-en-la-mochila entonces inicio deja-zumbador; deja-zumbador;

fin. esta será formada por zumbadores y deberá dividir por la mitad la autopista desde el norte hasta el sur. por lo que se ha dado a la tarea de dibujar dicha línea. deberá haber únicamente un zumbador. debido a las irregularidades del terreno. coge-zumbador. termina-ejecucion finalizar-programa Publicado por Irvg en 06:51 1 comentarios Enviar por correo electrónico Escribe un blog Compartir con Twitter Compartir con Facebook Compartir con Google Buzz MIÉRCOLES 23 DE FEBRERO DE 2011 Clase 12 de febrero Este dia se hizo un problema mas complicado: Autopista 10a OMI. Ejemplo mundo inicial . fin. Afortunadamente Karel es jefe de tránsito y siempre esta dispuesto a resolver los problemas de Beeperopolis. CONSIDERACIONES • • • • • • Karel lleva un número INFINITO de zumbadores en su mochila. el ancho de la autopista varía a lo largo de la misma.dejamitad. apagate. avanza. En cada posición de la línea divisoria. los habitantes tienen un grave problema ya que no cuentan con la línea central que divide los carriles de ida y de vuelta. dejamitad. No importa la posición ni orientación final de Karel. el espacio entre ambas paredes es un número impar desconocido. La autopista esta delimitada por paredes y atraviesa la ciudad de norte a sur. PROBLEMA Ayuda a Karel a poner la línea divisoria en la autopista. Durango 2005 DESCRIPCIÓN En Beeperópolis han construido su primera autopista. recoge. No hay paredes ni zumbadores dentro de la autopista. En cualquier fila de la autopista. No debe de quedar ningún zumbador en una posición que no pertenezca a la línea divisoria. inicia-ejecucion avanza. Sin embargo. Karel inicia en cualquier lugar del extremo norte de la autopista con dirección al sur. La línea deberá estar formada por montones de 1 zumbador y deberá ser de ancho 1 y no deberá haber zumbadores en ningún otro lugar de la autopista.

mientras frente-libre hacer inicio avanza. avanza. fin.Mundo final Solucion iniciar-programa define-nueva-instruccion inicia como inicio gira-izquierda. avanza. gira-izquierda. define-nueva-instruccion mide-mitad como inicio si frente-libre entonces inicio avanza. mide-mitad. gira-izquierda. gira-izquierda. fin. . gira-izquierda.

1 viendo hacia el este. gira-izquierda. gira-izquierda. mientras frente-libre hacer inicio avanza. gira-izquierda. busca-abajo. gira-izquierda. fin. fin. fin. Ejemplo mundo inicial . fin sino inicio gira-izquierda. fin. si derecha-bloqueada entonces inicio gira-izquierda. esta clase. fin. vimos una pequeña introduccion a la recursividad explicandola con el problema de medir distancia.fin sino inicio gira-izquierda. avanza. apagate. fin. inicia-ejecucion mientras no-orientado-al-norte hacer inicio inicia. gira-izquierda. termina-ejecucion finalizar-programa Publicado por Irvg en 21:26 0 comentarios Enviar por correo electrónico Escribe un blog Compartir con Twitter Compartir con Facebook Compartir con Google Buzz Clase sabado 22 de enero Hola. define-nueva-instruccion busca-abajo como inicio mientras derecha-bloqueada y frente-libre hacer inicio avanza. mide-mitad. el problema consiste en: Medir distancia Karel se encuentra en la posicion 1. Karel tiene que caminar hasta la pared que se encuentra frente de el algunos pasos adelante y dejar el numero de zumbadores igual a la distancia que recorrio. fin. deja-zumbador.

termina-ejecucion finalizar-programa Otro problema que se hizo fue el de multiplicar por dos Descripcion Nuestro querido Karel nos ha visitado en la FAMAT y como resultado aprendío a multiplicar por 2. poner un beeper (el único que carga) y termina. fin. inicia-ejecucion mide. tristemente perdio el código donde le mostraba como multiplicar. fin. . en la posición (1.Mundo final Solucion: iniciar-programa define-nueva-instruccion mide como inicio si frente-libre entonces inicio avanza. deja-zumbador. Tu misión es escribir un programa que multiplique por 2. -Karel inicia mirando al Este. apagate.1).B) -Karel debe llegar a las coordenadas (2B. mide.

apagate. inicia-ejecucion gira-izquierda. Consideraciones • Karel inicia mirando al Norte. fin. avanza. avanza. en la esquina inferior izquierda de su mundo. . avanza.-No hay obstaculos en tu camino -Antes de correr tu programa asegurate de ponerle un beeper a Karel en su beeper_bag Solucion iniciar-programa define-nueva-instruccion multiplica como inicio si frente-libre entonces inicio avanza. multiplica. con los beepers que Karel tenga disponibles en su bolsa. gira-izquierda. multiplica. construya una escalera del número apropiado de escalones. fin sino inicio gira-izquierda. fin. termina-ejecucion finalizar-programa Publicado por Irvg en 21:20 0 comentarios Enviar por correo electrónico Escribe un blog Compartir con Twitter Compartir con Facebook Compartir con Google Buzz VIERNES 21 DE ENERO DE 2011 Clase 18 de diciembre Hola. gira-izquierda. bueno pues este dia resolvimos un problema y medio a continuacion pongo la solucion de ellos Problema C-1 Descripcion Escribe un programa que.

• • • Karel siempre tendrá un número triangular de beepers en su bolsa al iniciar el programa. Ejemplo de prueba con 6 beepers Solucion . No hay obstáculos en tu camino No importa en que posición y orientación tenga Karel al finalizar.

gira-izquierda. fin. fin. gira-izquierda. fin. fin. fin. . cambia-fila. fin. inicia-ejecucion comienza. gira-izquierda. gira-izquierda. define-nueva-instruccion baja como inicio mientras frente-libre hacer inicio deja-zumbador. fin. avanza. gira-izquierda. avanza. gira-izquierda. mientras algun-zumbador-en-la-mochila hacer inicio subir. baja. define-nueva-instruccion subir como inicio mientras junto-a-zumbador hacer inicio avanza. deja-zumbador. define-nueva-instruccion cambia-fila como inicio gira-izquierda. gira-izquierda.Codigo iniciar-programa define-nueva-instruccion comienza como inicio si algun-zumbador-en-la-mochila entonces inicio deja-zumbador.

Comenzando por la primera columna donde esta Karel y hacia la derecha hay 10 columnas de zumbadores de diferentes alturas. termina-ejecucion finalizar-programa El problema 2 es el siguiente: Igualando las columnas Descripción del problema: Incialmente Karel se encuentra orientado al ESTE en la posición (1. el número de zumbadores será tal. NOTA: En los casos de prueba que se utilizarán para calificar tu programa. Las columnas tienen alturas diferentes que pueden ir desde 1 hasta 20. apagate. Debes escribir un programa que haga que Karel iguale la altura de todas las columnas pasando zumbadores de una columna a otra.6) de su mundo. .fin. Solución del mundo de ejemplo: La solucion de este problema se dara hasta que este completa en la clase. Cada columna es una secuencia ininterrumpida de posiciones con 1 zumbador (ver figura de ejemplo). Importante: No debe de haber mas de un zumbador por posición. que siempre se podrá igualar la altura de todas las columnas. A la derecha de las 15 columnas hay una pared vertical que se eleva hasta la posición 30.

Clase sabado 4 de diciembre Hola En esta clase resolvimos dos problemas. a continuacion pongo las descripciones Ayudando a Mama Karel ha crecido un poco y ahora su mama le ha pedido que recoja la basura ( zumbadores de su casa y se los tire al vecino Karel puede empezar en cualquier posicion de su casa No sabemos cuanta basura habra en cada lugar Karel sabe que termino de recogerlos al llegar a la barda de su casa La barda tiene una altura indeterminada Karel debera dejar la basura en el piso de la casa del vecino No importa en donde ni hacia donde quede apuntando Karel Mundo inicial Mundo final SOLUCION .

.

avanza. mientras junto-a-zumbador hacer inicio coge-zumbador. define-nueva-instruccion pasa_pared como inicio gira-izquierda. gira-izquierda. gira-izquierda. fin. fin. avanza. . gira-izquierda. gira-izquierda. fin. gira-izquierda. fin. mientras derecha-bloqueada hacer inicio avanza. gira-izquierda. gira-izquierda. gira-izquierda. fin.Codigo iniciar-programa define-nueva-instruccion orienta como inicio mientras no-orientado-al-oeste hacer inicio gira-izquierda. fin. mientras frente-libre hacer inicio avanza. fin. define-nueva-instruccion recoge como inicio mientras frente-libre hacer inicio mientras junto-a-zumbador hacer inicio coge-zumbador. fin.

el cual acaba de terminar. recoge.mientras frente-libre hacer inicio avanza. El sol esta fuerte asi que todos los alumnos se encuentran recargados en la pared del salon que da hacia el patio de juego. Los alumnos deberan hacer una fila en la puerta de entrada del salon. pasa_pared. define-nueva-instruccion tirar como inicio mientras algun-zumbador-en-la-mochila hacer inicio deja-zumbador. tirar. inicia-ejecucion orienta. Consideraciones Tu programa sera evaluado con distintos casos de prueba Karel inicia en la puerta del salon orientado hacia la salida Los estudiantes estan representados con 1 zumbador Todos los alumnos se encuentran en la parte extrerna del salon pegados a la pared El salon es rectangular o cuadrado Desconoces las dimensiones del salon Karel debera terminar posicionado despues del ultimo alumno de la fila. sin importar su orientacion Muno inicial . fin. la campana del Colegio no sirve por lo que requerimos tu ayuda. termina-ejecucion finalizar-programa Acontinuacion el problema 2 Rekreo Descripccion Despues de 2 horas de estudio el Maestro les ha dado a los alumnos tiempo de Recreo. fin. apagate. Problema Deberas salir al patio y decirle a los alumnos que ha terminado el recreo y deben regresar al aula para la segunda parte de la clase. fin. fin.

Mundo final Solucion .

gira-izquierda. fin. fin. avanza. fin. mientras algun-zumbador-en-la-mochila hacer inicio deja-zumbador. camina. avanza. fin. avanza. fin. fin. inicia-ejecucion . define-nueva-instruccion recoge como inicio mientras izquierda-bloqueada hacer inicio si junto-a-zumbador entonces inicio coge-zumbador. fin. define-nueva-instruccion camina como inicio avanza. gira-izquierda. avanza. define-nueva-instruccion formar como inicio gira-izquierda. fin. si izquierda-libre entonces inicio gira-izquierda.Codigo iniciar-programa define-nueva-instruccion salir como inicio avanza.

por lo que ahora deberá juntar los zumbadores de cada columna y hacer un montón con ellos en la base de la misma. El cuarto de Karel se encuentra lleno de columnas de zumbadores como se muestra en el ejemplo. CONSIDERACIONES • • • • • • • Inicialmente. Las columnas de zumbadores pueden tener cualquier altura desde 1 hasta 100 zumbadores. recoge. Karel es un robot muy ordenado y le gusta tener todos sus zumbadores acomodados en montones. Karel sabrá que ha llegado al final del cuarto. termina-ejecucion finalizar-programa Publicado por Irvg en 11:35 0 comentarios Enviar por correo electrónico Escribe un blog Compartir con Twitter Compartir con Facebook Compartir con Google Buzz MIÉRCOLES 8 DE DICIEMBRE DE 2010 Clase sabado 27 de noviembre Hola En este dia se resolvio un problema llamado Amontonando Zumbadores DESCRIPCIÓN Por su naturaleza.salir. Karel no tiene zumbadores en la mochila. La cantidad de zumbadores en cada casilla es desconocida. Tras un fin de semana de juegos. y se suceden una a la otra sin dejar espacios. Al encontrar la primera columna vacía. No importa la posición ni la orientación final de Karel EJEMPLO Mundo de ejemplo . PROBLEMA Tu tarea consiste en escribir un programa que ayude a Karel a amontonar los zumbadores de cada columna en un montón en la base de la misma.1) orientado hacia el norte. Karel tiene su cuarto lleno de zumbadores regados en columnas. apagate. formar. Karel se encuentra en la posición (1.

gira-izquierda. gira-izquierda. fin. gira-derecha. gira-izquierda. apagate. fin. fin. mientras frente-libre hacer inicio avanza. si frente-libre entonces inicio avanza. mientras algun-zumbador-en-la-mochila hacer inicio deja-zumbador. fin. gira-izquierda. inicia-ejecucion mientras junto-a-zumbador hacer inicio recoge-fila. define-nueva-instruccion recoge-fila como inicio mientras junto-a-zumbador hacer inicio mientras junto-a-zumbador hacer inicio coge-zumbador. fin. avanza. pero para los que no la tienen aqui la pongo: iniciar-programa define-nueva-instruccion gira-derecha como inicio repetir 3 veces gira-izquierda. termina-ejecucion finalizar-programa Publicado por Irvg en 08:49 0 comentarios Enviar por correo electrónico Escribe un blog Compartir con Twitter Compartir con Facebook Compartir con Google Buzz LUNES 22 DE NOVIEMBRE DE 2010 Clase sabado 20 de noviembre . fin. fin. fin.Solución del mundo de ejemplo La solucion a este problema se dio en clase. gira-izquierda.

los cuales se muestran a continuación Cima Este problema trata de hacer que Karel suba una fila de zumbadores de cualquier tamaño de cualquier tamaño. fin. de 1 en 1 por todo el rectangulo donde karel esta orientado hacia cualquier lugar. . termina-ejecucion finalizar-programa Tapizar Este problema se trata de tapizar un rectángulo de cualquier tamaño con zumbadores. apagate. los zumbadores solo están puestos de 1 en 1. Un mundo de ejemplo para este problema es el siguiente Y una posible solución para este problema es iniciar-programa define-nueva-instruccion ubicar como inicio mientras no-orientado-al-oeste hacer inicio gira-izquierda.Hola En la clase de este día hicimos dos programas. avanza. Este es un mundo de ejemplo : Y el código de la solución de este problema es muy sencilla iniciar-programa inicia-ejecucion mientras junto-a-zumbador hacer inicio coge-zumbador. fin.

fin. avanza. fin. mientras frente-libre hacer inicio avanza. gira-izquierda. llena-linea. El problema que vimos se llama saltar la barda y se trata de subier una pared de la altura que sea y bajarla del otro lado. define-nueva-instruccion llena-linea como inicio repetir 3 veces inicio gira-izquierda. fin. mientras frente-libre hacer inicio avanza. fin. fin. apagate. inicia-ejecucion ubicar. mientras frente-libre hacer inicio deja-zumbador. termina-ejecucion finalizar-programa Publicado por Irvg en 20:44 0 comentarios Enviar por correo electrónico Escribe un blog Compartir con Twitter Compartir con Facebook Compartir con Google Buzz JUEVES 18 DE NOVIEMBRE DE 2010 Clase sabado 13 de noviembre Hola Pues basicamente en esta clase aprendirnos algunas cosas mas sobre Karel como poder moverlo un determinado numero de veces o mientras un sensor este activado. gira-izquierda. gira-izquierda. fin. fin. fin. Un mundo de prueba puede ser este: .mientras frente-libre hacer inicio avanza. llena-linea. gira-izquierda. deja-zumbador. gira-izquierda. repetir 3 veces inicio gira-izquierda.

fin. apagate. fin. gira-izquierda. repetir 3 veces inicio gira-izquierda. fin. repetir 3 veces inicio gira-izquierda. fin. mientras frente-libre hacer inicio avanza. fin. avanza. mientras derecha-bloqueada hacer inicio avanza.Una solucion al problema puede escribirse de la siguiente manera iniciar-programa define-nueva-instruccion brincar como inicio gira-izquierda. termina-ejecucion finalizar-programa . inicia-ejecucion brincar.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->