Algoritmos

Algoritmos

Existen muchas y muy variadas definiciones de lo que es un algoritmo, dependiendo del autor podemos distinguir las siguientes:

Algoritmo es una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y puede ejecutarse con una cantidad finita de esfuerzo en un tiempo finito. Ha de tener las siguientes características: legible, correcto, modular, eficiente, estructurado, no ambiguo y a ser posible se ha de desarrollar en el menor tiempo posible. 

En pocas palabras un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema. 

Características De Un Algoritmo


Definibilidad: El algoritmo debe definirse de forma precisa para cada paso, es decir, hay que evitar toda ambigüedad al definir cada paso. Puesto que el lenguaje humano es impreciso, los algoritmos se expresan mediante un lenguaje formal, ya sea matemático o de programación para un computador.

Entrada: El algoritmo tendrá cero o más entradas, es decir, cantidades dadas antes de empezar el algoritmo. Estas cantidades pertenecen además a conjuntos especificados de objetos.Se trata siempre de cantidades representativas del mundo real expresadas de tal forma que sean aptas para su interpretación por el computador.

Salida: El algoritmo tiene una o más salidas, en relación con las entradas.

Efectividad: Se entiende por esto que una persona sea capaz de realizar el algoritmo de modo exacto y sin ayuda de una máquina en un lapso de tiempo finito.

Medios De Expresión De Un Algoritmo


Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. 

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.

Diagramas De Flujo


Diagrama de flujo que expresa un algoritmo para calcular la raíz cuadrada de un número 

Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas.

Pseudocódigo


El pseudocódigo (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.

Sistemas formales


La teoría de autómatas y la teoría de funciones recursivas proveen modelos matemáticos que formalizan el concepto de algoritmo. Los modelos más comunes son la máquina de Turing, máquina de registro y funciones μ-recursivas. Estos modelos son tan precisos como un lenguaje máquina, careciendo de expresiones coloquiales o ambigüedad, sin embargo se mantienen independientes de cualquier computadora y de cualquier implementación.


Implementación


Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito eléctrico o un aparato mecánico y eléctrico. Algunos algoritmos inclusive se diseñan especialmente para implementarse usando lápiz y papel. El algoritmo de multiplicación tradicional, el algoritmo de Euclides, la criba de Eratóstenes y muchas formas de resolver la raíz cuadrada son sólo algunos ejemplos.


Variables


Son elementos que toman valores específicos de un tipo de datos concreto. La declaración de una variable puede realizarse comenzando con var. Principalmente, existen dos maneras de otorgar valores iníciales a variables:

· Mediante una sentencia de asignación.
 

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.

Resolviendo Un Algoritmo

 
Una vez que ya hemos comprendido adecuadamente el problema, podemos escribir el algoritmo. Probablemente necesitaremos reescribir el algoritmo varias veces para mejorarlo. Los algoritmos tienen ciertas características. Cada algoritmo empieza con un nombre que describe la función que realiza. Usualmente empieza con un verbo y termina con un sustantivo, como se muestra en el ejemplo.

Algoritmo para calcular impuesto 

De cada paso de procesamiento en la tabla de definiciones, resulta una o más instrucciones de pseudocódigo. Los elementos en las columnas de entradas y salidas son los argumentos de las instrucciones.

Ejercicio: Supongamos que queremos escribir un programa que convierta una distancia en kilómetros a una distancia en millas. En cada kilómetro hay 0.625 millas. Coloca cada opción en su lugar correcto en la tabla de definiciones.
1) kilómetros
2) millas

¡Por Supuesto! los kilómetros van en la columna de entrada y las millas van en la columna de salida.

Para transformar los kilómetros en millas necesitamos un proceso. El verbo convertir en el enunciado del problema indica el proceso que necesitamos. Así que tenemos que calcular el número de millas que es equivalente al número de kilómetros dado. Y necesitamos un proceso que muestre las millas calculadas.

