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
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.
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
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