Documente Academic
Documente Profesional
Documente Cultură
Los algoritmos fueron creados con la necesidad de resolver problemas matemáticos, sus inicios
se dan con la creación de las reglas de sumar, multiplicar y dividir números decimales
(Mohammed al-Khowarizmimatemático persa), de ahí nace el nombre de la “Algoritmo”, Su
apellido fue traducido al latín como Algorismus y posteriormente paso al español como
Algoritmo; más adelante Euclides, gran matemático griego utilizo algoritmos cuando invento el
método para encontrar el máximo común divisor de dos números; y por último se puede decir
que el gran padre de la algoritmia es Niklaus Wirth el cual tuvo el gran invento de Pascal. Los
algoritmos fueron creados con el fin de utilizarlos para resolver problemas, para luego llevarlos
a un computador mediante un lenguaje FAVA - Formación en Ambientes Virtuales de
Aprendizaje Introducción a la Algoritmia SENA - Servicio Nacional de Aprendizaje 4 de
programación; para realizar un algoritmo se debe establecer una metodología de desarrollo,
una de estas es la llamada resolución de problemas, la cual permite realizar un diseño
organizado del algoritmo.
Diagrama de flujo
Los diagramas de flujo (o flujogramas) son diagramas que emplean símbolos gráficos para
representar los pasos o etapas de un proceso. También permiten describir la secuencia de los
distintos pasos o etapas y su interacción. Las personas que no están directamente involucradas
en los procesos de realización del producto o servicio, tienen imágenes idealizadas de los
mismos, que pocas veces coinciden con la realidad. La creación del diagrama de flujo es una
actividad que agrega valor, pues el proceso que representa está ahora disponible para ser
analizado, no sólo por quienes lo llevan a cabo, sino también por todas las partes interesadas
que aportarán nuevas ideas para cambiarlo y mejorarlo.
Los símbolos tienen significados específicos y se conectan por medio de flechas que indican el
flujo entre los distintos pasos o etapas. Los símbolos más comunes son :
Las siguientes son acciones previas a la realización del diagrama de flujo : Identificar a los
participantes de la reunión donde se desarrollará el diagrama de flujo. Deben estar presentes
el dueño o responsable del proceso, los dueños o responsables del proceso anterior y
posterior y de otros procesos interrelacionados, otras partes interesadas. Definir que se espera
obtener del diagrama de flujo. Identificar quién lo empleará y cómo. Establecer el nivel de
detalle requerido. Determinar los límites 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 están incluidos en el proceso a describir y su orden
cronológico. Si el nivel de destalle definido incluye actividades menores, listarlas también.
Identificar y listar los puntos de decisión. Construir el diagrama respetando la secuencia
cronológica y asignando los correspondientes símbolos. Asignar un título al diagrama y
verificar que esté completo y describa con exactitud el proceso elegido.
Los Diagramas de flujo representan ciertos aspectos de los procesos y por lo general se
complementan con otros tipos de diagrama. Por ejemplo, Kaoru Ishikawa definió el diagrama
de flujo como una de las siete herramientas básicas de control de calidad, al lado del
histograma, diagrama de Pareto, hoja de verificación, gráfico de control, diagrama de causa y
efecto, y el diagrama de dispersión. De manera similar, en UML, un lenguaje estándar de
modelado que se utiliza en el desarrollo de software, el diagrama de actividad (que es un tipo
de diagrama de flujo) es sólo uno de los muchos tipos de diagramas diferentes.
Historia
Douglas Hartree explica que Herman Goldstine y John von Neumann elaboró un diagrama de
flujo (originalmente, el diagrama) para planificar los programas de ordenador. Su versión
contemporánea está respaldado por los ingenieros de IBM y por colecciones personales de
Goldstine. Los diagramas de flujo de programación originales de Goldstine y von Neumann se
puede ver en su informe no publicado, "Planificación y codificación de problemas para un
instrumento de computación electrónica, Parte II, Volumen 1" (1947), que se reproduce en las
obras completas de von Neumann.
Los diagramas de flujo solía ser un medio popular para describir algoritmos computacionales y
todavía se utilizan para este fin. Técnicas modernas tales comodiagramas de actividad de
UML puede ser considerado como extensiones del diagrama de flujo. En la década de 1970 la
popularidad de los diagramas de flujo como método propio disminuyó cuando las terminales
de ordenador y lenguajes de programación de tercera generación se convirtieron en
herramientas comunes, ya que los algoritmos se pueden expresar de manera mucho más
concisa como código fuente de un lenguaje, y también porque era más probable que el diseño
de algoritmos usando diagramas de flujo resulte en código-espagueti, debido a la necesidad de
los "gotos" para describir saltos arbitrarios en el control flujo del programa.
Símbolos
Un diagrama de flujo típico de los antiguos libros de texto básicos de informática puede tener
los siguientes tipos de símbolos:
Flechas
Muestran el "control de flujo". Una flecha que viene de un símbolo y termina en otro símbolo
indica que el control pasa al símbolo que la flecha apunta. La línea de la flecha puede ser
continua o discontinua. El significado de la flecha con línea de trazos puede diferir de un
diagrama de flujo a otro y puede ser definido en la leyenda.
Subrutinas
Son representados como rectángulos con doble borde vertical, los cuales se utilizan para
mostrar los pasos de procesamiento complejos que pueden ser detallados en un diagrama de
flujo separado.
Entrada / Salida
Representado como un paralelogramo. Ejemplos: Obtener X por parte del usuario, mostrar en
pantalla X.
Condicional o decisión
Representado como un diamante (rombo) mostrando donde una decisión se debe tomar,
comúnmente se realiza una pregunta que debe tener un tipo de respuesta Sí/No. El símbolo
condicional tiene la peculiaridad de que tiene dos flechas que salen de él, correspondiente al
Sí o Verdadero, y No o falso. (Las flechas siempre deben ser etiquetadas.) Se pueden utilizar
más de dos flechas, pero esto es normalmente un claro indicador de que una decisión
compleja está siendo tomada, en cuyo caso es posible que tenga que ser descompuesto aún
más.
Son Representado por una etiqueta en el interior de un círculo, se emplean en los diagramas
complejos o multi-hoja para sustituir a las flechas. Para cada etiqueta, el conector de "flujo de
salida" siempre debe ser único, pero puede haber cualquier cantidad de conectores de "flujo
entrada". En este caso, un punto de unión en el flujo de control está implícita.
Símbolo de concurrencia
Representada por una doble línea transversal con cualquier número de flechas de entrada y
salida. Estos símbolos se utilizan cada vez que dos o más flujos de control deben funcionar
simultáneamente. Los flujos de salida se activan simultáneamente cuando todos los flujos de
entrada han alcanzado el símbolo de concurrencia.
Es importante recordar que debe mantener estas conexiones lógicas en orden. Todos los
procesos deben fluir de arriba hacia abajo y de izquierda a derecha.
Sterneckert (2003) sugirió que los diagramas de flujo pueden ser modelados desde la
perspectiva de diferentes grupos de usuarios (por ejemplo, administradores, analistas de
sistemas y empleados) y que hay cuatro tipos generales:
Diagramas de flujo de sistemas que muestran los controles a nivel físico o de recursos.
Observe que cada tipo de diagrama de flujo que se centra en algún tipo de control, en lugar de
en el propio flujo particular.
Software
Cualquier programa de dibujo puede ser usado para crear diagramas de flujo, pero éstos no
tienen un modelo de datos subyacente para compartir datos con bases de datos u otros
programas, como los sistemas de gestión de proyectos y hojas de cálculo.
Algunas herramientas ofrecen un apoyo especial para dibujar diagramas de flujo. Muchos
paquetes de software existentes que pueden crear diagramas de flujo de forma automática, ya
sea directamente desde el código fuente, o de un lenguaje de descripción de diagrama de
flujo.
Seudocódigo
¿Que es el Pseudocódigo?
El pseudocódigo (falso lenguaje) es una descripción de alto nivel de un algoritmo queemplea
una mezcla de lenguaje natural con algunas convenciones sintácticas propias delenguajes de
programación, como asignaciones, ciclos y condicionales. Es utilizado paradescribir algoritmos
en libros y publicaciones científicas, y como producto intermediodurante el desarrollo de un
algoritmo.El pseudocódigo está pensado para facilitar a las personas el entendimiento de
unalgoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en
unaimplementación. Programadores diferentes suelen utilizar convenciones distintas,
quepueden estar basadas en la sintaxis de lenguajes de programación concretos. Sinembargo,
el pseudocódigo en general es comprensible sin necesidad de conocer outilizar un entorno de
programación específico, y es a la vez suficientementeestructurado para que su
implementación se pueda hacer directamente a partir de él.
¿Para que sirve el Pseudocódigo?
Sirve para escribir programas de computadora en lenguaje natural de tal manera que sefacilite
la comprensión, prueba y posterior codificación en un lenguaje de programaciónespecífico.
Determina los pasos a seguir, es decir primero validación o que paso ira antes que otro. Deben
poseer un inicio y fin del proceso.
Pseudocodigo - Características
Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar
sin criterios de interpretación.
Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o
estos son generados de alguna forma) para llevar a cabo las operaciones que
comprende.
Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un
algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe
ser considerado como únicamente “verlos” en forma impresa o en pantalla, como
ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de
programación que no cuentan con una salida de resultados de esta forma. Por salida
de resultados debe entenderse todo medio o canal por el cual es posible apreciar los
efectos de las acciones del algoritmo.
Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando
nada más ni nada menos que aquello que se requiera para y en su ejecución.
Un ejemplo
EJECUTAR:
Variable:
Diagrama:
1.
Pseudocódigo:
2) LEER: edad
3) SI edad > 18
SINO
Fin si
Algoritmos
ALGORITMO
.Un algoritmo es el
medio
programa
alkhowarizmi
Cualitativos
Cuantitativos
Lenguajes Algorítmicos
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir
demanera explícita un proceso.
“cual es tu edad?”
FINSI
Qué es un algoritmo?
Ejemplo:
Lavarnos los dientes es un procedimiento que realizamos varias veces al día. Veamos la
formade expresar este procedimiento como un Algoritmo:1. Tomar la crema dental2. Destapar
la crema dental3. Tomar el cepillo de dientes4. Aplicar crema dental al cepillo5. Tapar la crema
dental6. Abrir la llave del lavamanos7. Remojar el cepillo con la crema dental8. Cerrar la llave
del lavamanos9. Frotar los dientes con el cepillo10. Abrir la llave del lavamanos11. Enjuagarse
la boca12. Enjuagar el cepillo13. Cerrar la llave del lavamanos14. Secarse la cara y las manos
con una toalla
Otro ejemplo:
Veamos que algo tan común como los pasos para cambiar una bombilla (foco) sepueden
expresar en forma de Algoritmo:
1.
Fin