You are on page 1of 4

Cubo de Rubik 3x3

https://www.felti.org/sites/default/files/archivos/ponencia/solucioncuborubik.pdf

Definición de algoritmo

Un algoritmo es una secuencia de pasos lógicos necesarios para llevar a cabo una tarea especifica, como la

solución de un problema. Los algoritmos son independientes tanto del lenguaje de programación en que se

expresan como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un

lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo el algoritmo será

siempre el mismo.

Por ejemplo en una analogía con la vida diaria, una receta de un plato de cocina se puede expresar en

español, ingles o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración del plato se

realizaran sin importar el cocinero.

Los pasos a seguir en la solución de una ecuación de segundo grado.

Los pasos matemáticos para la solución de un número factorial.

Las instrucciones para la liquidación de una nomina.

Las acciones que se deben seguir para la obtención de una estadística.

Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo, de modo que sin

algoritmo no puede existir un programa.

Características de los algoritmos

Las características fundamentales que debe cumplir todo algoritmo son:

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

Un algoritmo debe estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado

cada vez.

Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea debe de

tener un número finito de pasos.

La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida.

En el algoritmo citado anteriormente se tendrá:

Entrada ingredientes y utensilios empleados

Proceso elaboración de la receta de cocina

Salida terminación del plato (por ejemplo, cordero)

Un algoritmo exige que se tengan varias propiedades importantes:


Los pasos de un algoritmo deben ser simples y exentos de ambigüedades (diferentes significados), deben

seguir un orden cuidadosamente prescrito, deben ser efectivos y deben de resolver el problema en un

número finito de pasos.

El siguiente ejemplo muestra un algoritmo para cambiar un foco quemado.

Cambiar un foco quemado podría resumirse en dos pasos:

Quitar el foco quemado

Colocar un foco nuevo

Pero, si tuviera que entrenar un robot domestico para que efectúe esta tarea, tendrá que ser mas especifico

y claro en los pasos a seguir, dar mas detalles (suponga que el foco se encuentra en el techo de una

habitación):

Situar escalera bajo el foco quemado.

Elegir un foco de reemplazo (de la misma potencia que el anterior).

Subir por la escalera hasta alcanzar el foco.

Girar el foco contra las manecillas del reloj hasta que esté suelto.

Ubicar el foco nuevo en el mismo lugar que el anterior.

Enroscar en el sentido de las manecillas del reloj hasta que quede apretado.

Bajar de la escalera.

http://correo.uan.edu.mx/~iavalos/FP/FP1.html

Tipos de algoritmos
Se ha clasificado a los algoritmos de diversas formas, de acuerdo con
algunos de sus atributos. Por ejemplo:

A) Según el sistema de signos con el que describen los pasos a seguir,


se reconocen:

–Algoritmos cualitativos: cuando se hace a través de palabras, es decir,


las instrucciones son verbales. Sucede, por ejemplo, con recetas de
cocina.
–Algoritmos cuantitativos: cuando se hace a través de cálculos
numéricos. Se puede hacer un algoritmo, por ejemplo, para obtener la
raíz cuadrada de un número.

B) Según su función, los algoritmos pueden ser:

–Algoritmos de ordenamiento: secuencian los elementos que ingresan a


partir de un cierto orden, en general, según un orden numérico o léxico.

–Algoritmos de búsqueda: al contrario de realizar operaciones o


secuenciar elementos, se dedica a encontrar dentro de una lista que
ingresa, uno o varios elementos en particular que cumplan con el
conjunto de condiciones dadas.

–Algoritmos de encaminamiento: deciden de qué modo se deberá


transmitir algo que llega, y cómo seguirá un conjunto de pasos
encadenados. Se dividen fundamentalmente
entre adaptativos y estáticos, los primeros con cierta capacidad de
aprendizaje y ajuste a la circunstancia, mientras que los segundos
funcionan mecánicamente, siempre del mismo modo. Es importante
decir que los algoritmos de encaminamiento cuentan con una propia
subdivisión, según el camino que se toma para que la transmisión llegue
de manera efectiva (ejemplos de estos tipos son: por el camino más
corto, de manera óptima, basado en el flujo, etc.).

C) También los algoritmos han sido clasificados según la estrategia que


se utiliza para llegar al resultado. Veamos algunos ejemplos:

–Algoritmos probabilísticos: no se puede estar seguro de la exactitud de


la respuesta que darán. Se agrupan en distintos subtipos, pero con esa
premisa: o bien presentan soluciones aproximadas del problema, o bien
presentan soluciones que pueden ser correctas pero también erróneas.

–Algoritmo cotidiano: es el que se da en la vida común de las personas,


no se aplica en sistemas informáticos ni en nada ajeno al día a día.
Muchas de las decisiones que se toman desde que uno se despierta por
la mañana pertenecen a este grupo.
–Algoritmo heurístico: abandona alguno de los objetivos como recurso
para terminar llegando a la solución. En general, son utilizados cuando
no existe una solución mediante las vías tradicionales.

–Algoritmo de escalada: se comienza con una solución insatisfactoria


(que no cumple la entrada y la salida), y se la va modificando
aproximándose a lo que se busca. En algún momento, estaremos cerca
de (o llegaremos a) la solución correcta.

–Algoritmo voraz: Con la idea de llegar a una solución óptima definitiva,


elige analizar cada paso como único y elegir la solución óptima para ese
paso.

–Algoritmo determinista: es completamente lineal (cada paso tiene un


paso sucesor y un paso predecesor) y por lo tanto predictivo, si se
conocen sus entradas y su forma de proceder. El algoritmo de Euclides,
que permite averiguar el máximo común divisor entre dos números,
responde a este tipo. Se distinguen de los no deterministas, donde el
algoritmo tiene un comportamiento en forma de árbol.

Fuente: https://www.tiposde.org/ciencias-exactas/843-tipos-de-
algoritmos/#ixzz5kuZDduzF

https://www.tiposde.org/ciencias-exactas/843-tipos-de-algoritmos/

Diagrama de flujo
El diagrama de flujo o flujograma o diagrama de actividades es la representación
gráfica de un algoritmo o proceso. Se utiliza en disciplinas
como programación, economía, procesos industriales y psicología cognitiva.
En Lenguaje Unificado de Modelado (UML), es un diagrama de actividades que representa
los flujos de trabajo paso a paso. Un diagrama de actividades muestra el flujo de control
general.
En SysML el diagrama ha sido extendido para indicar flujos entre pasos que mueven
elementos físicos (p. ej., gasolina) o energía (p. ej., presión). Los cambios adicionales
permiten al diagrama soportar mejor flujos de comportamiento y datos continuos.
Estos diagramas utilizan símbolos con significados definidos que representan los pasos del
algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de
inicio y de fin del proceso.
https://es.wikipedia.org/wiki/Diagrama_de_flujo

https://pastranamoreno.files.wordpress.com/2012/05/ejercicios-resueltos.pdf

You might also like