Algoritmo de Euclides

- Posted in programacion by - Comments

El algoritmo de Euclides sirve para obtener el máximo común divisor (abreviado normalmente como M.C.D.) de dos números enteros positivos. El mínimo común múltiplo (M.C.M.), puede obtenerse también con éste algoritmo, haciendo una sencilla operación con el M.C.D. obtenido. En este artículo hablamos de cómo programarlo. Puedes encontrar una demostración en línea al final de ésta ... more

Compiladores, intérpretes y máquinas virtuales.

- Posted in programacion, ingenieria-del-software by - Comments

Cuando aprendemos a programar, normalmente escogemos o nos imponen un determinado lenguaje de programación. Una de las primeras distinciones que es interesante conocer acerca de nuestro lenguaje es si el lenguaje se compila o se interpreta. En este artículo intentaremos explicar las diferencias entre ambas formas de trabajar. Además, desde la aparición del lenguaje Java hace ya algunos años, ... more

Distancia de Levenshtein

- Posted in programacion by - Comments

La distancia de Levenshtein es un algoritmo para comparar dos cadenas: dos palabras, frases o lo que sea, y el algoritmo devuelve un número entero que nos da una idea de lo distintas o parecidas que son. Cuanto más bajo sea ese entero (la distancia), mas parecidas serán las cadenas. Si ese entero es 0, las cadenas se pueden considerar iguales. Debe su nombre al matemático ruso Vladimir ... more

Frecuencia de las notas musicales

- Posted in programacion by - Comments

Si tienes que realizar una aplicación que trate con sonido y música, seguro que tarde o temprano tienes que trabajar con las notas musicales. Un sonido no es más que una vibración del aire que nuestros oidos pueden captar. Un sonido que tiene un determinado tono, depende de la frecuencia a la cual vibra el aire. Las notas musicales son vibraciones de frecuencias determinadas. Por supuesto, ... more

Un bucle para cada cosa

- Posted in programacion, ingenieria-del-software by - Comments

En los lenguajes generalistas modernos existen distintos tipos de estructuras repetitivas, comunmente llamadas "bucles". Cada una de ellas tiene una funcionalidad concreta. En la mayor parte de casos sólo una de ellas es la indicada. Si utilizamos un tipo de bucle que no es adecuado para resolver un problema, es probable que escribamos código ineficiente o confuso. Antes de utilizar un bucle u ... more

Lenguajes fuertemente, débilmente, estáticamente y dinámicamente tipados

- Posted in programacion, ingenieria-del-software by - Comments

Uno de los aspectos más importantes de cualquier programa es, sin duda, el tema de los datos. Los datos son el soporte de la información, y la información es el corazón de cualquier programa. Los lenguajes de programación utilizan las variables como contenedores de datos, para manipularlos y almacenarlos en una amplia variedad de maneras. Está claro que los datos tienen distintos tipos. A ... more