PDF de programación - Ejemplo de cómo resolver un problema

Imágen de pdf Ejemplo de cómo resolver un problema

Ejemplo de cómo resolver un problemagráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 20 de Noviembre del 2017)
3.025 visualizaciones desde el 20 de Noviembre del 2017
4,3 MB
24 paginas
Creado hace 15a (12/09/2009)
Ejemplo de
cómo resolver
un problema

Una vez que has comprendido la importancia de contar con una
metodología para hacer programas, te mostraré un ejemplo de
cómo los debes resolver. Recuerda que esto es un entrenamiento,
ya que debes cambiar los hábitos en la manera de hacer los
programas.

Preparemos nuestras herramientas de trabajo: 3 hojas en
blanco y nuestro lápiz bien afilado. A continuación veremos el
problema que debes de resolver y para el cual debemos llegar a
resolverlo en todos los casos, ó sea que nos dé 100 puntos. Sin más
preámbulo, vamos a leerlo.







E J E M P L O D E C Ó M O R E S O L V E R U N P R O B L E M A

2

Problema: Los canales del lago

Descripción

Como es bien sabido por todos, el lago de Xochimilco es un hermoso lago que año
con año, y desde hace muchísimo tiempo, atrae una gran cantidad de turistas, con
el propósito de poder dar un viaje en el lago en una de las trajineras.

Durante el recorrido, uno puede comprar comida, contratar a los mariachis, y

disfrutar del paisaje; todo eso sobre las barcazas.

El viaje en trajinera consiste en recorrer los canales que han sido construidos

sobre del lago, empezando en un lugar y terminando en otro.

Problema

El día de hoy Karel va a visitar el lago, y tú, como dueño de la trajinera

Morpheus, tienes que llevarlo por el recorrido.

Consideraciones

 Karel inicia al principio del recorrido orientado hacia donde éste se dirige.

 Karel no tiene zumbadores en la mochila.

 Los canales del lago son muy angostos, y se representan con un camino de

ancho de 1.

 Mientras vas en el recorrido, recuérdale a Karel no tirar basura en el lago.

 Puedes saber que llegaste al final del recorrido, porque encontrarás un

beeper.

 El camino sólo se cierra al final del recorrido, junto al beeper.

 Karel debe de terminar en el final del recorrido.





Mundo de ejemplo

Solución al mundo de ejemplo



E J E M P L O D E C Ó M O R E S O L V E R U N P R O B L E M A

3

1° Paso: Entender el problema

Lo primero que debemos hacer es analizar nuestro problema; para esto
lo debemos leer hasta que nos quede claro, si queda alguna duda, la
debemos preguntar.

Para saber que ya lo entendimos, debemos ser capaces de explicarlo
a otra persona y a nosotros mismos. Una manera de saber que estamos
bien es sacar los datos del problema de manera similar a como si fuera
un problema de matemáticas y anotarlos en nuestra hoja; estos datos
serían: zumbadores en la mochila, orientación inicial de Karel, límites
del problema, orientación final de Karel, etc. En la siguiente figura se ve
un ejemplo para este problema:







E J E M P L O D E C Ó M O R E S O L V E R U N P R O B L E M A

4

2° Paso: Mundos

Una vez que tenemos una idea más clara de los que nos piden, es bueno
pensar en los diferentes mundos a los que aplica la descripción del
problema (te recuerdo que realizar esto cuenta entre un 20% y un 40%
de tu calificación final), ya que como se mencionó anteriormente, si
podemos pensar en las diferentes posibilidades con que nos van a
evaluar, seguramente nos llevará a pensar una solución que satisfaga el
100% de los mundos con que nos calificarán.

En la siguiente figura podemos apreciar que fuimos capaces de
encontrar 10 casos diferentes y si hacemos un programa que sea capaz
de resolver estos 10 casos, ten la seguridad de que tendrás una alta
calificación.

Revisando los casos, puedes ver que no es necesario dibujar
perfectamente el mundo de Karel, sino que debemos escribirlos de una
forma clara, sencilla y rápida. Por ejemplo, en el caso 10 que mide
100x100, se indica el ancho y largo de 100 con unas señales de
acotamiento similares a las que se usan en planos.





E J E M P L O D E C Ó M O R E S O L V E R U N P R O B L E M A

5

A continuación haremos algunas observaciones de los casos

desarrollados:

 Caso 1: Es el caso mínimo, ya que no existe un caso más pequeño

que este.

 Caso 8: Muestra un caso en el que se tiene que ajustar el camino
de Karel en las 4 direcciones posibles: norte, sur, este y oeste.
Este caso lo podríamos considerar como un caso máximo en
cuanto a las direcciones que debe de tomar Karel para llegar a su
objetivo (en este caso llegar al final del canal).

 Caso 10: Muestra un caso máximo en cuanto a longitud del
