Programa: Ingeniería en Telecomunicaciones Numero de Celular: 3007908862 Cead: Occidente 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
Algoritmos: Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema que termina en un número finito de pasos • Debe ser preciso. e indicar el orden de realización de cada paso. • Debe ser definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. • Debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento ; o sea debe tener un número finito de pasos. • La definición de un algoritmo debe describir tres partes : Entrada, Proceso y Salida. 301303- algoritmos 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
Diagrama de Flujo: Es aquél que se vale de diversos símbolos para representar las ideas o acciones a desarrollar. Es útil para organizar las acciones o pasos de un algoritmo pero requiere de etapas posteriores para implementarse en un sistema de cómputo. • Es fácil de darle seguimiento a las operaciones • Es más fácil de corregir • No existen problemas con el lenguaje, tal y como podría suceder con un algoritmo. 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
Pseudocódigo: En ciencias de la computación, y análisis numérico el pseudocódigo (o falso lenguaje) es una descripción de un algoritmo informático de programación de alto nivel compacto e informal que utiliza las convenciones estructurales de un lenguaje de programación verdadero, pero que está diseñado para la lectura humana en lugar de la lectura en máquina, y con independencia de cualquier otro lenguaje de programación. Normalmente, el pseudocódigo omite detalles que no son esenciales para la comprensión humana del algoritmo, tales como declaraciones de variables, código específico del sistema y algunas subrutinas. 301303- algoritmos 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
Diferencias: Aunque son formas de representar un algoritmo, su diferencia radica en la forma en la que se representa, uno es grafico (diagrama de flujo) e indica paso a paso la forma de solucionar un problema o proceso, y dentro de su simbología estandarizada se puede complementar con directrices en el lenguaje del programador , y el algoritmo aunque también nos puede mostrar paso a paso las instrucciones para la solución de un algoritmo, tiene la ventaja de ser un lenguaje intermedio entre el ser humano y el lenguaje maquina, por lo tanta es flexible y fácil de entender por el programador pero tampoco puede ser interpretado por la maquina a pesar de que se utilizan palabras claves o instrucciones para la máquina 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN? 1. ANÁLISIS PREVIO DEL PROBLEMA En esta etapa se debe definir y tener claro lo que el programa tiene que hacer junto con las tareas que debe realizar para llevar a cabo la solución, qué datos necesito para realizar la tareas, que formato deben tener los datos de entrada, de donde provienen los datos de entrada, como se obtienen esos datos, cómo interactúan los datos entre sí para obtener el resultado, muy importante tener claro cuál será el resultado que se desea obtener, tampoco dejar de lado las restricciones que puede haber al momento de procesar los datos.. 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN? 2. DISEÑO DEL ALGORITMO Una vez que tenemos claro el problema, después de haber definido todas la entradas y salidas que va tener el programa, también las tareas a realizar, es hora de diseñar el algoritmo y que irá de acuerdo a todas las especificaciones anteriores y posteriormente será implementado en un lenguaje de programación para ser ejecutado por la computadora. 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN? El algoritmo se lo puede hacer de cualquier forma: Pseudocódigo o Diagrama de Flujo, la idea principal es que sea entendible, y no solo por el que lo diseñó si no por cualquier persona.
En conclusión en la etapa anterior se define qué es lo que hará el
programa, en esta fase, se define como lo hará. 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN? 3. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO Y CODIFICACIÓN: Esta etapa consiste en transcribir o adaptar el algoritmo a un lenguaje de programación, se tendrá que adaptar todos los pasos diseñados en el algoritmo con sentencias y sintaxis propias del lenguaje. 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN? 4. COMPILACIÓN Y PRUEBAS La fase de compilación permitirá detectar errores en tiempo de compilación, ejecución y lógicos, y en el caso de Java se generará uno o varios archivos bytecode que serán ejecutados por la computadora. En esta fase también es necesario realizar pruebas con una gran cantidad de datos para encontrar posibles errores y corregirlos. 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
CUÁL ES LA FORMA ADECUADA PARA RESOLVER PROBLEMAS EN PROGRAMACIÓN? 5. DOCUMENTACIÓN Y MANTENIMIENTO Por últimos se debe tener una documentación de todos los pasos hasta llegar a la solución del problema, a veces es un poco tedioso esta fase pero también es muy importante ya que muchas veces suceden modificaciones con el pasar del tiempo y estas se hace en algunos casos por otros programadores diferentes a los que lo crearon (que incluso cuando uno mismo va ha modificar no se acuerda que rayos hacia ese código), y cuando un programa es pobre en documentación este proceso de modificación es totalmente complejo. 301303- algoritmos
Unidad 1 - Fundamentos de Algoritmos
Importancia de los algoritmos como fundamento en la programación de computadoras • Nos permite diseñar programas .o crear diferentes soluciones a ciertos problemas inicialmente planteados • El papel del algoritmo es fundamental. sin el algoritmo no puede existir programa alguno, y si no hay programa no hay nada para ejecutar. • En cada sistema el algoritmo puede expresarse en un lenguaje diferente de programación y ejecutarse en una computadora diferente. Sin embargo, en todas los casos el algoritmo es básicamente el mismo Unidad/Zona/grupo o equipo funcional