Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Todo algoritmo tiene una entrada, conocida como inputy una salida, conocida como output,y
entre medias, están las instrucciones o secuencia de pasos a seguir. Estos pasos deben
estar ordenados y, sobre todo, deben ser una serie finita de operaciones que permitan
conseguir una determinada solución.
Inicio y fin: parten de un estado inicial desde el cual ejecutan una serie de instrucciones
para llegar a un estado final de salida o finalización.
Exactitud: deben indicar un orden claro, específico y lógico de instrucciones para la
ejecución de cada paso, sin que exista espacio para la ambigüedad.
Secuencia: deben seguir una serie de pasos ordenados, entendibles y previamente
establecidos.
Completos: deben tener en cuenta todas las posibilidades y presentaciones del problema
para ejecutar la solución exacta.
Finitos: el número de pasos para ejecutar la tarea debe ser finito para darla por concluida.
Abstractos: representan una guía o modelo para ordenar procesos.
¿Qué tipos de algoritmos existen?
Según su sistema de signos, es decir, cómo se describen los pasos a seguir, los algoritmos
pueden ser:
Algoritmos de búsqueda: aquellos que encuentran uno o varios elementos que presenten un
conjunto de propiedades dentro de una determinada estructura de datos. Las búsquedas
pueden ser:
Secuenciales: comparan el elemento a buscar con cada elemento del conjunto, hasta
encontrarlo.
Binarias: comparan el elemento de búsqueda con un elemento ubicado en el medio de una
serie ordenada para determinar si son iguales.
Algoritmo de ordenamiento: son los que se utilizan para reorganizar elementos de un
listado, siguiendo unas pautas de orden numérico o alfanumérico. Pueden ser:
De burbuja: comparan cada elemento de la lista a ordenar, intercambiando posiciones si no
están ordenados correctamente.
Por selección: ordenan a partir del elemento más pequeño de forma consecutiva.
Rápido: eligen un elemento del conjunto y reubican el resto en torno a este en función de si
son menores o mayores respecto a él.
Algoritmos voraces: se trata de un tipo de algoritmo aplicado a problemas de optimización y
se utiliza para la toma de decisiones lógicas para llegar a una solución final global. Estos
algoritmos no son reversibles una vez que se toma la decisión de ejecutarlos.
Programación dinámica: este tipo de algoritmo está asociado al método con el que se
procesa el resultado. La solución de un elemento depende de la solución de una serie de
problemas más pequeños, por lo que conforme se van solucionando subproblemas, se van
almacenando las soluciones para que no sea necesario calcularlas nuevamente. Con la
programación dinámica se reduce el tiempo de ejecución del algoritmo.
Algoritmos probabilísticos: este tipo de algoritmosbasa sus resultados en el azar, de manera
que, en líneas generales, se pueda obtener una buena solución para cualquier distribución
aleatoria de inputs de entrada. El azar representa una optimización de tiempo respecto a si
se determinara la mejor alternativa para cada caso individual. Se obtiene, en consecuencia,
una buena solución a un problema para cualquier distribución de datos de entrada.
Por ejemplo, en un programa informático para sumar dos números introducidos por el
usuario, se guarda cada valor en una variable diferente y finalmente se realiza la operación
sumando las variables. Así cada vez que se ejecute el programa el usuario podrá introducir
números diferentes y obtener su suma.
Las variables pueden utilizarse en programación para guardar datos temporales que son
necesarios para realizar determinadas operaciones. A este tipo de variables se las
denomina variables auxiliares.
Para declarar y asignar un valor a una variable al mismo tiempo se sigue la siguiente
estructura o forma:
Lo habitual es que una vez que una variable ha sido declarada puede modificarse a lo largo
de un programa informático. Por ejemplo, si una variable de tipo entero que recoge la edad
de una persona ya ha sido declarada, puede modificarse a lo largo del programa
nombrando directamente su nombre y asignándole un valor: Edad = 8, y en otra parte del
programa modificarla con una operación del tipo Edad = Edad + 1, para que el valor de la
variable aumente en uno.
Variables numéricas
Son variables que se utilizan para almacenar y operar con todo tipo de números. Estas
variables numéricas pueden ser:
Tipo entero. Para almacenar números enteros, normalmente se utiliza en los lenguajes de
programación con la expresión int.
Tipo decimal. Para almacenar números con decimales y se utiliza con la expresión float.
Tipo double. Para almacenar datos numéricos con decimales, pero que admiten grandes
números al disponer de mayor capacidad de almacenamiento.
Variables de texto
En estas variables se almacenan datos referentes a caracteres o cadenas de texto, como
pueden ser palabras, frases o cadenas de texto que contengan letras y números
En este tipo de variables se puede almacenar letras mayúsculas y minúsculas, junto con
números de un solo dígito.
Variables lógicas
Son variables que pueden tener únicamente dos estados posibles, verdadero o falso (true or
false). Se utilizan de forma habitual en la programación para resolver problemas de lógica.
Para declararlas se utiliza habitualmente la expresión bool, que hace referencia al Álgebra
de Boole.
Lógica
Es el razonamiento de una sucesión de ideas o hechos desarrollados de una manera
coherente sin que existan contradicciones entre ellas. En otras palabras, Lógica es
organizar y relacionar de una manera coherente las ideas a aplicar.
Programación
Es la acción de realizar Programas. En informática es el desarrollo o creación de
programas, software, sistemas o aplicaciones para un fin valioso; donde necesitamos
siempre trabajar en un o varios lenguajes de programación.
Lógica de Programación
Entendiendo cada concepto por separado, ahora podemos decir que "Lógica de
Programación" es la organización coherente de las instrucciones del programa para que su
objetivo sea alcanzado o logrado.
Estructura de un Algoritmo
Todo algoritmo consta de tres secciones principales:
Entrada: Es la introducción de datos para ser transformados.
Proceso: Es el conjunto de operaciones a realizar para dar
solución al problema.
Salida: Son los resultados obtenidos a través del proceso.