jueves, 19 de julio de 2018

TEORÍA DE ALGORITMOS


Algoritmo
Un algoritmo es una serie ordenada de pasos, instrucciones o procesos que llevan a la solución de un determinado problema. Estos permiten describir claramente una serie de instrucciones que debe realizar el computador para lograr un resultado previsible.

Importancia de los algoritmos
-Los algoritmos poseen hoy una gran importancia tanto para informática, robótica y ciencias de la computación, por medio de algoritmos se llega a un orden de ideas y un  proceso correcto en la elaboración de maquinarias y robots lo que conlleva a un avance en la tecnología y un mayor progreso a nivel mundial
-Los algoritmos conllevan a llevar un proceso y un orden de ideas en todos los aspectos, pues cada actividad por mínima que sea requiere un orden que se da por medio de los grandes algoritmos que creamos así sean mentales.

Características de los algoritmos
Las características fundamentales que debe cumplir todo algoritmo son:
Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.
Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez.
Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe de tener un número finito de pasos.

Pasos para realizar algoritmos
Para la realización de un algoritmo es necesario realizar una secuencia de pasos para llegar a cumplir con la resolución de un problema dado. Para ello, definiremos los siguientes pasos:
Análisis previo del Problema: Se debe realizar un análisis del funcionamiento del problema antes que se realice cualquier algoritmo.
Definición de Requerimientos: Los problemas a solucionar, esto es, por ejemplo, el sumar dos números, multiplicar dos matrices, ordenar una lista de números, generar un reporte, etc.
Identificación de los Módulos: La identificación de los módulos es tan importante como la identificación correcta de los requerimientos, esto porque la correcta identificación de los módulos simplifica considerablemente la realización de los algoritmos que darán solución a los requerimientos identificados en el paso anterior.
Realización de los Algoritmos: El algoritmo deberá cumplir con las características que se indicaron para posteriormente implementarse en un lenguaje de programación comprensible por una computadora.
Implementación de los Algoritmos: La implementación de los algoritmos se debe realizar en un lenguaje de programación para que una computadora pueda comprender las instrucciones que el algoritmo modela para así poder ejecutarlas y lograr el resultado esperado.
En el último paso ya podemos hablar de una aplicación o programa de computadora, que estará compuesto por una serie de instrucciones que ordenadas una tras otra logran representar los algoritmos diseñados y dar así solución a los requerimientos identificados.

Diferencias entre: Pseudocódigo, diagrama de flujo y programa.
Pseudocódigo: Es la solución de un algoritmo de forma detallada, muy parecida a nuestro lenguaje, (es un lenguaje intermedio entre nuestro lenguaje y el lenguaje de la máquina) el cual posteriormente se puede utilizar para la codificación del mismo por los detalles y las palabras clave que se utilizan en el mismo.
Diagrama de Flujo: Representación gráfica de un algoritmo o de un proceso con símbolos estandarizados, que nos muestra cada uno de los pasos a seguir en la solución de un problema.

Diferencia
Aunque ambos 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 máquina, 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.

Variables y Constantes
Constantes:
Una constante es un dato numérico o alfanumérico que no cambia durante todo el desarrollo del algoritmo o durante la ejecución del programa. Es un objeto de valor invariable.  Para expresar una constante se escribe explícitamente su valor.
Tipos de Constantes:
Constantes Numéricas (Enteras y Reales)
Constantes Alfanuméricas
Constantes Lógicas (Booleanas)
Las constantes pueden ser:
Constantes sin nombre: Es una expresión numérica donde se puede utilizar directamente el valor.
Constantes con nombre: Se hace una reserva de memoria en la cual se guarda el valor que será utilizado como constante.
Ejemplo:
a) PI = 3.1416
b) E = 2.718228
c) Iva = 0.13
Variables:
Son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información.
Tipos de variables:
 Variables Numéricas (Enteras y Reales)
 Variables Alfanuméricas
           a) Caracteres alfabéticos
           b) Dígitos
           c) Caracteres especiales
 Variables Lógicas (Booleanas)
Son las que únicamente pueden contener dos valores, los cuales son:
 Valor Verdadero o 1
 Valor Falso o 0
Estos tipos de variables pueden tomar únicamente valores del mismo tipo, es decir si la variable es entera solamente puede almacenar datos enteros.
Ejemplo:
Una variable declarada como cadena solo puede tomar valores correspondientes a ese tipo.

 Tipos De Datos
Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter, tal como ‘b’, un valor entero tal como 35. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable.
Numéricos
Simples Lógicos
Alfanuméricos (string)
Tipos de Datos Simples
·        Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.
·        Datos 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).
·        Datos Alfanuméricos (String): 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.

Signos usados en los diagramas de flujo.
Círculo: Inicio del Diagrama y Final del Diagrama
Cuadrado: Proceso de control.
Línea continua: Flujo de información vía formulario o documentación en soporte de papel escrito.
Línea interrumpida: Flujo de información vía formulario digital.
Rectángulo: Formulario o documentación. Se grafica con el doble de ancho que su altura.
Rectángulo Pequeño: Valor o medio de pago (cheque, pagaré, etc.). Se grafica con el cuádruple de ancho que su altura, siendo su ancho igual al de los formularios.
Triángulo (base inferior): Archivo definitivo.
Triángulo Invertido (base superior): Archivo Transitorio.
Semióvalo: Demora.
Rombo: División entre opciones.
Trapezoide: Carga de datos al sistema.
Elipsoide: Acceso por pantalla.
Hexágono: Proceso no representado.
Pentágono: Conector.
Cruz de Diagonales: Destrucción de Formularios.

Según la normativa, el flujo presupuesto es de izquierda a derecha y de arriba hacia abajo, siendo optativo el uso de flechas. Cuando el sentido es invertido (de derecha a izquierda o de abajo hacia arriba), es obligatorio el uso de la flecha.
Resultado de imagen para ejemplos de algoritmos

No hay comentarios.:

Publicar un comentario