Вы находитесь на странице: 1из 10

BLOQUE I: DISEA Y ELABORA ALGORITMOS

INFORMTICA II BLOQUE I: DISEA Y ELABORA ALGORITMOS


Lectura: QU ES UN ALGORITMO? El diccionario de la Real Academia Espaola define problema como un conjunto de hechos o circunstancias que dificultan la consecucin de algn fin. Proposicin dirigida a averiguar el modo de obtener un resultado cuando ciertos datos son conocidos. Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema. La palabra algoritmo deriva del nombre del matemtico rabe Al-Khwarizmi, 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). Otros ejemplos, como el algoritmo de la divisin para calcular el cociente de dos nmeros o el algoritmo de Euclides para calcular el mximo comn divisor de dos enteros positivos pertenecen al mbito de las matemticas. De un modo ms formal, un algoritmo es una secuencia finita de instrucciones realizables, no ambiguas, cuya ejecucin conduce a una resolucin de un problema. 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 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. Un algoritmo puede ser escrito en lenguaje natural, pero esta descripcin puede ser ambigua, por lo que se utilizan diferentes mtodos de representacin, que permiten evitar dicha ambigedad y al mismo tiempo que sean fcilmente codificables. Los mtodos ms usuales para la representacin de algoritmos son: Descripcin narrada Diagrama de flujo Pseudocdigo

DESCRIPCIN NARRADA Es la forma ms sencilla de describir o expresar un algoritmo. Consiste en hacer un relato de la solucin en lenguaje natural. Por ejemplo: Algoritmo (en descripcin narrada) para calcular la suma de 2 nmeros: 1. Obtener los 2 nmeros a sumar. 2. Sumar los nmeros. 3. Mostrar el resultado. El uso del lenguaje natural provoca frecuentemente que la descripcin sea imprecisa y poco confiable, por lo que este tipo de representacin no es recomendable. DIAGRAMA DE FLUJO Es la representacin grfica de un algoritmo. Utiliza smbolos normalizados, con los pasos del algoritmo escritos en el smbolo adecuado y los smbolos unidos por flechas, denominadas lneas de flujo, que indican el orden en que los pasos deben ser ejecutados.

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

PSEUDOCDIGO El pseudocdigo en un lenguaje de especificacin de algoritmos que utiliza palabras reservadas y exige la indentacin, o sea, sangra en el margen izquierdo de algunas lneas. Se concibi para superar las dos principales desventajas de los diagramas de flujo: lento de crear y difcil de modificar sin un nuevo proceso de redibujo. Es una herramienta muy efectiva para el seguimiento de la lgica de un algoritmo y para transformar con facilidad los algoritmos a programas. En el mbito de las computadoras, los algoritmos se expresan como programas. Los programas son algoritmos codificados con un lenguaje no ambiguo cuya sintaxis y semntica "entiende" la computadora. As pues, si queremos que una computadora efecte una tarea, primero debemos descubrir un algoritmo para llevarla a cabo; programar el algoritmo en la mquina consiste en representar ese algoritmo de modo que se pueda comunicar a una mquina. En otras palabras, debemos transformar el algoritmo conceptual en un conjunto de instrucciones y representar estas ltimas en un lenguaje sin ambigedad. Gracias a la capacidad para comunicar nuestros pensamientos mediante algoritmos, podemos construir mquinas cuyo comportamiento simula, en alguna medida, la inteligencia. El nivel de inteligencia que simula la mquina est limitado por la inteligencia que podamos comunicarle por medio de algoritmos. Las mquinas slo pueden realizar tareas algortmicas. Si encontramos un algoritmo para dirigir la ejecucin de una tarea, podemos construir una mquina para llevarla a cabo siempre que la tecnologa haya avanzado lo suficiente. Si no encontramos un algoritmo, es posible que la ejecucin est fuera de las capacidades de las mquinas. CARACTERSTICAS DE LOS ALGORITMOS: Las caractersticas fundamentales que debe cumplir todo algoritmo son: Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.

