Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
1. Bachiller: Jesús Freites
C. I: V-30.905.846
Sección: A
Ingeniería en Sistemas
Algoritmos
Pseudocódigos
Diagrama de Flujo
Metodología para la solución de
Problemas utilizando computadoras
2. Algoritmo
Es el arte de convertir las cosas que hacemos o
quisiéramos hace en una de secuencia de
instrucciones que un computador pueda procesar.
Tipos de Algoritmos
Cualitativas
Son aquellos en la que se
describen los pasos utilizando
palabras.
Cuantitativas
Son aquellos en la que se
usan cálculos numéricos para
definir los pasos.
Lenguaje algorítmicos
Es una serie de símbolos y reglas
que se utilizan para describir de
manera explicita un proceso.
Tipos de lenguajes Algorítmicos
Gráficos
Es la representación
gráfica de las operaciones
que realiza un algoritmo
(Diagrama de flujos).
No Gráfico
Representan en forma las
operaciones que deben
realiza un algoritmo
(Pseudocódigo).
3. El pseudocódigo es una forma de describir
instrucciones lógicas que estructuralmente se
asemeja a los lenguajes de programación. No
obstante, el pseudocódigo se creó con el fin de que
las personas puedan leer y escribir dichas
instrucciones de forma sencilla, donde en la
mayoría de los casos, se utiliza como estructura
básica para el posterior desarrollo en un lenguaje
de programación propiamente dicho.
El pseudocódigo opera como una descripción de
alto nivel, lo que significa que la forma en la que se
representa, resulta mucho más didáctica, fluida y
sencilla para los seres humanos.
No sigue un formato específico
Debido a que el pseudocódigo está orientado a la
comprensión humana y no es interpretado por el
ordenador de forma directa, este puede escribirse
en cualquier tipo de formato que pueda ser
entendido por otras personas.
Pseudocódigo
Su estructura=
El pseudocódigo es fácil de entender, por lo que no es necesario ser un experto
en programación para leer y entender cómo funciona un algoritmo escrito en
pseudocódigo.
Hace más fácil desarrollar instrucciones para resolver problemas. Debido a que
su escritura resulta sencilla y amigable, el programador puede enfocarse en el
método por el cual un programa llevará a cabo una tarea.
Ayuda a optimizar el tiempo de desarrollo, ya que un algoritmo en pseudocódigo
funciona como un esquema lógico preliminar que al momento de desarrollar en un
lenguaje de programación, simplifica y guía el proceso.
4. Diagrama de flujo
Un diagrama de flujo es la representación gráfica de
un algoritmo. También se puede decir que es la
representación detallada en forma gráfica de como
deben realizarse los pasos en la computadora para
producir resultados. Esta representación gráfica se da
cuando varios símbolos (que indican diferentes
procesos en la computadora), se relacionan entre si
mediante líneas que indican el orden en que se deben
ejecutar los procesos. También son un mecanismo de
control y descripción de procesos, que permiten una
mayor organización, evaluación o replanteamiento de
secuencias de actividades y procesos de distinta
índole, dado que son versátiles y sencillos.
Simbología del diagrama de flujo
5. Simples:
• Lógicos: Son aquellos que solo
pueden tener dos valores (cierto o
falso) ya que representan el
resultado de una comparación entre
otros datos (numéricos o
alfanuméricos).
• Numéricos: Permiten representar
valores escalares de forma
numérica, esto incluye a los
números enteros y los reales.
• Alfanuméricos (strings): Es una
secuencia de caracteres
alfanuméricos que permiten
representar valores identificables de
forma descriptiva, esto incluye
nombres de personas, direcciones,
etc. Es posible representar números
como alfanuméricos, pero estos
pierden su propiedad matemática,
es decir no es posible hacer
operaciones con ellos. Este tipo de
datos se representan encerrados
entre comillas.
Ventajas
• Los programas desarrollados con la
programación estructurada son más
sencillos de entender, ya que tienen una
estructura secuencial y desaparece la
necesidad de rastrear los complejos
saltos de líneas dentro de los bloques de
código para intentar comprender la lógica
interna.
• Como consecuencia inmediata de lo
anterior, otra ventaja es que los
programas resultantes tendrán una
estructura clara, gracias a que las
sentencias están ligadas y relacionadas
entre sí.
• La fase de prueba y depuración de los
programas se optimiza, ya que es mucho
más sencillo hacer el seguimiento de los
fallos y errores y, por tanto, detectarlos y
corregirlos.
Programación Estructurada
La programación estructurada es una
corriente que nació con la vocación de
facilitar la vida de los programadores,
sobre todo cuando estos debían abordar
fases de mejora posteriores a la
creación del programa, y de ordenar la
forma en la que se creaba cualquier tipo
de programa
Para llevar una programación
estructurada es importante conocer las
reglas para cambiar fórmulas
matemáticas a expresiones válidas para
la computadora, además de diferenciar
constantes e identificadores y tipos de
datos simples.
6. Metodología para la solución de problemas
utilizando computadoras
Es importante resaltar que una computadora no
puede actuar por si sola, por lo tanto tiene que ser
programada con instrucciones para que pueda
funcionar. Un programa es la solución de un
problema inicial, así que todo comienza allí; en el
problema.
Para que el proceso de programación pueda ser
ejecutado el problema tiene que codificarse con un
lenguaje de programación y ejecutar el programa
en el computador, el cual refleja una solución al
problema inicial.
Así que resaltaremos algunas cosas importantes
antes de empezar sobre la estructura de la
programación de este lado.
Definición del problema: Definición precisa de lo que se necesita que haga la
computadora.
Análisis del problema: Después de comprende lo que desea que la
computadora es necesario definir:
• Los Datos de Entrada.
• Cual es la información que se desea producir (salida).
• Los métodos y formulas que se necesitan para producir los datos.
Diseño de Algoritmo
¿Existen características para un buen algoritmo?
Bueno, sinceramente si se puede programar para que sea un buen algoritmo y
esos pasos son:
• Tener un punto particular de inicio.
• Estar definido sin doble interpretación.
• Ser general para soportar la mayoría de las variantes que se puedan
presentar la definición del problema.
• Esta finito en tamaño y tiempo de ejecución.
• Diseño de Algoritmo.
• Prueba de escritorio o depuración
7. Estructuras Algorítmicas
Secuenciales
La estructura secuencial es aquella en la que
una acción (instrucción) sigue a otra en
secuencia. Las tareas se suceden de tal
modo que la salida de una es la entrada de
la siguiente y así sucesivamente hasta el fin
del proceso.
Condicional
Las estructuras condicionales comparan una
variable contra otro(s)valor (es), para que en
base al resultado de esta comparación, se
siga un curso de acción dentro del programa.
Cíclicos
Se llaman problemas repetitivos o cíclicos a
aquellos en cuya solución es necesario
utilizar un mismo conjunto de acciones que
se puedan ejecutar una cantidad específica
de veces. Esta cantidad puede ser fija
(previamente determinada por el
programador) o puede ser variable (estar en
función de algún dato dentro del programa).
• La asignación: Consiste, en el paso de valores o resultados a una zona de la memoria.
Dicha zona será reconocida con el nombre de la variable que recibe el valor.
• Escritura o salida de datos: Consiste en mandar por un dispositivo de salida (p.ej. monitor o
impresora) un resultado o mensaje. Esta instrucción presenta en pantalla el mensaje escrito
entre comillas o el contenido de la variable.
• La lectura o entrada de datos: Consiste en recibir desde un dispositivo de entrada (p.ej. el
teclado) un valor o dato.
• Las estructuras condicionales simples: se les conoce como “Tomas de decisión”.
• Las estructuras condicionales dobles: permiten elegir entre dos opciones o alternativas
posibles en función del cumplimiento o no de una determinada condición.
• Las estructuras de comparación múltiples: son tomas de decisión especializadas que
permiten comparar una variable contra distintos posibles resultados, ejecutando para cada
caso una serie de instrucciones especificas.
• Para: Son aquellos en que el número de iteraciones se conoce antes de ejecutarse el ciclo.
• Mientras Que: Esta es una estructura que repetirá un proceso durante “N” veces, donde “N”
puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que
debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple,
entonces ya no se ejecuta el proceso.
• Repita-Hasta: Esta es una estructura similar en algunas características, a la anterior. Repite
un proceso una cantidad de veces, pero a diferencia del Mientras Que, el Repita-Hasta lo
hace hasta que la condición se cumple y no mientras, como en el Mientras Que. Por otra
parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la
condición se evalúa al final del proceso, mientras que en el Mientras Que puede ser que
nunca llegue a entrar si la condición no se cumple desde un principio.