Documente Academic
Documente Profesional
Documente Cultură
Anlisis: Distincin y separacin de las partes de un todo hasta llegar a conocer los principios o
elementos de este.
Diseo: El diseo se define como el proceso previo de configuracin mental, "pre-figuracin", en la
bsqueda de una solucin en cualquier campo. Utilizado habitualmente en el contexto de la
industria, ingeniera, arquitectura, comunicacin y otras disciplinas creativas.
Algoritmo: Un algoritmo es como un conjunto ordenado y finito de operaciones que permite hallar la
solucin de un problema.
2.
El anlisis y diseo de algoritmos tiene como objetivo establecer propiedades sobre la eficiencia
permitiendo la comparacin entre soluciones alternativas y predecir los recursos que usar un
algoritmo. Estas estimaciones resultan ser bastante tiles en la bsqueda de algoritmos eficientes.
A la hora de realizar un anlisis terico de algoritmos es comn calcular su complejidad en
un sentido asinttico, es decir, para un tamao de entrada suficientemente grande. La cota
superior asinttica, y las notaciones omega (cota inferior) y theta (caso promedio) se usan con esa
finalidad. Por ejemplo, la bsqueda binaria decimos que se ejecuta en una cantidad de pasos
proporcional a un logaritmo, en O(log(n)), coloquialmente "en tiempo logartmico". Normalmente las
estimaciones asintticas se utilizan porque diferentes implementaciones del mismo algoritmo no
tienen por qu tener la misma eficiencia. No obstante la eficiencia de dos implementaciones
"razonables" cualesquiera de un algoritmo dado estn relacionadas por una constante multiplicativa
llamada constante oculta.
Las medidas exactas de eficiencia son tiles para quienes verdaderamente implementan y usan
algoritmos, porque tienen ms precisin y as les permite saber cunto tiempo pueden suponer que
tomar la ejecucin. Para algunas personas, como los desarrolladores de videojuegos, una
constante oculta puede significar la diferencia entre xito y fracaso.
En ingeniera del software, el diseo de algoritmos es un mtodo especfico para poder crear un
modelo matemtico ajustado a un problema especfico para resolverlo. El diseo de algoritmos es
una teora de la Investigacin de operaciones.
3.
Estos surgieron a mediados del siglo IX por el matemtico distinguido y astrnomo Mohammed Ibn
Musa -aljarizm: pero podemos ver que Al_yebr-mugabata es otro que desarrollo frmulas para
posibilitar que con un nmero limitado de procesos fuese posible resolver ecuaciones de primer y
segundo grado.
La historia del algoritmo nace por necesidad de hacer clculos matemticos a travs, de ella se
fundamenta el paso inicial de entender acabadamente cualquier problema planteada.
Pero tambin tengamos en cuenta que los algoritmos estn en el corazn mismos de los
ordenadores y que los leguajes de computacin solo son un medio de expresarlos.
En la teora de los algoritmos podemos mencionar que los algoritmos empezaron a dar inicio
aproximadamente a lo largo de la historia en el siglo 19 aunque ya para este entonces se tena
cierto conocimiento de estos.
4.
Para ver la evolucin que han tenido los algoritmos a lo largos de los aos en necesario entender
que estos fueron evolucionando segn las necesidades de cmputo y la arquitectura fsica de los
computadores, diversos problemas requieren diversos enfoques para resolverlos estos
virtualmente dio origen a los distintos paradigmas de programacin.
Los paradigmas de la programacin son:
Paradigma Imperativo
Paradigma Declarativo
Paradigma Estructurado
Paradigma Orientado a Objetos:
Paradigma Funcional
Paradigma lgico
Cada paradigma tiene un diferente enfoque y est orientado a un grupo de problemas especficos
las caractersticas que tienen estos paradigmas son:
Paradigma Imperativo: describe la programacin como una secuencia instrucciones o comandos
que cambian el estado de un programa. El cdigo mquina en general est basado en el
paradigma imperativo. Su contrario es el paradigma declarativo, En este paradigma se incluye el
paradigma procedimental(procedural) entre otros.
Paradigma Declarativo: No se basa en el cmo se hace algo(cmo se logra un objetivo paso a
paso), sino que describe(declara) cmo es algo. En otras palabras, se enfoca en describir las
propiedades de la solucin buscada, dejando indeterminado el algoritmo (conjunto de
instrucciones) usado para encontrar esa solucin. Es ms complicado de implementar que el
paradigma imperativo, tiene desventajas en la eficiencia, pero ventajas en la solucin de
determinados problemas.
Paradigma Estructurado: la programacin se divide en bloques (procedimientos y funciones) que
pueden o no comunicarse entre s. Adems la programacin se controla con secuencia, seleccin
e iteracin. Permite reutilizar cdigo programado y otorga una mejor compresin de la
programacin. Es contrario al paradigma inestructurado, de poco uso, que no tiene ninguna
estructura, es simplemente un bloque, como por ejemplo, los archivos batch (.bat).
Paradigma Orientado a Objetos: est basado en la idea de encapsular estado y operaciones en
objetos. En general, la programacin se resuelve comunicando dichos objetos a travs de
Estructura de un algoritmo
La estructura de un algoritmo sirve para organizar a los elementos que aparecen en l. Todos los
algoritmos tienen la misma estructura, la cual viene definida por tres secciones:
Cabecera
Declaraciones
Cuerpo
Ejemplo:
Para resolver el problema planteado en el tema anterior, es necesario declarar una constante y
dos variables
Constantes
PI=3.1416
Variables
Real rea, radio
Cuerpo: En el cuerpo se escriben todas las instrucciones del algoritmo la sintaxis es:
Inicio
<Instruccin 1>
<Instruccin n>
Fin
Inicio y Fin Son palabras reservadas que marcan el principio y el final de la seccin del cuerpo,
que es donde est el bloque de instrucciones principal del algoritmo.
Ejemplo
Inicio
Escribir (introduzca radio: )
Leer (radio)
rea =PI*radio**2
Escribir (El rea de la circunferencia es:, rea)
Fin
Comentarios. En los algoritmos es conveniente escribir comentarios para explicar el diseo y/0
funcionamiento del mismo.
Ejemplo
/* Cabecera */
Algoritmo Area_de_una_circuferencia
6.
Tipos de algoritmos
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del
proceso.
Existen varias tcnicas de diseo de algoritmos que permiten desarrollar la solucin al problema
planteado, algunas de ellas son:
Algoritmos probabilsticos: algunos de los pasos de este tipo de algoritmos estn en funcin de
valores pseudoaleatorios
Algoritmos determinsticos: El comportamiento del algoritmo es lineal: cada paso del algoritmo
tiene nicamente un paso sucesor y otro ancesor.
7.
Qu es ejecucin de un programa?
8.
La traza de un Algoritmo se puede definir como la ejecucin manual de forma secuencial de las
sentencias que lo componen. As, la traza del siguiente algoritmo es el valor que van adoptando las
variables a medida que se va ejecutando un programa.
La funcin principal que posee realizar la traza de un algoritmo es la de comprobar que ste
funciona correctamente o para realizar la etapa de depuracin en la que se intenta corregir errores,
simplificar el algoritmo al mximo e incrementar su eficacia y velocidad.
De esta manera, el programador realiza una corrida en fro sobre el programa fuente escogiendo
un conjunto de datos de entrada, ejecutando manualmente cada sentencia del programa fuente y
verificando que los resultados obtenidos son los esperados de acuerdo al conjunto de datos de
entrada. Como una tcnica de depuracin, el programador debe realizar este proceso utilizando
conjuntos de datos que permitan ejecutar todos los caminos posibles del programa.
Ejemplo: Realizar el anlisis E-P-S y disear un algoritmo para calcular el rea de superficie de un
paraleleppedo de dimensiones l (largo), a (ancho) y h (altura).
Codificacin:
float Area()
{
float l, h, a, AS;
printf("Largo del paralelepipedo = ");
scanf(%f,&l);
printf("Ancho del paralelepipedo= ");
scanf(%f,&a);
printf("Altura del paralelepipedo= ");
scanf(%f,&h);
AS = 2 * (l * a + l * h + a * h);
printf("Area de superficie del paralelepipedo = %f", AS);
}
Corrida en fro:
l = 3.0
a = 2.5
h = 7.3
AS = 2 x (3.0 x 2.5 + 3.0 x 7.3 +
2.5 x 7.3) = 95.3
9.
Ejemplos de un algoritmo.
1- Para que una persona pueda ejercer su voto en una eleccin de gobierno, debe ser mayor de
edad y costarricense.
2- Para que una persona pueda casarse, debe ser mayor de edad y soltero.
3- Escriba un algoritmo que calcule la hipotenusa de un tringulo rectngulo, donde ambos catetos
son iguales a 5.
BIBLIOGRAFA
Wikipedia (2013). Anlisis de Algoritmos. Disponible en
http://es.wikipedia.org/wiki/An%C3%A1lisis_de_algoritmos
Wikipedia (2013). Diseo de Algoritmos. Disponible en
http://es.wikipedia.org/wiki/Dise%C3%B1o_de_algoritmos
Mller
G.
(2008).
Clase
9.
Programacin
Modular.
http://es.scribd.com/doc/2959783/3/Corrida-en-frio-de-Algoritmo-Principal
Acevedo,
A.
(2010).
Algortmica
algoritmicayprogramacion.blogspot.com/
Programacin.
Disponible
Disponible
en
http://pnfi-
en