Unidad I. Fundamentos de Programacion. Tema I. Algoritmos y Programas Unidad I. Fundamentos de Programacion. Objetivos Describir las ideas generales sobre algoritmos y programas. Definir terminos claves: algoritmo, programa y aplicacion. Presentar los motivos que llevan a hacer un algoritmo y un programa. Describir las relaciones existentes entre un algoritmo y un programa. Tema I. Algoritmos y Programas Algoritmos Definicion: Un algoritmo se entiende como una sucesion finita de pasos que debe cumplir las siguientes especificaciones: 1. Cada paso del algoritmo debe estar bien definido: Esto significa que la definicion de un paso debe ser suficientemente clara, para que una persona pueda entenderla y realizarla. Si bien no se puede dar un criterio deterministico para decidir si un paso esta bien definido, debemos apelar al sentido común para decidir que un paso esta especificado sin ambiguedades. 2. Cada paso del algoritmo debe poder realizarse en un tiempo finito y deben requerir un esfuerzo finito: Es natural pedir que si debemos seguir una receta para realizar algo, cada paso podamos terminarlo y ademas tenga un costo finito. No tendria sentido una especificacion como esperar en la fila hasta que se acabe el universo y luego avanzar un paso, pues dicha especificacion no deja clara cual es la cantidad de tiempo necesaria para avanzar un paso. ¿El universo se terminara mañana o dentro de 1000 millones de años? Por otro lado, si uno de los pasos del algoritmo requierese un tiempo indeterminado para ser ejecutado, tampoco podríamos determinar si el algoritmo terminará en algún momento. 3. Un algoritmo debe finalizar en un numero Segun la real academia española: Conjunto ordenado y finito de operaciones que permite hallar la solucion de un problema. Metodo y notacion en las distintas formas del calculo. Palabras claves: Ordenado, Finito, Operaciones, Notacion, Metodo, Solucion, Problema. Entonces un algoritmo es: Conjunto finito de operaciones Encuentra la solucion a un problema Usa un metodo Las operaciones tienen un orden Usa una notacion Es independiente de un lenguaje de programacion Ejemplos de algoritmos: Cambiar el caucho del carro Limpiar una casa Renovar un documento (p.e. cedula) Organizar una fiesta Encontrar la raiz cuadrada de un numero Programas Los Programas son Algoritmos que se han implementado en algun lenguaje de programacion. Las operaciones son “sentencias” o “instrucciones”. La notacion de las instrucciones depende del lenguaje que se utilice (sintaxis). Tienen un conjunto “finito” de instrucciones Los Programas son Algoritmos Como hacemos ingenieria, cuando escribimos programas debemos usar un método o una metodologia. Los algoritmos los escribe el programador y los ejecuta el procesador de la computadora, por lo tanto debemos anticipar situaciones, repetir instrucciones y almacenar informacion.