Un algoritmo debe ser finito. Si se sigue un algoritmo se debe terminar en algn momento o sea, debe tener un nmero finito de pasos. La estructura de un algoritmo debe estar integrada por tres partes: Entrada, Proceso y Salida. La entrada se refiere a algo que existe y es utilizado por el algoritmo para transformarlo en los resultados que uno planifica. METODOLOGA DE SOLUCIN DE PROBLEMAS Antes de hablar de metodologas de solucin de problemas debes tener muy claro el concepto de mtodo, que a lo largo de la historia ha llamado la atencin de gran cantidad de filsofos y cientficos. El Diccionario Larousse define el trmino mtodo como el conjunto de operaciones ordenadas con que se pretende obtener un resultado. La metodologa es la ciencia que aplica este mtodo. Existen muchos tipos de metodologas, como la metodologa de investigacin, metodologa de enseanzaaprendizaje, etc., as como la metodologa de solucin de problemas, que aplicamos constantemente en la vida diaria. Pero en este caso hablaremos especficamente de la solucin de problemas que podemos resolver mediante el uso de la computadora. La resolucin de los problemas consta de 5 etapas que garantizan la llegada correcta a la solucin: identificacin del problema, planteamiento de alternativas de solucin, eleccin de una alternativa de solucin, eleccin de una alternativa, desarrollo de la solucin y evaluacin de esta. 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.

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

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. 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 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. 1 Fuentes: 1 Prez Chvez, Cecilia. Informtica 2, Bachillerato. ST EDITORIAL. Pgs. 21-23. http://boards4.melodysoft.com/app?ID=2004BFDP0402&msg=14&DOC=80 http://www.diagramas.20m.com/conceptos.html

SITUACIN DIDCTICA: El rea de ciencias sociales est organizando un viaje de estudios al Museo de Historia Natural en San Diego, California.* Los organizadores pueden elegir contratar una de dos opciones de transporte: rentar un autobs de lujo cuesta $20,000.00 y rentar un autobs sencillo les costara $15,000.00. El precio por persona depender de la cantidad de asistentes. A ti te han encargado enlistar las actividades necesarias a travs de un algoritmo y un diagrama de flujo para planear el viaje. Qu debes saber para lograr elaborar el algoritmo y diagrama de flujo para planear el viaje? Cunto se debe pagar para asistir, dependiendo de la opcin de transporte, es decir de lujo o sencillo? *

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

Lectura: DIAGRAMAS DE FLUJO DEFINICIN Es la representacin grfica de flujo de un algoritmo o de secuencia rutinarias Se basan en la utilizacin de diversos smbolos para representar operaciones especficas. Se les llama diagramas de flujo porque los smbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operacin. SMBOLOS UTILIZADOS Los smbolos que se utilizan para diseo se someten a una normalizacin, es decir, se hicieron smbolos casi universales, ya que, en un principio cada usuario podra tener sus propios smbolos para representar sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que slo aquel que conoca sus smbolos, los poda interpretar. La simbologa utilizada para la elaboracin de diagramas de flujo es variable y debe ajustarse a las normas preestablecidas universalmente para dichos smbolos o datos. Los siguientes smbolos son los principales:

DESCRIPCIN DE LOS SMBOLOS

Flujo de datos: Indica la secuencia (flujo) de operacin del diagrama, que a su vez indican el sentido y trayectoria.
Inicio o fin: Se utiliza para sealar el comienzo as como el final de un diagrama. Tradicionalmente se colocan las palabras "INICIO" "FIN" dentro de la figura para hacerlo ms explcito. Proceso: Es el smbolo ms comnmente utilizado. Se usa para representar un evento o proceso determinado que es controlado dentro del diagrama de flujo en que se encuentra, sumar, restar y cualquier operacin aritmtica es un proceso. Decisin. Se utiliza para representar una pregunta o interrogante que tiene al menos dos respuestas posibles, para cada una de las cuales hay un camino de continuacin del proceso. Lo anterior hace que a partir de ste el proceso tenga dos o ms caminos posibles. Conector: Representa un punto de conexin entre procesos. Se utiliza cuando es necesario dividir un diagrama de flujo en varias partes o procesos dentro de la misma hoja, por razones de espacio o simplicidad. Se usa para conectar procesos contenidos dentro de la misma hoja. La mayora de las veces se utilizan nmeros en los crculos para hacer la referencia. Entrada de datos: Representa una operacin de entrada. En este smbolo se indican los valores inciales que deber recibir el proceso. Esto se hace asignndoles letras o nombres de variables para cada uno de los valores y anotando estas letras en el interior de la figura. Despliegue de resultados: Este smbolo se utiliza para mostrar un resultado, el cual puede representar la solucin al problema que se pretende resolver y que fue conseguida a travs del resto del diagrama. Dentro de su interior se anotar la variable con el resultado final o el mensaje que represente el resultado del algoritmo. CARACTERSTICAS QUE DEBE CUMPLIR UN DIAGRAMA DE FLUJO Existe siempre un camino que permite llegar a una solucin (finalizacin del algoritmo). Existe un nico inicio del proceso.

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