Podemos utilizar nuestra tabla para escribir nuestro algoritmo en pseudocódigo.

Algoritmo para convertir kilómetros en millas.

Cuando se ejecute el programa, lo que el usuario debe ver en pantalla, será algo como lo siguiente.

Por otro lado veamos otro ejemplo: Veamos ahora un ejemplo de diseño e implementación de un algoritmo. Consideremos el problema de resolver una serie como la de a continuación:


Analisis Del Problema


Paso 1: Se debe determinar el valor de la variable S a partir de los valores x e y ingresados. Estos valores deben ser leídos y procesados de acuerdo a la serie presentada para obtener el valor de ésta.
Paso 2: El requerimiento principal es el determinar el valor de S y mostrarlo por pantalla.
Paso 3: El problema es sencillo y puede ser resuelto por medio de dos módulos, uno que realice la función exponencial y otro que desarrolle la serie haciendo la llamada respectiva al módulo anterior.
Paso 4: Al realizar los algoritmos debemos tener presentes las características que debe tener un algoritmo para poder llegar a una correcta implementación de éstos. Para ello utilizaremos los símbolos descritos y con ellos lograremos el algoritmo que a continuación se presenta.
 
Representación en un Algoritmo
Inicio
Leer x, n
S  = 1
Mientras que i=2,n
Calcular =X
R=R/i
S=S+R
Mostrar s
Fin
Algoritmos Solución:

Algoritmos

Deja un comentario

Información
Atención! Usuarios que están en este grupo no pueden dejar comentarios en la página...Primero debes Registrarse!

Redes Sociales

Cómo publicar videos más largos en tus historias de Instagram

Cómo publicar videos más largos en tus historias de Instagram

Si a veces subes videos a tus historias de Instagram , probablemente te has topado con el límite de 15 segundos. Eso significa que no importa la duración del video que publiques en tu historia, Instagram lo recortará automáticamente a una duración máxima de 15 segundos. Esto es ideal para videos...
Recupera Tus Mensajes O Chats De WhatsApp Borrados

Recupera Tus Mensajes O Chats De WhatsApp Borrados

  Recuperar mensajes y chats borrados de tu aplicación WhatsApp para Android es una tarea que puede resultar  necesaria alguna vez. A menudo, estamos tratando de liberar espacio físico de nuestro dispositivo Android y llegamos incluso a borrar...
Integrar El Boton de Whatsapp En Tu Web

Integrar El Boton de Whatsapp En Tu Web

  De todos es conocido que WhatsApp se ha convertido en una herramienta para compartir fotos y vídeos con tus amigos, familiares y compañeros de trabajo. También cada vez más usado, para compartir enlaces de contenidos de la web y otras aplicaciones móviles. Para ayudar a compartir los contenidos...
Crees que las redes sociales te están haciendo bien o mal

Crees que las redes sociales te están haciendo bien o mal

Las redes sociales te ofrecen una forma única de observar a la gente. Por ejemplo, el lenguaje utilizado en Twitter puede usarse para predecir si alguien está en riesgo de morir de una enfermedad cardíaca. El análisis de las actualizaciones de Facebook muestra que las mujeres son generalmente más...
Crea una imagen para las redes sociales

Crea una imagen para las redes sociales

Aprenda a combinar una foto, texto y material gráfico en Photoshop para su Facebook, Twitter y otras publicaciones en redes sociales. Utilice estas habilidades para crear sus propias imágenes de redes sociales o cualquier diseño que cree en Photoshop. Adobe Photoshop es un editor de gráficos...
Comparte instantáneamente tus fotos y diseños

Comparte instantáneamente tus fotos y diseños

Muestre rápidamente su trabajo a clientes y compañeros de trabajo, o comparta una idea al instante por correo electrónico, texto, redes sociales y más, todo dentro de Adobe Photoshop CC. Nota: Necesitará la última versión de Photoshop CC para usar esta función. Comparte tu trabajo ahoraHaz clic en...