1 / 49

Estructuras de Control

Estructuras de Control. Recomendación. Para poder seguir la animación de las diapositivas correctamente te recomendamos que utilices las flechas de Siguiente y Anterior que aparecerán al pie de cada diapositiva. ANTERIOR. SIGUIENTE. ANTERIOR. SIGUIENTE. CONCEPTOS.

adeola
Download Presentation

Estructuras de Control

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Estructuras de Control

  2. Recomendación Para poder seguir la animación de las diapositivas correctamente te recomendamos que utilices las flechas de Siguiente y Anterior que aparecerán al pie de cada diapositiva ANTERIOR SIGUIENTE ANTERIOR SIGUIENTE

  3. CONCEPTOS Las estructuras de control permiten al programador alterar el flujo de ejecución del programa ANTERIOR SIGUIENTE

  4. EJERCICIO 1 ANTERIOR SIGUIENTE

  5. Ejercicio 1: Posicionar al robot en la esquina (28,5) y juntar una flor. En la esquina puede haber 0, 1 o mas flores. Si analizamos el ejercicio podemos ver que hay tres casos posibles CASO 1: No hay flores en la esquina. CASO 2: Hay 1 flor en la esquina. CASO 3: Hay mas de 1 flor en la esquina (pero no sabemos cuantas exactamente). ANTERIOR SIGUIENTE

  6. Ejercicio 1: CASO 1 NO HAY FLORES EN LA ESQUINA Esquina (28 , 5) ANTERIOR SIGUIENTE

  7. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  8. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA • Prueba 1: Usamos Secuencia ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  9. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA SECUENCIA Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) ERROR 0 tomarFlor Como no hay ninguna flor en la esquina se genera un error. Se corta la ejecución del programa Fin Cantidad de Flores tomadas: 0 Es responsabilidad del programador utilizar las instrucciones correctamente. ANTERIOR SIGUIENTE

  10. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA • Prueba 2: Usamos Repetición ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  11. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA REPETICION Esquina (28 , 5) Sabemos que debemos juntar 1 flor entonces probamos poniendo N= 1 Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 0 Repetir 1 ERROR tomarFlor Cantidad de Flores tomadas: En este caso que hay 0 flores en la esquina, nos daría un error igual al error que queríamos solucionar. Fin 0 Esta estructura no es adecuada para este ejercicio en particular. Esto se debe a que la estructura repetir siempre debe indicar la cantidad de veces que se repiten las instrucciones (y esa cantidad debe ser >=1) ANTERIOR SIGUIENTE

  12. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA SECUENCIA • Prueba 3: Usamos Selección ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  13. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA SELECCION Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 0 Si (HayFlorEnLaEsquina) tomarFlor Como no hay ninguna flor en la esquina, la condición es falsa y no entra al cuerpo de la estructura si Fin Cantidad de Flores tomadas: 0 Todo funciona correctamente para este caso, es decir, no ejecuta la instrucción tomar Flor porque la condición es falsa. SIGUIENTE

  14. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA • Prueba 4: Usamos Iteración ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  15. Ejercicio 1: CASO 1 – NO HAY FLORES EN LA ESQUINA ITERACION Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 0 Mientras (HayFlorEnLaEsquina) tomarFlor Como no hay ninguna flor en la esquina, la condición es falsa y no entra al cuerpo de la estructura mientras Fin Cantidad de Flores tomadas: 0 Todo funciona correctamente para este caso, es decir, no ejecuta la instrucción tomar Flor porque la condición es falsa. ANTERIOR SIGUIENTE

  16. Ejercicio 1: CASO 2 HAY 1 FLOR EN LA ESQUINA Esquina (28 , 5) ANTERIOR SIGUIENTE

  17. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  18. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA • Prueba 1: Usamos Secuencia ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  19. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA SECUENCIA Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 1 0 tomarFlor Como hay una flor en la esquina se toma esa flor y se continua con la ejecución del programa. Fin Cantidad de Flores tomadas: 0 1 La solución funciona y no genera error solo en este caso pues hay solo 1 flor seguro en la esquina. ANTERIOR SIGUIENTE

  20. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA • Prueba 2: Usamos Repetición ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Secuencia Repetición Selección Iteración ANTERIOR SIGUIENTE

  21. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA REPETICION Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 0 1 Repetir 1 tomarFlor Como hay una flor en la esquina se toma esa flor y se continua con la ejecución del programa. Usamos N=1 Cantidad de Flores tomadas: Fin 0 1 La solución funciona, sin embargo hay que tener en cuenta que si se sabe que hay una única flor y que se debe juntar 1 flor no sería necesario utilizar una estructura repetitiva. ANTERIOR SIGUIENTE

  22. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA • Prueba 3: Usamos Selección ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Secuencia Repetición Selección Iteración ANTERIOR SIGUIENTE

  23. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA SELECCION Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 1 0 0 Si (HayFlorEnLaEsquina) En este caso , como hay una flor en la esquina, la condición es verdadera y se entra al cuerpo de la estructura y se toma la flor tomarFlor Fin Cantidad de Flores tomadas: 0 1 Todo funciona correctamente para este caso ya que se sabe que hay que hay flor y se debe juntar 1 sola. ANTERIOR SIGUIENTE

  24. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA • Prueba 4: Usamos Iteración ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Secuencia Repetición Selección Iteración ANTERIOR SIGUIENTE

  25. Ejercicio 1: CASO 2 – HAY 1 FLOR EN LA ESQUINA ITERACION Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 1 0 0 Mientras (HayFlorEnLaEsquina) En este caso , como hay una flor en la esquina, la condición es verdadera y se entra al cuerpo de la estructura (una única vez) y se toma la flor tomarFlor Fin Cantidad de Flores tomadas: 0 1 La solución funciona, sin embargo hay que tener en cuenta que si se sabe que hay que tomar una única flor no sería necesario utilizar una estructura iterativa. ANTERIOR SIGUIENTE

  26. Ejercicio 1: CASO 3 HAY MAS DE UNA FLOR EN LA ESQUINA Esquina (28 , 5) ANTERIOR SIGUIENTE

  27. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  28. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA • Prueba 1: Usamos Secuencia ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Repetición Secuencia Selección Iteración ANTERIOR SIGUIENTE

  29. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA SECUENCIA Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 2 3 tomarFlor Como hay una flor en la esquina se toma esa flor y se continua con la ejecución del programa. Fin Cantidad de Flores tomadas: 0 1 La solución funciona ya que cuenta la flor, pero cabe señalar que en la esquina quedan flores. ANTERIOR SIGUIENTE

  30. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA • Prueba 2: Usamos Repetición ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Secuencia Repetición Selección Iteración ANTERIOR SIGUIENTE

  31. Ejercicio 1:CASO 3–HAY MAS DE UNA FLOR EN LA ESQUINA REPETICION Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 2 3 Repetir 1 Como hay flores en la esquina se toma una flor y se continua con la ejecución del programa. Usamos N=1 tomarFlor Cantidad de Flores tomadas: Fin 0 1 La solución funciona, sin embargo hay que tener en cuenta que si se sabe que hay flores pero se debe tomar una única flor no sería necesario utilizar una estructura repetitiva. ANTERIOR SIGUIENTE

  32. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA • Prueba 3: Usamos Selección ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Secuencia Repetición Selección Iteración ANTERIOR SIGUIENTE

  33. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA SELECCION Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 2 3 Si(HayFlorEnLaEsquina) tomarFlor Como hay flores en la esquina se toma una flor porque la condición es verdadera y se continua con la ejecución del programa. Cantidad de Flores tomadas: Fin 0 1 La solución funciona, sin embargo hay que tener en cuenta que si se sabe que hay mas de una flor y se quiere juntar sólo una no sería necesario utilizar una estructura selección. ANTERIOR SIGUIENTE

  34. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA • Prueba 4: Usamos Iteración ¿Cómo funcionaría el programa con cada estructura? ¿Cuál es la correcta para resolver este problema? Secuencia Repetición Selección Iteración ANTERIOR SIGUIENTE

  35. Ejercicio 1: CASO 3 – HAY MAS DE UNA FLOR EN LA ESQUINA ITERACION Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 0 3 Mientras (HayFlorEnLaEsquina) tomarFlor Cantidad de Flores tomadas: Como hay flores en la esquina se toman flores mientras la condición sea verdadera Fin 0 3 ERROR La solución NO funciona, porque se juntan todas las flores de la esquina y el problema pide que se junte una sola. ANTERIOR SIGUIENTE

  36. conclusión • Para el ejercicio 1, y para todo ejercicio en el que haya que juntar UNA flor o papel de una esquina la mejor solución es usar un SI (condición) ya que funciona para los tres casos planteados. Selección ANTERIOR SIGUIENTE

  37. EJERCICIO 2 ANTERIOR SIGUIENTE

  38. Ejercicio 2: Posicionar al robot en la esquina (28,5) y juntar TODAS las flores. En la esquina puede haber 0, 1 o mas flores. Si analizamos el ejercicio podemos ver que hay tres casos posibles CASO 1: Hay 0 flores en la esquina. CASO 2: Hay 1 flor en la esquina. CASO 3: Hay mas de 1 flor en la esquina (pero no sabemos cuantas exactamente). ANTERIOR SIGUIENTE

  39. ¿Qué estructura debo elegir para solucionar el problema pedido? Repetición Selección Secuencia Iteración ANTERIOR SIGUIENTE

  40. ¿Qué estructura debo elegir? • Descarto la Secuencia porque el ejercicio me pide juntar TODAS las flores de la esquina Repetición Selección Secuencia Iteración ANTERIOR SIGUIENTE

  41. ¿Qué estructura debo elegir? • Prueba 1: Usamos Repetición Repetición Selección Secuencia Iteración ANTERIOR SIGUIENTE

  42. CASO 1 CASO 1 CASO 1 Repetición Sabemos que debemos juntar todas las flores de la esquina pero no sabemos cuantas hay exactamente en la misma por lo que no sabemos que valor darle a N Comenzar iniciar Pos(28, 5) Repetir ? tomarFlor Fin Esta estructura no es adecuada para este ejercicio en particular ya que la estructura repetir necesita saber la cantidad de veces que debe ejecutar las instrucciones. SIGUIENTE

  43. ¿Qué estructura debo elegir? • Prueba 2: Usamos Selección Repetición Selección Secuencia Iteración ANTERIOR SIGUIENTE

  44. CASO 1 CASO 1 CASO 1 Iteración Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 3 0 2 Si (HayFlorEnLaEsquina) En este caso , solo tomará una flor de todas las que hay en la esquina y continua con la ejecución del programa . tomarFlor Fin Cantidad de Flores tomadas: 0 1 Esta solución si bien funciona para los casos de 0 o 1 flor en la esquina siempre debemos escribir soluciones teniendo en cuenta todos los posibles escenarios. En este caso por mas que el programa no da error no se cumple con lo pedido porque aún quedan flores en la esquina y no se han juntado. ANTERIOR SIGUIENTE

  45. ¿Qué estructura debo elegir? • Prueba 3: Usamos Iteración Repetición Selección Secuencia Iteración ANTERIOR SIGUIENTE

  46. CASO 1 CASO 1 CASO 1 Selección Esquina (28 , 5) Comenzar Cantidad de Flores en la esquina: iniciar Pos(28, 5) 3 0 0 Mientras (HayFlorEnLaEsquina) tomarFlor Cualquiera sea el caso de cantidad de flores en la esquina con el mientras se juntara todas las flores ya que la condición será verdadera mientras haya alguna flor. Fin Cantidad de Flores tomadas: 0 3 Todo funciona correctamente para los tres casos. ANTERIOR SIGUIENTE

  47. conclusión • Para el ejercicio de ejemplo 2, y para todo ejercicio en el que haya que juntar TODAS las flores o papeles de una esquina la mejor solución es usar un Mientras (condición). Iteración ANTERIOR SIGUIENTE

  48. CONCLUSIONES FINALES ANTERIOR SIGUIENTE

  49. CONCLUSIONES FINALES ANTERIOR

More Related