Existe un nico punto de fin para el proceso de flujo (salvo del rombo que indica una comparacin con dos caminos posibles). DESARROLLO DEL DIAGRAMA DE FLUJO Las siguientes son acciones previas a la realizacin del diagrama de flujo: Identificar las ideas principales a ser incluidas en el diagrama de flujo. Definir qu se espera obtener del diagrama de flujo. Identificar quin lo emplear y cmo. Establecer el nivel de detalle requerido. Determinar los lmites del proceso a describir. Los pasos a seguir para construir el diagrama de flujo son: Establecer el alcance del proceso a describir. De esta manera quedar fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente. Identificar y listar las principales actividades/subprocesos que estn incluidos en el proceso a describir y su orden cronolgico. Si el nivel de detalle definido incluye actividades menores, listarlas tambin. Identificar y listar los puntos de decisin. Construir el diagrama respetando la secuencia cronolgica y asignando los correspondientes smbolos. Asignar un ttulo al diagrama y verificar que est completo y describa con exactitud el proceso elegido. VENTAJAS DE LOS DIAGRAMA DE FLUJO Favorecen la comprensin del proceso a travs de mostrarlo como un dibujo. El cerebro humano reconoce fcilmente los dibujos. Un buen diagrama de flujo reemplaza varias pginas de texto. Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos redundantes, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisin. Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el anlisis de las mismas. Son una excelente herramienta para capacitar a los nuevos empleados y tambin a los que desarrollan la tarea, cuando se realizan mejoras en el proceso. ESTRUCTURAS ALGORTMICAS Las estructuras de operacin de programas son un grupo de formas de trabajo, que permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en:

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

Secuenciales: Para dar solucin a ste tipo de problemas, se emplea una serie de acciones ejecutadas repetidamente en un solo orden secuencial. Condicionales: Para dar solucin a ste tipo de problemas, se emplean acciones en las que la ejecucin de alguna depender que se cumplan una o varias condiciones Cclicas: Son aquellas que para dar una solucin, es necesario utilizar el mismo conjunto de acciones que puedan ejecutarse ms de una vez.

EJEMPLO: Definicin del Problema: Elaborar un algoritmo para calcular la suma de dos nmeros y representar el algoritmo grficamente. Anlisis del problema: Entrada: A y B representan los dos nmeros. Proceso: Suma= A + B Salida: Resultado es Suma Algoritmo: 1.- Inicio 2.- Leer A y B 3.- Suma= A + B 4.- Imprime (El resultado es: Suma) 5.- Fin. Diagrama de flujo:

Inicio A, B Suma= A+B El resultado es: Suma Fin

Para conocer ms, consultar tambin las siguientes direcciones: http://es.wikipedia.org/wiki/Diagrama_de_flujo#Ventajas_de_los_diagrama_de_flujo http://www.monografias.com/trabajos42/diagrama-de-flujo/diagrama-de-flujo2.shtml http://www.monografias.com/trabajos60/diagrama-flujo-datos/diagrama-flujo-datos2.shtml

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

