¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí

¿Qué es la algoritmia?

¿Qué es la algoritmia?

La algoritmia se interesa por la actividad de programación de un ordenador que permite resolver problemas de manera automática. Se coloca en un plano conceptual en el que cualquier problema, informático o de otro tipo, se caracteriza por un conjunto de datos de entrada y resultados esperados. Este nivel de análisis se puede representar mediante el esquema de la figura siguiente.

images/01_01.png

Ejemplo

Dados los ingredientes siguientes:

Tomillo, laurel, perejil, ajo, aceite, vinagre, sal, pimienta, limón y un salmón de un kilo y 300 gramos. Preparar salmón marinado.

En este ejemplo, el problema está representado por los datos: el tomillo, el laurel, etc.; el salmón, cuyo peso conocemos, y el resultado esperado, que es un plato de cocina: salmón marinado. No es un problema que se plantee habitualmente en informática (todavía), pero se plantea en los mismos términos.

Ejemplo

Se pide calcular, para un año dado, qué día de la semana es el 1 de mayo.

En este caso, los datos están formados por la cifra del año, como 2005, por ejemplo. El resultado esperado es un día de la semana, domingo, por ejemplo.

En estos ejemplos, el problema está compuesto por un conjunto de datos. El resultado esperado se debe conseguir mediante transformaciones realizadas a los datos. Este concepto aparece representado en la figura anterior.

Los problemas por los que nos interesaremos en este libro se resuelven con la ayuda de un ordenador....

Estructura del libro

A este libro solo le interesa la máquina abstracta, en el espacio del problema, para la que estudia una algoritmia particular: la algoritmia imperativa o procesal. Está dividido en dos partes. La primera agrupa los capítulos desde «Programas directos» hasta «¿Recursividad o iteración?». En esta parte se abordan las nociones de la algoritmia básica y el método de construcción razonada de un algoritmo imperativo. La segunda parte abarca desde el capítulo «Ordenar» hasta «Encriptar». En este caso se buscan soluciones a problemas más elaborados en distintos ámbitos del cálculo automático.

El capítulo «Programas directos» muestra algunos ejemplos de algoritmos tomados de la vida diaria e intenta definir la naturaleza de los algoritmos estudiados en este libro. En él se precisa, especialmente, la distinción entre la especificación y la realización de un algoritmo y se muestra que la algoritmia propiamente dicha termina donde empieza la programación. En concreto, resolver un problema consiste en pasar de los datos a los resultados esperados mediante la serie secuencial de las transformaciones que se han de realizar en los datos. Sin embargo, la descripción de estas operaciones puede expresarse de distintas maneras y, en este sentido, la algoritmia no es la programación. Se abordan las notaciones que se utilizarán para expresar transformaciones sin control del flujo de instrucciones.

El capítulo «La alternativa» estudia una de las construcciones fundamentales de la algoritmia. En efecto, la alternativa permite elegir los tratamientos...

Público objetivo

En primer lugar, este libro se dirige a los principiantes en programación. Como tal, está más bien destinado a los planes de estudios que todavía enseñan la programación imperativa por procedimientos, como los Ciclos Formativos de Grado Medio (CFGM) y Ciclos Formativos de Grado Superior (CFGS) de informática. Sin embargo, los métodos abordados y los ejemplos estudiados pueden interesar a todos los estudiantes que desean conocer o practicar la programación en general. Sin lugar a dudas, los alumnos de ingeniería encontrarán muchos temas de análisis a su nivel, posiblemente ampliando algunos de los ejercicios propuestos.

Los estudiantes avanzados podrán abordar este libro buscando aquí o allí ejercicios para resolver. Sin embargo, deberán empezar por refrescar sus conocimientos revisando primero con atención el capítulo «Programas directos», que trata de la especificación, y el capítulo «Iteración», que trata de la construcción razonada de una iteración. Probablemente, los principiantes deberán estudiar el libro de manera lineal, siguiendo el orden de los capítulos, al menos en la primera parte, que abarca desde el capítulo «Programas directos» hasta «¿Recursividad o iteración?». Los capítulos de la segunda...

Convenciones adoptadas

El texto está redactado según determinadas convenciones tipográficas que se presentan aquí.

Indica una observación importante o un punto concreto destacable.

Una observación puede aparecer en cualquier lugar del texto, salvo en las instrucciones de los algoritmos presentados.

Ejemplo

Se utiliza para introducir un ejemplo que ilustra una notación o un concepto. 

Los algoritmos y los ejercicios se diferencian por que se presentan dentro de un recuadro como este:

Algoritmo 1: División euclidiana de dos números enteros: versión 2

Texto de definición del algoritmo

Continuación del texto de definición

Los extractos de código se destacan en esta fuente de letra.