QUÉ ES UN ALGORITMO

En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo es un conjunto de intruccciones bien definida, ordenada y finita que permite realizar una actividad específica mediante pasos sucesivos que no generen dudas a quien lo vaya a ejecutar. Dado un estado inicial y una entrada, a través de lo mencionados pasos sucesivos se llega a un estado final, obteniendo una solución. Los algoritmos son objeto de estudio de la algoritmia.

En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestión o incluso en las instrucciones que recibe un trabajador por parte de su patrón. También existen ejemplos de índole matemática, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema lineal de ecuaciones.

 

para más información: http://es.wikipedia.org/wiki/Algoritmo

Ejemplos de algoritmos

En la naturaleza hay muchos procesos que puedes considerar como Algoritmos ya que tienen procedimientos y reglas. Incluso, muchas veces no somos conscientes de ellos.

Por ejemplo, el proceso digestivo es un concepto de algoritmo con el que convivimos a diario sin que nos haga falta una definición precisa de este proceso. El hecho de que conozcamos cómo funciona el sistema digestivo, no implica que los alimentos que consumimos nos alimenten más o menos.

La familiaridad de lo que sucede día a día nos impide ver muchos algoritmos que pasan a nuestro alrededor. Procesos naturales como la gestación, las estaciones, la circulación sanguínea, los ciclos planetarios, etc, son algoritmos naturales que generalmente pasan desapercibidos.

 

Ejemplo1 :

Lavarnos los dientes es un procedimiento que realizamos varias veces al día. Veamos la forma de expresar este procedimiento como un Algoritmo:

 

1. Tomar la crema dental

2. Destapar la crema dental

3. Tomar el cepillo de dientes

4. Aplicar crema dental al cepillo

5. Tapar la crema dental

6. Abrir la llave del lavamanos

7. Remojar el cepillo con la crema dental

8. Cerrar la llave del lavamanos

9. Frotar los dientes con el cepillo

10. Abrir la llave del lavamanos

11. Enjuagarse la boca

12. Enjuagar el cepillo

13. Cerrar la llave del lavamanos

14. Secarse la cara y las manos con una toalla

 

Ejemplo 2: Ir al Colegio.

 

1. Levantarse

2. Bañarse

3. Vestirse

4. Peinarse

5. Desayunarse

6. Cepillarse los dientes

7. Coger el bolso

8. Esperar el bus

9. Ubicarse en un asiento en el bus

10. Llegar al Colegio.

Ejemplo 3: Se necesita encender una lampara. 

 

1. Presionar el swiche, para encenderla.

2. Si aun no enciende, verificar si hay energia en el recinto.

3. Si aun no enciende, verificar si está conectada y conectarla.

4. si aun no enciende, verificar si el foco esta flojo y ajustarlo.

5. si aun no enciende, verificar si el foco esta quemado y cambiarlo.

6. si aun no enciende, cambiar la lampara o mandarla a reparar.


Los Algoritmos se pueden expresar de muchas maneras, dos de ellas son: Psedudocódigo y Diagrama de Flujo.


Pseudocódigo

 

Un pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas, permite codificar un programa con mayor agilidad y no tiene una estructura semántica ni arquitectura estándar.

 

VARIABLE: Campo en memoria que almacena un dato numérico, alfanumérico, carácter.

El nombre de una variable debe ser nemotécnico, es decir, claro y de fácil relación con su contenido.

 

Cómo se asigna valor a una variable?

 

Para asignar datos a una variable, se puede utilizar el siguiente símbolo <-

Sintaxis: nombrevariable <- dato

Ejemplo: salario <- 500000 (la variable salario se le asignó un valor para que almacenara el valor es 500000.

 

Se puede también almacenar valores a una variable desde teclado, con la instrucción LEER, es decir, lo que el usuario digite en tiempo de ejecución del algoritmo quedará guardado en la variable que se utilice con esta instrucción.

Sintaxis: Leer nombrevariable

Ejemplo: leer salario

 

Cómo mostrar expresiones o valores en pantalla? 

Para mostrar mensajes o expresiones en pantalla se utiliza la instrucción Escribir, seguida del mensaje entre comillas o de la variable para mostrar su contenido. Ejemplo:

Escribir "Resolvamos este algoritmo" (En pantalla aparecerá tal cual la frase o palabra que se encuentre entre comillas.

Escribir salario (En pantalla aparecerá el contenido de la variable salario previamente inicializada en el algoritmo. No se usa comillas)

 

OPERADORES UTILIZADOS EN EL PSEUDOCODIGO

 

ALGEBRAICOS

+ suma

- resta

/ división

* multiplicación.

 

RELACIONALES

< menor que

> mayor que

= igual

>= mayor o igual que

<= menor o igual que

<> diferente

 

LOGICOS

^, &, AND = Y

V, |, OR = 0

~ = Negación

 

Estructuras (Forma básica): Permite validar condiciones.

 

- Condicional Si

 

  Si Condición Entonces 

      Instrucciones....

  FinSi

 

  Si Condición Entonces

     Instrucciones....

  Sino

     Instrucciones...

  Finsi

 

Se puede también anidada

 

Si condición entonces

   instrucciones

sino

   si condición entonces

       instrucciones

   sino

      instrucciones

   finsi

finsi

 

 

 

Ejemplo:

 

Escribir "Digite su edad"   Esta instrucción muestra el mensaje en pantalla

leer edad      Esta instrucción guarda la edad del usuario en la variable edad

 

Si edad > =18 entonces  Esta estructura valida la edad digitada.

   Escriba "Usted es mayor de edad"  solo si la condición es verdadera mostrará este

                                                  mensaje

Sino

  Escriba "Usted es menor de edad"  Si la condición es falsa, es decir, la edad

                                                 digitada es menor que 18 mostrará este

                                                 mensaje.

Finsi Toda estructura si tiene un finsi

 

 

 

 


Estructuras ciclicas

 

ESTRUCTURA “MIENTRAS”
 
Esta es una estructura que repetirá un proceso durante “N” veces,donde “N” puede ser fijo o variable. Para esto, la instrucción se vale de una condición que es la que debe cumplirse para que se siga ejecutando. Cuando la condición ya no se cumple, entonces el proceso finaliza. La forma de esta estructura es la siguiente:
Mientras condición Hacer
    Instrucciones
finmientras
Nota: la condición debe ser verdadera para que realice las instrucciones. El incremento o control del algoritmo se controla con instrucciones.

ESTRUCTURA “PARA”
Es una estructura cíclica en la que se indica el número de interacciones que llevará a cabo.   La forma de esta estructura es la siguiente:
Para variablenumerica <- valor inicial hasta valor final hacer
 instrucciones
finpara
Nota: En esta estructura el incremento se hace automático, desde el valor inicial al valor final. Por defecto el incremento se hace de uno en uno, pero si se le agrega el argumento "con paso [#]" después de la variable final antes del hacer, se puede cambiar la forma de incrementar.
Ejemplo: 
Para numero <- 2 hasta 10 con paso 2 hacer
 escribir numero
finpara
El anterior algoritmo se ejecutará 5, es decir, empezará en 2 y terminará en 10, pero la variable numero se incrementará de 2 en 2

Proceso Conteo_Ascendente

 

Conteo <- 1

 Mientras conteo <=10 Hacer

escribir conteo

conteo<- conteo+1

 FinMientras

 

FinProceso

Proceso Conteo_Descendente

 

para conteo <-10 hasta 1 con paso -1 Hacer

escribir conteo

Finpara

 

FinProceso


Proceso Sumar

suma<-0

para num<-1 hasta 5 hacer

  suma<- suma+num

fin para

escribir suma