1.+Introducción.+Nociones+básicas

Antes de empezar con la algoritmia, hay que tener algunas ideas claras y eso es lo que vamos a tratar en este punto. Lo primero de todo es saber de dónde vienen los algoritmos. ¿Sabíais que el primer algoritmo se remonta al siglo IX? ¿Y sabías que la palabra viene del griego y el latin // dixit algorithmus? //Esta palabra viene a su vez de Al-Khwarizmi, el matemático y astrónomo persa al que le debemos estos algoritmos que tanto nos han ayudado a resolver problemas.

¿Alguna vez te has preguntado cómo funciona un ordenador?  Pues realmente un ordenador lo único que hace es procesar información; es decir, toma una información de entrada, la procesa y genera una información de salida. Así, por ejemplo en un juego de marcianos la información de entrada puede ser el movimiento de una nave marciana y la trayectoria del disparo; el procesamiento puede ser comprobar si la trayectoria del disparo intercepta al movimiento de la nave y la información de salida puede ser la explosión o destrucción de la nave marciana.

Para comprender mejor la idea de ordenador y programa pensemos en cómo se utiliza un reproductor de dvd. Cada película viene en un dvd, y para ver una película lo único que se debe hacer es introducir el disco en el reproductor. En función del dvd utilizado veremos una u otra película. El aparato lo único que hace es reproducir la información del disco a través de una serie de imágenes. Un programa sería equivalente a un dvd y un ordenador al aparato reproductor de video. En ambos casos el ordenador o el video lo único que hacen es reproducir la información del programa o del disco. A un ordenador se le debe de indicar a través de una serie de mandatos cuál es la información de entrada, cómo la procesa y cuál es la información de salida. **Al conjunto de mandatos se le denomina programa**.  Un ordenador es parecido a un niño, en el sentido de que para que haga algo, primero debemos enseñarle a hacerlo. Así por ejemplo, si queremos que un niño aprenda a cruzar la calle él "solito", le daremos una serie de instrucciones:  1º Si hay un semáforo, esperar a que se ilumine un hombrecito verde y cruzar rápidamente.   2º Si no hay un semáforo cerca, buscar un paso cebra y si está cerca hacer lo siguiente:  2.1. Ir al paso cebra. 2.2. Esperar a que no pase ningún vehículo  2.3. Cruzar.  3º. Si no hay ningún paso cebra cerca, entonces hacer lo siguiente: <span style="display: block; font-family: Verdana,Geneva,sans-serif; font-size: 110%; text-align: justify;"> 3.1. Mirar a la izquierda y a la derecha para ver si viene algún coche a alta veloci­dad o está muy cerca. <span style="display: block; font-family: Verdana,Geneva,sans-serif; font-size: 110%; text-align: justify;"> 3.2. Si no viene ningún coche cruzar rápi­damente, en caso de que venga algún coche esperar e ir al paso

<span style="display: block; font-family: Verdana,Geneva,sans-serif; font-size: 110%; text-align: justify;"><span style="color: #0000ff; font-family: Verdana,Geneva,sans-serif; font-size: 110%;">Si al niño no le damos todas estas instrucciones, no sabrá cómo cruzar o podría ser peligroso.

<span style="display: block; font-family: Verdana,Geneva,sans-serif; font-size: 110%; text-align: justify;">Un programa se realiza de igual forma, se deben especificar un conjunto de instrucciones (o sentencias) simples, ordenadas en una secuencia que el ordenador debe cumplir. El ordenador, al igual que el niño, entiende solamente instrucciones simples; es decir, con poco nivel de dificultad.

<span style="display: block; font-family: Verdana,Geneva,sans-serif; font-size: 110%; text-align: justify;">A un ordenador se le pueden dar instrucciones en diversos "idiomas", a estos idiomas los denominamos **lenguajes de programa­ción.** Así, las instrucciones que puedo dar a un ordenador utilizando el lenguaje de programación BASIC son distintas a las que le puedo dar utilizando el lenguaje de programación C.

<span style="display: block; font-family: Verdana,Geneva,sans-serif; font-size: 90%; text-align: justify;">

<span style="display: block; font-family: Verdana,Geneva,sans-serif; font-size: 11pt; text-align: justify;">Los lenguajes de programación definen cómo se escriben las instrucciones que entiende el ordenador y el nivel de dificultad de las instrucciones (el nivel que entiende el ordenador) y que órdenes (o instrucciones) se le pueden dar. El nivel de dificultad y el tipo de instrucciones que se pueden dar a un ordenador suele ser similar en los distintos lenguajes de programación.