El documento describe los conceptos fundamentales de algoritmos, diagramas de flujo y lenguajes de programación. Específicamente, define un algoritmo como un conjunto de instrucciones bien definidas, describe cómo los diagramas de flujo representan gráficamente los pasos de un algoritmo y explica que un lenguaje de programación es un lenguaje formal utilizado para crear programas que controlen el comportamiento de una máquina.
1. En matemáticas, lógica, ciencias de la computación y
disciplinas relacionadas, un algoritmo; es un conjunto
preescrito de instrucciones o reglas bien definidas
En la vida cotidiana, se emplean algoritmos
frecuentemente para resolver problemas. Tiempo
secuencial. Un algoritmo funciona en tiempo discretizado.
2. En la vida cotidiana, se emplean algoritmos frecuentemente para resolver
problemas. Algunos ejemplos son los manuales de usuario, que muestran
algoritmos para usar un aparato, o las instrucciones que recibe un trabajador
por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de
multiplicación, para calcular el producto,
Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a
paso–, definiendo así una secuencia de estados "computacionales“
Estado abstracto. Cada estado computacional puede ser descrito
formalmente utilizando una estructura de primer orden y cada algoritmo es
independiente de su implementación
Definición formal
3. La descripción de un algoritmo usualmente se hace en tres niveles:
Descripción de alto nivel. Se establece el problema, se selecciona un
modelo matemático y se explica el algoritmo de manera verbal,
posiblemente con ilustraciones y omitiendo detalles.
Descripción formal. Se usa pseudocódigo para describir la secuencia de
pasos que encuentran la solución.
Implementación. Se muestra el algoritmo expresado en un lenguaje de
programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es
correcto, un análisis de complejidad o ambos.
Medios de expresión de un algoritmo
4. En ciencias de la computación, y análisis numérico el pseudocódigo
es una descripción informal1 de alto nivel de un algoritmo informático de
programación, compacto e informal, El lenguaje de programación se
complementa, donde sea conveniente, con descripciones detalladas en
lenguaje natural, o con notación matemática compacta
Pseudocódigo
5. Muchas veces, en los libros de texto y publicaciones científicas relacionadas
con la informática y la computación numérica, se utilizan pseudocódigo en la
descripción de algoritmos, de manera que todos los programadores puedan
entenderlo, aunque no todos conozcan el mismo lenguaje de programación.
Generalmente, en los libros de texto, hay una explicación que acompaña la
introducción que explica las convenciones particulares en uso.
Un programador que tiene que aplicar un algoritmo específico, sobre todo
uno desfamiliarizado, generalmente comienza con una descripción en
pseudocódigo, y luego "traduce" esa descripción en el lenguaje de
programación meta y lo modifica.
Aplicación
6. Las principales características de este lenguaje son:
Se puede ejecutar en un ordenador (con un IDE como por ejemplo SLE, LPP, PilatoX,
Maruga Script, Seudocódigo o PSeInt. Otros Ides de consideración son Inter-P y Algor)
Es una forma de representación sencilla de utilizar y de manipular.
Facilita el paso del programa al lenguaje de programación.
Es independiente del lenguaje de programación que se vaya a utilizar.
Es un método que facilita la programación y solución al algoritmo del programa.
Todo documento en pseudocódigo debe permitir la descripción de:
Instrucciones primitivas.
Instrucciones de proceso....
Instrucciones de control.
Instrucciones compuestas.
Instrucciones de descripción.
Características y partes
7. El diagrama de flujo o diagrama de actividades es la representación gráfica
del algoritmo o proceso. Se utiliza en disciplinas como programación,
economía, procesos industriales y psicología cognitiva. En Lenguaje
Unificado de Modelado (UML), un diagrama de actividades representa
los flujos de trabajo paso a paso de negocio y operacionales de los
componentes en un sistema.
Diagrama de flujo
8. En SysML el diagrama de actividades ha sido extendido para indicar flujos
entre pasos que mueven elementos físicos (e.g., gasolina) o energía (e.g.,
presión). Los cambios adicionales permiten al diagrama soportar mejor
flujos de comportamiento y datos continuos.
Estos diagramas utilizan símbolos con significados definidos que
representan los pasos del algoritmo, y representan el flujo de ejecución
mediante flechas que conectan los puntos de inicio y de fin de proceso.
Definir qué 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.
9. Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba
hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda
la información que se considere necesaria, según su propósito.
Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de
izquierda a derecha.
Formato panorámico: El proceso entero está representado en una sola carta
y puede apreciarse de una sola mirada mucho más rápido que leyendo el
texto, lo que facilita su comprensión, aun para personas no familiarizadas..
Formato Arquitectónico: Describe el itinerario de ruta de una forma o
persona sobre el plano arquitectónico del área de trabajo
Tipos de diagramas de flujo
10. Un lenguaje de programación es un lenguaje formal diseñado para expresar
procesos que pueden ser llevados a cabo por máquinas como las
computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico
y lógico de una máquina, para expresar algoritmos con precisión, o como
modo de comunicación humana.
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de
programación específico (codificación del programa).
Ensamblaje o compilación del programa hasta convertirlo en lenguaje de
máquina.
Prueba y depuración del programa.
Desarrollo de la documentación.
Lenguaje de programación
11. Los lenguajes débilmente tipados permiten que un valor de un tipo pueda
ser tratado como de otro tipo, por ejemplo una cadena puede ser operada
como un número. Esto puede ser útil a veces, pero también puede permitir
ciertos tipos de fallas que no pueden ser detectadas durante la compilación o
a veces ni siquiera durante la ejecución.
os lenguajes fuertemente tipados evitan que pase lo anterior. Cualquier
intento de llevar a cabo una operación sobre el tipo equivocado dispara un
error. A los lenguajes con tipos fuertes se les suele llamar de tipos seguros.
Lenguajes con tipos débiles como Perl y JavaScript permiten un gran número
de conversiones de tipo implícitas
Tipos débiles y tipos fuertes
12. La implementación de un lenguaje es la que provee una manera de que se
ejecute un programa para una determinada combinación de software y
hardware.
Compilación: es el proceso que traduce un programa escrito en un lenguaje
de programación a otro lenguaje de programación
Interpretación: es una asignación de significados a las fórmulas bien
formadas de un lenguaje formal. Como los lenguajes formales pueden
definirse en términos puramente sintácticos
Implementación
13. En SysML el diagrama de actividades ha sido extendido para indicar flujos
entre pasos que mueven elementos físicos (e.g., gasolina) o energía (e.g.,
presión). Los cambios adicionales permiten al diagrama soportar mejor
flujos de comportamiento y datos continuos.
Estos diagramas utilizan símbolos con significados definidos que
representan los pasos del algoritmo, y representan el flujo de ejecución
Diagrama de flujo
14. La especificación del Lenguaje de Modelado Unificado (UML) define un
diagrama de actividad como:
“… una variación de una máquina estados, lo cual los estados representan el
rendimiento de las acciones o subactividades y las transiciones se provocan
por la realización de las acciones o subactividades.”1
El propósito del diagrama de actividad es modelar un proceso de flujo de
trabajo (workflow) y/o modelar operaciones.
Una Operación es un servicio proporcionado por un objeto, que está
disponible a través de una interfaz.