Lectura: PSEUDOCDIGO DEFINICIN Mucho se habla del pseudocdigo en las carreras de Analista de Sistemas y Programacin. Pero no existe mucha bibliografa al respecto. Digamos que el pseudocdigo es una forma de diagramar un algoritmo para resolver un determinado problema, sin atenerse a ningn lenguaje de programacin en especial. En vez de escribir el programa directamente en un lenguaje de programacin determinado (C, Basic, etc.), crearemos un borrador entendible para todos, para luego de tener bien en claro lo que se debe hacer, pasar a la programacin propiamente dicha. No hay que confundirlo con un diagrama de flujo. En el diagrama de flujo se representa el transcurso del programa, el momento donde se obtienen los datos, cuando se procesan y el momento de presentar los resultados. Si bien son dos herramientas que se utilizan en conjunto, cada una representa dos partes distintas en el diseo de un sistema. El pseudocdigo se refiere a crear un cdigo para orientar a los programadores, pero sin la sintaxis ni la estructura propia de ningn lenguaje. El pseudocdigo es la mezcla de lenguaje de programacin y espaol (o ingls, o cualquier otro idioma) que se emplea, dentro de la programacin estructurada, para realizar el diseo de un programa. En esencial, el Pseudocdigo se puede definir como un lenguaje de especificaciones de algoritmos. El Pseudocdigo utiliza palabras que indican el proceso a realizar. Ventajas de utilizar un Pseudocdigo a un Diagrama de Flujo 1.Ocupan mucho menos espacio en el desarrollo del problema. 2.Permite representar de forma fcil operaciones repetitivas complejas. 3.Es ms sencilla la tarea de pasar de pseudocdigo a un lenguaje de programacin formal.

4.

Si se siguen las reglas de identacin se puede observar claramente los niveles en la estructura del programa. 5.En los procesos de aprendizaje de los alumnos de programacin, estos estn ms cerca del paso siguiente (codificacin en un lenguaje determinado, que los que se inician en esto con la modalidad Diagramas de Flujo). Mejora la claridad de la solucin de un problema.

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

ACTIVIDADES
1.- Realiza una lectura de los temas Qu es un algoritmo?, Diagramas de flujo, Pseudocdigo, y elabora un resumen en el cuaderno de apuntes. 2.- Con la finalidad de practicar y tener los conocimientos para elaborar el algoritmo y diagrama de flujo para planear el viaje, trabaja colaborativamente en parejas para elaborar los siguientes ejercicios: Elabora un algoritmo para cambiar una llanta ponchada de carro. Elabora un algoritmo para preparar un sndwich. Elabora un algoritmo para obtener el rea de un tringulo. Elabora el algoritmo para convertir una cantidad de pesos a dlares.

Resuelve los ejercicios aplicando la metodologa para llegar a una mejor solucin de los problemas: Identificar el problema a resolver. Plantear alternativas de solucin. Elegir una alternativa. Desarrollar la solucin (el algoritmo). Evaluar la solucin (el algoritmo). Elabora un reporte en el cuaderno de apuntes de las soluciones planteadas.

3.- Trabaja en equipo de tres integrantes para elaborar en el cuaderno de apuntes el algoritmo que de solucin a los siguientes problemas: Un alumno desea saber cul ser su calificacin final en la asignatura de Informtica II. Dicha calificacin se compone de tres calificaciones parciales con valor de 80% y un examen semestral con valor de 20%. El maestro de informtica II desea saber qu porcentaje de hombres y qu porcentaje de mujeres hay en su grupo. Elabora el algoritmo para planear el viaje al zoolgico de San Diego, tomando en cuenta el costo a pagar, dependiendo del tipo de transporte.

4.- Trabaja colaborativamente en equipo de tres integrantes para revisar el siguiente ejemplo que viene en diagramas de flujo (Pag. 6) y realizar en el cuaderno de apuntes los diagramas de flujo de los algoritmos que se elaboraron en las actividades 2 y 3. 5.- Emplea el programa Microsoft Word 2007 para elaborar los diagramas de flujo que se presentan en la actividad 4. 6.- Trabaja colaborativamente en parejas y resuelve el problema planteado en la situacin didctica: Enlistar las actividades necesarias a travs de un algoritmo y un diagrama de flujo para planear el viaje. Cunto se debe pagar para asistir, dependiendo de la opcin de transporte, es decir de lujo o sencillo? Elabora un documento que contenga el algoritmo y diagrama de flujo, con introduccin, desarrollo y conclusin en el programa Microsoft Word 2007. Expongan al grupo la solucin planteada, con ideas claras y la temtica bien organizada. Profesor: Jos David Ortiz Salas Villareal Snchez 8 Profesora: Maribel

BLOQUE I: DISEA Y ELABORA ALGORITMOS

Profesor: Jos David Ortiz Salas Villareal Snchez 8

Profesora: Maribel