You are on page 1of 7

Programacin estructurada

Ing. Jos ngel Muoz Barajas.

Problema.
No existe un concepto determinado o exclusivo de la palabra problema, de hecho depende del contexto en el que se est desarrollando. La palabra problema se deriva del sustantivo griego problema, compuesto de pro (delante) y blma (accin de arrojar), es decir, ante un problema no hay otra opcin mas que resolverlo. El Diccionario de la Real Academia de la Lengua Espaola define problema como un conjunto de hechos o circunstancias que dificultan la consecuencia de algn fin; tambin se puede definir como una necesidad inicial, que tiene un objetivo o solucin a alcanzar mediante una serie de operaciones, actividades o mtodos bien definido. Un problema consiste en una situacin que debe aclararse o resolverse y que puede tener un nmero determinado o indefinido de soluciones. En forma general podemos decir que tenemos un problema si se presentan las siguientes situaciones: Una ocasin dudosa para la cual se proporcionan ciertos datos o informacin, a los que se llama condicin del problema. Una circunstancia o situacin en la que se plantea una tarea o interrogante, misma que se denomina requerimiento del problema.

Un problema se puede definir como: Una situacin en la que se plantea una tarea o interrogante (requerimiento) que se trata de resolver cuando se conocen ciertos datos (condiciones), y para las cuales no se tiene un procedimiento previo de solucin.

Ejercicio 1: Identificar dos problemas detectados en la escuela y como los solucionaras. Algoritmo
Una serie de pasos o instrucciones que presentan una secuencia lgica de operaciones necesarias para resolver un problema. La palabra algoritmo deriva del nombre del matemtico rabe AlKhwarizmi, que vivi entre los siglos VII y VIII. Generalmente los algoritmos se presentan a diario con las diversas vivencias de las personas, todo lo que nos rodea es siempre una secuencia de pasos que nos llevan a realizar nuestras labores en ocasiones ordenadamente. En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas, como por ejemplo para hacer funcionar una lavadora (conjunto de instrucciones pegadas en la tapa de la mquina), para tocar msica (partituras), para construir un aeroplano a escala (expresados en las instrucciones), para hacer trucos de magia (pasos para hacer el truco) o, incluso, para hacer recetas de cocina (pasos de la receta). El algoritmo nos da la solucin genrica a un problema y lo podremos emplear todas las veces que se nos presente ese mismo problema, por ejemplo: el algoritmo de la divisin es genrico e independiente de los nmeros que tengamos que dividir. Una vez descubierto un algoritmo para efectuar una tarea, la realizacin de sta ya no requiere entender los principios en que se basa dicho algoritmo, pues el proceso se reduce a seguir las 1

Programacin estructurada

Ing. Jos ngel Muoz Barajas.

instrucciones del mismo. Por ejemplo, podemos hacer una divisin siguiendo el algoritmo sin entender por qu funciona el algoritmo. La inteligencia requerida para llevar a cabo la tarea est codificada en el algoritmo.

Caractersticas de los algoritmos


Las caractersticas fundamentales que debe cumplir cualquier algoritmo son: Precisin: debe indicar el orden preciso en el que se va a realizar cada uno de los pasos. Secuencial: debe representar una secuencia de pasos bien definidos. Finito: el algoritmo debe terminar despus de un nmero finito de pasos. Si un algoritmo contina indefinidamente entonces no tiene sentido y no sirve de mucho. Definido: debe evitar la ambigedad en cada paso, es decir, se debe entender de la misma forma cada vez que se lea o ejecute. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.

Estructura de un algoritmo
La estructura de un algoritmo debe estar integrada por tres partes: Entrada, Proceso y Salida. Los datos en el planteamiento de un problema deben tener informacin suficiente para identificar los datos de entrada y las caractersticas de la solucin o resultados de salida.

Anlisis de un problema
La identificacin del problema es una fase muy importante en la metodologa, pues de ella depende el desarrollo posterior en busca de la solucin. Un problema bien delimitado es una gran ayuda para que el proceso general avance bien; un problema mal definido provocar desvos conceptuales que sern difciles de remediar posteriormente. En esta etapa es fundamental el anlisis de la informacin inicial (entrada) con el fin de distinguir los datos pertinentes de los que no lo son, de manera que se pueda elegir la configuracin ms conveniente respecto a las soluciones posibles. Tambin deben definirse los datos de salida que garanticen la continuidad del proceso para que sea ms fcil eliminar las expectativas negativas.

Datos de entrada
En general se tendr una o mas entradas, es decir, se dispondr de ciertas cantidades o datos antes de iniciar. Estas cantidades representan al mundo real, y se expresan de tal forma que pueden ser interpretadas por otra persona o una computadora. Para definir las entradas de un algoritmo podemos hacernos la siguiente pregunta: Qu datos se necesitan para realizar el proceso? Debemos mencionar que tambin encontraremos algunos problemas que no tengan ninguna entrada, ya que calculan por si mismos esas cantidades y no esperan que el usuario las capture.