recorrido, ya que debe atravesar todo el mundo (si te da tiempo,
constrúyelo; si no, trata de hacer algo que lo iguale en
condiciones y características).

 Otros casos: Los podemos considerar como casos típicos o

promedio. Siempre en bueno hacer 3 o 4 casos promedio.

Te aseguro que si tienes la suficiente paciencia y dedicación para
trabajar de esta forma de ahora en adelante en cada unos de tus
problemas de programación, el resultado que obtendrás te llevará a
consolidarte como un verdadero ganador.



E J E M P L O D E C Ó M O R E S O L V E R U N P R O B L E M A

6

3° Paso: Idea de solución

Una vez que ya hemos comprendido el problema, debemos pensar en
alguna solución (más adelante se hablará más de cómo ayudarse a tener
ideas de solución). De una manera simple nos podemos basar en las
siguientes 3 ideas:

“Otra forma de plantearlo”, “subdividir en casos”,

“se parece a algo ya resuelto”.

En este caso propongo “otra forma de plantearlo” debido a que
podemos ver el problema como hacer que Karel camine hasta que
encuentre un zumbador. La idea es hacer un programa que haga que
Karel camine mientras no esté
junto a un zumbador. Debemos
considerar que Karel siempre inicia en la posición en que debe caminar,
por lo cual se asegura que no debemos ajustar su posición al inicio; sin
embargo, como el camino presenta algunos quiebres (variaciones de
orientación hacia donde caminará Karel), cada vez que Karel camine
una posición, se debe ajustar la orientación de Karel con la finalidad de
lograr una posición en que pueda moverse (de ser posible, una posición
de frente libre). De los casos que construimos, podemos apreciar que
cada vez que avanza Karel pueden existir las siguientes 4 situaciones:

1. Si está junto a un zumbador, ahí termina. No
debemos hacer nada porque ahí termina el
programa.

2. Que el frente esté libre. Para este caso no

debemos hacer ningún ajuste.

3. Que el frente esté bloqueado y la izquierda
libre. En este caso debemos ajustar
la
orientación de Karel haciéndolo girar una vez
a la izquierda.

4. Que el frente esté bloqueado y la derecha
libre. En este caso debemos ajustar
la
orientación de Karel haciéndolo girar a la
derecha (esto se hace con 3 giros a la izquierda
de Karel).











E J E M P L O D E C Ó M O R E S O L V E R U N P R O B L E M A

7

Con lo que vemos, el problema se resume a un problema sencillo de
hacer: que Karel camine y ajuste su orientación mientras no esté junto a
un zumbador.

Es importante que te des cuenta que todo esto se hace en la mente y,
ayudado de nuestras herramientas exclusivas (papel y lápiz),; nosotros
debemos anotar la idea para que no se nos olvide como se muestra a
continuación:



Nuestro programa se puede ver muy simple. Nos ayudaremos de
un diagrama de bloques (llamado de bloques porque usamos cuadros
para representar las ideas generales). Como podemos apreciar, la nube
que rodea nuestros bloques representa el
problema que una vez habiéndolo
dividido en 2, resulta más simple
resolver 2 problemas menores que
uno mayor. Esta figura muestra el
bloque de control que hará que
“Karel camine mientras no está
junto a un zumbador”, y el bloque
de la nueva instrucción llamada
orientar que “ajustará la orientación de
Karel en caso de ser necesaria”.

En este momento, ya estamos listos para planificar el problema de
acuerdo a la idea de la sección anterior, es decir, construir la escalera
para llegar nuestra meta que se ubica en la cima. Esto no lo debemos
hacer; sin embargo, en este apunte lo mostraré para ver cómo se unen
los conceptos teóricos de elaboración de un programa con la práctica de
hacer un programa. Como sólo se muestra de una manera ilustrativa,
utilizaremos los recuadros redondeados. Y el tipo de letra en cursivas.



E J E M P L O D E C Ó M O R E S O L V E R U N P R O B L E M A

8

4° Paso: Codificación

Ahora lo que debemos hacer es desarrollar el programa de control y
cada una de las nuevas instrucciones que vamos a necesitar. En este caso
son el programa principal que tiene la rutina de control y la nueva
instrucción orientar.

Las siguientes figuras muestran el desarrollo en papel de las rutinas
más importantes, ya que las más pequeñas y sencillas se pueden hacer
directamente en el teclado cuando ya se tiene algo de experiencia.
Mientras adquieres la experiencia, te aconsejo que trates de escribirlas
todas en el papel antes de escribirlas en el Karel.

El programa principal quedaría de la siguiente manera en Java y/o
Pascal; si lo observamos sigue nuestra idea: mientras Karel no esté junto
a un zumbador, avanza y se orienta.

En la parte de la orientación quedaría como lo muestra la siguiente
figura. Una buena práctica es hacerle una prueba de escritorio y ver que
funciona en todos los casos.







E J E M P L
  • Links de descarga
http://lwp-l.com/pdf7612

Comentarios de: Ejemplo de cómo resolver un problema (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad