1.1. FUNDAMENTOS Un elemento bsico para el funcionamiento del computador es el Software, el cual est formado por una serie de instrucciones y datos que permiten el aprovechamiento de los diversos recursos de la computadora, para resolver gran cantidad de problemas. El software est constituido por programas los cuales son un conjunto detallado de instrucciones que instruyen al procesador para realizar determinados procesos particulares. Los datos pueden ser cualquier informacin que necesite el programa: caracteres, nmeros, imgenes, etc. Por otro lado un computador es incapaz de hacer cosas por su propia iniciativa, hace nicamente lo que se le ordene para lo cual es necesario especificarle detalladamente paso a paso de qu manera debe ejecutar un conjunto de rdenes. Este proceso de ensear al computador se conoce como programacin: y su producto es el programa. Un programa se escribe en un lenguaje de programacin el cual proporciona la interfaz hombre mquina. As pues, los lenguajes utilizados para escribir programas de computadoras son los lenguajes de programacin y los programadores son los escritores y diseadores de programas. Un programador a su vez da solucin a un problema mediante la resolucin de algoritmos o diagramas de flujo.
1.2. ALGORITMO Un algoritmo constituye una lista completa de los pasos y una descripcin de los datos que son necesarios para resolver un determinado problema en el ambito del mtodo. La naturaleza de los problemas varan con el mbito o con el contexto donde estn planteados as, existen problemas matemticos, qumicos, etc. Segn esto la naturaleza de los algoritmos tambin es variada y no todos ellos pueden ser ejecutados por la computadora. De esto, se deriva que un algoritmo se desarrolla para un determinado mtodo y que su definicin tiene dos partes esenciales: Una lista de pasos que deben ser ejecutados. Una descripcin de los datos que son manipulados por estos pasos.
1.3. METODOLOGIA PARA LA SOLUCIN DE PROBLEMAS POR MEDIO DEL COMPUTADOR Definicin del Problema: Esta fase est dada por el enunciado del problema y consiste es estudiar el problema planteado dividiendo en tantas partes como sea posible, para obtener una idea clara y concisa sobre lo que se desea obtener como resultado. Es importante que se conozca lo que se desea que realice la computadora mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa. Anlisis del Problema: Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cul es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos.
Una recomendacin muy prctica es el que nos pongamos en el lugar de la computadora y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los resultados esperados. PROBLEMA ALGORITMO PROGRAMA DATOS ENTRADA PROCESO DATOS SALIDA
ALGORITMOS ING. CIP: AMACHE SNCHEZ MILTON FREDDY
2
Diseo del Algoritmo: Consiste en describir las secuencias ordenadas de pasos que conducen a la solucin de un problema dado.
1.4. CARACTERISTICAS DE LOS ALGORITMOS Descripcin de los pasos que deben ser ejecutados (estructuras lgicas). Descripcin de los datos que son manipulados por estos pasos (estructura de datos). Un algoritmo debe ser preciso, indicando el orden de realizacin de cada paso. Todo algoritmo debe ser finito. Si se sigue un algoritmo, este debe terminar en algun momento. Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado. Un algoritmo puede o no tener datos de entrada. Un algoritmo producira uno o mas datos de salida. Los datos de entrada y salida deben almacenarse en estructuras de datos. El resultado que se obtenga debe satisfacer los requerimientos de la persona interesada (efectividad). Debe ser estructurado; es decir, debe ser facil de leer, entender, usar y cambiar si es preciso. En conclusin, los algoritmos permiten especificar la logica de desarrollo de los metodos que conforman una clase. Por lo tanto, se debe entender la importancia de estudiar los algoritmos para comprender como se esta solucionando un determinado problema.
1.5. TIPOS DE ALGORITMOS Existen dos tipos de algoritmos computacionales: Algoritmos Cualitativos Son aquellos en los que se describen cualquier accin o conjunto de acciones utilizando palabras pero siempre enmarcadas en tres estructuras fundamentales que son: Secuencia de acciones: Para escribir una secuencia de rdenes o acciones todo lo que tiene que hacer es colocar una nueva orden o una nueva accin despus de la ltima que haya colocado. De esta manera se entiende la secuencialidad y la ordinalidad en la ejecucin de esas acciones. Decisin de accin: Son condiciones que nos permite que podamos decidir cul es el camino lgico correcto a tomar para resolver un problema eficientemente, la cual lleva que para tomar una decisin completa se involucra: o Una pregunta que evala una condicin o Un conjunto de acciones a realizar en caso de que la condicin sea verdadera o Un conjunto de acciones a realizar en caso de que la condicin sea falsa Repeticin o Ciclos de acciones: No es ms que la estructura que nos permite repetir una o varias acciones una cantidad definida de veces. Para identacin de acciones repetitivas usted puede representar con la palabra Mientras/Hasta o Repetir/Hasta, bloques que establece en relacin con una condicin el inicio de un conjunto de acciones que se repiten precisamente Mientras esa condicin lo permita. La estructura Mientras (por efectos de clarificacin del algoritmo) debe tener un finalizador que indique hasta donde llega el bloque de acciones que debemos repetir
Algoritmos Cuantitativos Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso.
ALGORITMOS ING. CIP: AMACHE SNCHEZ MILTON FREDDY
3
1.6. TECNICAS PARA LA FORMULACIN DE ALGORITMOS PSEUDOCODIGO Expresa algoritmos con palabras sencillas muy semejantes a un lenguaje de programacin.
Pautas basicas Todo algoritmo debe tener un nombre, el cual debera comenzar con una letra mayuscula. Si es un nombre compuesto, la primera letra de cada palabra simple deber estar en mayuscula. No se permiten los espacios en blanco en el nombre del algoritmo. Es necesario que se determinen los datos de entrada y la informacin de salida. Para declarar una variable x se debera determinar que tipo de dato se almacenara. Por ejemplo, si se desea declarar una variable de tipo texto se realizaria de la siguiente manera: TEXTO x. Para asignar un valor a una variable x se utiliza el signo igual. Por ejemplo, si se desea asignar 5 a la variable x se realizara de la siguiente manera: x=5. Para indicar que la computadora lea un valor desde un dispositivo externo y lo almacene en la variable z, se utiliza: LEER z. Para indicar que la computadora escriba hacia un dispositivo externo: o Para escribir un mensaje (observe que el mensaje esta entre comillas) se utiliza: ESCRIBIR Hola. o Para escribir el valor de una variable (observe que la variable no esta entre comillas) se utiliza: ESCRIBIR x. o Para escribir el resultado de una expresion (observe que la expresin no esta entre comillas) se utiliza: ESCRIBIR x+2
Estructura basica de un pseudocodigo Algoritmo NombreClase nombreMetodo()
En ENTRADA y SALIDA se especifican las variables que se usaran en el desarrollo del algoritmo.
ENTRADA: SALIDA:
INICIO Este es el cuerpo del algoritmo expresado en Pseudocodigo. Las instrucciones se colocan entre INICIOFIN
FIN
DIAGRAMA DE FLUJO Un diagrama de flujo permite ilustrar la secuencia de pasos de un algoritmo por medio de simbolos especializados y lineas de flujo. La combinacin de simbolos especializados y lineas de flujo describe la lgica para la solucin de problemas (algoritmos). Entonces, se puede afirmar que el diagrama de flujo es la representacin grfica de un algoritmo.
Recomendaciones para el diseo de Diagramas de Flujo Se deben usar solamente lneas de flujo horizontal y/o vertical. Se debe evitar el cruce de lneas utilizando los conectores. Se deben usar conectores solo cuando sea necesario. No deben quedar lneas de flujo sin conectar. Se deben trazar los smbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha. Todo texto escrito dentro de un smbolo deber ser escrito claramente, evitando el uso de muchas palabras.
ALGORITMOS ING. CIP: AMACHE SNCHEZ MILTON FREDDY
4
Elementos o simbolos bsicos DIAGRAMA DESCRIPCIN
INICIO / FIN Simbolo que permite marcar el inicio y fin de un algoritmo.
PROCESO Utilizada para asignar valores a variables y resultados de operaciones matematicas.
ENTRADA / SALIDA Utilizada para ingresar datos y visualizar la informacin que resulta del procedimiento.
SALIDA POR PANTALLA Utilizado para mostrar informacion por medio de la pantalla.
SALIDA POR IMPRESORA Se usa para mostrar los resultados impresos usando una impresora.
CONECTOR Este simbolo indica la continuidad y a la vez que no se crucen los flujos (lineas) en un diagrama.
DECISION Especifica la realizacin de una comparacin de valores.
FLUJOS Lineas que permiten unir los diagramas y mostrar la secuencia lgica a la solucin del problema.
Estructura bsica de un diagrama de flujo Algoritmo NombreClase nombreMetodo()
Este es el cuerpo del algoritmo expresado en diagrama de flujo. Las instrucciones se colocan entre INICIO FIN.