Programacin estructurada

Ing. Jos ngel Muoz Barajas.

Los procesos en la resolucin de un problema son todas las operaciones requeridas para obtener las salidas que resuelvan el problema. Las salidas en la resolucin de problemas se encuentran relacionadas con las entradas. Para definir la salida podemos hacernos la siguiente pregunta: Qu se obtiene al ejecutar un algoritmo?

Recomendaciones para la redaccin de los algoritmos


Algunas recomendaciones para que la redaccin de los algoritmos sea de fcil lectura y comprensin son: Utilizar la palabra inicio y fin para identificar el punto de partida y el trmino del algoritmo aunque este numerado. Numerar cada paso. Las instrucciones deben ser frases cortas y concretas. No iniciar las instrucciones con artculos (l, la, los, etc.) o pronombres. Las instrucciones inician con un verbo que identifica la accin que se va a realizar. Cuando un problema es muy complejo se recomienda dividirlo en mdulos o sub algoritmos.

Ejemplos de algoritmos: Algoritmo para preparar un huevo estrellado 1. Inicio 2. Preparar los utensilios e ingredientes 3. Prender la estufa 4. Poner a calentar un sartn con un poco de grasa en la estufa 5. Quebrar el huevo y vaciarlo en la sartn 6. Agregar un poco de sal 7. Esperar que est cocido 8. Servir y Comer 9. Fin Algoritmo para calcular el rea de un rectngulo 1. Inicio 2. Obtener las medidas de base y altura 3. Multiplicar base por altura 4. Obtener el rea del rectngulo 5. Fin Algoritmo para dar un paso 1. Inicio 2. Apoyar el cuerpo sobre el pie izquierdo 3. Levantar el pie derecho 4. Avanzar el pie derecho 5. Bajar el pie derecho 6. Apoyar el cuerpo sobre el pie derecho 7. Levantar el pie izquierdo 8. Avanzar el pie izquierdo 9. Bajar el pie izquierdo 10. Fin

Algoritmo para reproducir un CD de msica. 1. Inicio 2. Encender el reproductor de msica 3. Presionar el botn Eject para abrir la unidad de CD 4. Insertar el CD de audio en la unidad 5. Presionar el botn Eject para cerrar la unidad 6. Esperar a que la unidad detecte el CD e inicie la reproduccin 3

Programacin estructurada

Ing. Jos ngel Muoz Barajas. 7. Ajustar el volumen 8. Escuchar la msica 9. Fin

Ejercicio 2: Ordena los siguientes algoritmos.


Cambiar un foco fundido: Bajar de la base Inicio Tomar un foco nuevo Encender el foco Subir a la base Dar vueltas al foco nuevo en la rosca hasta apretarla Ubicar una base debajo del foco fundido Fin Girar el foco fundido hacia la izquierda hasta quitarlo Pescar un Pez: Esperar que el pez se trague la carnada Enrollar la caa de pescar Fin Tirar la caa de pescar al agua Inicio Llevar el pescado a casa Quitar el anzuelo de la boca del pez Colocar la carnada en el anzuelo Para conocer la edad de una persona: Fin Restar el ao de nacimiento al ao actual Conocer el ao en que estamos Preguntar la fecha de nacimiento Inicio Mostrar el resultado de la operacin, edad de la persona.

Actividad 3: Elaborar los siguientes algoritmos.


Algoritmo para cambiar una llanta ponchada Algoritmo para obtener el rea de un tringulo

Algoritmo para convertir una cantidad de pesos a dlares

Algoritmo que multiplique tres nmeros.

Programacin estructurada

Ing. Jos ngel Muoz Barajas.

Procedimiento para resolver un problema


Identificacin del problema La identificacin del problema es una fase muy importante en la metodologa, pues de ella depende el desarrollo posterior en busca de la solucin. Un problema bien delimitado es una gran ayuda para que el proceso general avance bien; un problema mal definido provocar desvos conceptuales que sern difciles de remediar posteriormente. En esta etapa es fundamental el anlisis de la informacin inicial (entrada) con el fin de distinguir los datos pertinentes de los que no lo son, de manera que se pueda elegir la configuracin ms conveniente respecto a las soluciones posibles. Tambin deben definirse los datos de salida que garanticen la continuidad del proceso para que sea ms fcil eliminar las expectativas negativas. Planteamiento de alternativas de solucin Despus de la definicin del problema y del anlisis de los datos de entrada, el proceso contina con el anlisis de las alternativas de solucin. Por lo general, la solucin de un problema puede alcanzarse por distintas vas. Es til tratar de plantear la mayor cantidad de alternativas posibles de solucin, pues de esta forma las probabilidades aumentan a favor de encontrar la va correcta. Se debe destacar que no es conveniente extender demasiado el nmero de alternativas, pues si el nmero de stas es demasiado alto, se presentar una mayor dificultad para elegir la mejor de todas, que es en definitiva el objetivo del proceso. Eleccin de una alternativa Despus de tener todo el repertorio de alternativas, es necesario pasar a otra etapa: la eleccin de la mejor entre todas las posibilidades. Esta fase es muy importante porque de la eleccin realizada depende el avance final hasta la solucin. La orientacin hacia delante supone la irreversibilidad si la decisin es acertada o una reversibilidad costosa, pues si la decisin no es acertada, es necesario retroceder, lo que afecta la optimidad del proceso. Por tanto, es necesario que cada alternativa sea bien analizada para que la toma de decisiones sea bien justificada. Deber elegir la alternativa que sea la ms adecuada para la solucin de problemas, tomando en cuenta las caractersticas del problema y las caractersticas que deber tener la solucin, as como los elementos, datos o informacin con la que cuentas. Seleccionar la mejor alternativa. Desarrollo de solucin Despus de decidir cul es la mejor alternativa de todas, se llega a la etapa de la solucin. En esta fase, a partir de los datos relacionados con la alternativa seleccionada, se aplican las operaciones necesarias para solucionar el problema. La seleccin de los procesos tambin debe ser 5

Programacin estructurada

Ing. Jos ngel Muoz Barajas.

determinada en funcin de la optimidad, es decir, las operaciones deben llegar a la solucin por el camino ms corto para garantizar la mayor eficiencia en el funcionamiento. Si la alternativa es la ptima, llevar a la solucin deseada que fue prevista en la identificacin del problema. Evaluacin de la solucin Luego de haber desarrollado la solucin queda an una etapa, que es la evaluacin. En los procesos industriales a este procedimiento se le llama control de la calidad y consiste en determinar que la solucin obtenida es lo que esperaba conseguir comprobando que el resultado sea correcto. En esta fase se deben pulir los procesos ya realizados y tratar de llevarlos a un grado mayor de optimidad, pues el algoritmo ms eficiente en la solucin de un problema es el que llega a su objetivo final con la mayor economa de procedimientos que sea posible. Evaluar la solucin. Ejemplo: Francisco sabe que en el mercado est la promocin de dos sodas por $19.50, el tiene $78.00 pesos y quieres saber, cuntas sodas puede comprar? Planteamiento: Si dos sodas cuestan $19.50, cuntas podemos comprar con $78.00? Cuntas sodas se pueden comprar? del Entrada: costo de 2 sodas = $19.50, cantidad de dinero con el que se cuenta = $78.50 Salida: Total de sodas que se pueden comprar con $78.50 78/19.5 = 4 4*2=8 19.50/2 = 9.75 78/19.5 = 8 78/19.5 = 4 4*2=8 1. Inicio 2. Obtener el precio de las dos sodas 3. Obtener la cantidad de dinero con la que se cuenta 4. Dividir la cantidad de dinero entre el precio de las dos sodas 5. Multiplicar el resultado de la divisin por el nmero de sodas que integra el precio. 6. Mostrar el nmero de sodas que se pueden comprar con esa cantidad de dinero 7. Fin 117/19.5 = 6 6*2=12

Identificacin problema

Planteamiento de alternativas de solucin

Eleccin de una alternativa

Desarrollo de solucin

Evaluacin de la solucin

Programacin estructurada

Ing. Jos ngel Muoz Barajas.

Ejercicio 4: Elaborar el procedimiento para resolver problemas de la siguiente situacin:


Norma desea saber cul ser su calificacin final en la asignatura de Informtica. Dicha calificacin se compone del Promedio de: 3 calificaciones parciales a1 50% y un examen semestral con valor de 50%. Planteamiento: Cual es la calificacin de Norma si sus 3 examenes parciales valen 50% y su examen semestral 50% Cual ser la calificacin final de Norma? Entrada: calificacin de 3 Parciales y calificacion del examen semestral Identificacin del Salida: Calificacion Final problema

Promedio de los 3 examenes parciales por 0.5 Examen semestral por 0.5 Planteamiento de Suma del resultado de las dos multiplicaciones alternativas de solucin Sumar el promedio de los 3 examenes mas examen semestral. Dividir la suma por dos.

Promedio de los 3 examenes mas examen semestral. Dividir la suma por Eleccin de una dos. alternativa

Desarrollo solucin

1. inicio 2. Obtener el promedio de los 3 examenes parciales 3. Obtener la calificacin del examen semestral. de 4. Sumar el promedio de los 3 parciales y el examen semestral. 5. Dividir la suma por dos. 6. Mostrar el resultado de la divisin. 7. Fin

(10+9+8)/3 = 9 Evaluacin de la 9 + 7 = 16 solucin 16/2 = 8

You might also like