Академический Документы
Профессиональный Документы
Культура Документы
Como estudiante de Ingeniera en Sistemas, a lo largo de la carrera he tenido que resolver problemas
usando algoritmos, pero muy pocas veces nos detenemos a verificar si dicho algoritmo es el ms
conveniente para resolver el problema, como tpicos estudiantes pensamos que si el programa
funciona es que ya est resuelto.
Una vez que ya tenemos el algoritmo que funciona de manera correcta, primero debemos definir
algunos criterios para verificar el rendimiento y comportamiento de dicho algoritmo.
Algunos de los criterios a evaluar es que tan simple puede ser usarlo y la manera en que tan
eficientemente utiliza los recursos.
Ahora bien Cmo determinamos cual es el mejor algoritmo para resolver un problema?; La mejor
estrategia seria programas varios algoritmos y ejecutarlos sobre problemas de prueba. Se puede
afirmar que un algoritmo es eficiente cuando logra completar la tarea planteada utilizando para ello
la menor cantidad de recursos posibles, como minimizar el uso de memoria, el nmero de pasos y
el esfuerzo humano, adems el tiempo que tarda en resolver el problema.
La eficiencia de un algoritmo tiene dos bases importantes y fundamentales: espacio y tiempo: La
eficiencia en espacio puede medirse en funcin de la cantidad de memoria que se requiere para
ejecutar un programa, por otro lado la eficiencia en tiempo se puede medir en trminos del tiempo
de ejecucin del programa, si bien ambas bases dependen en gran medida del tipo y capacidad de
la computadora y compilador, trataremos de explicar la eficiencia de los algoritmos y no las
limitantes de estos.
Como ya hemos mencionado la calidad de un algoritmo puede ser demostrada utilizando varios
criterios, uno de los ms importantes es el tiempo utilizado en la ejecucin del programa,
normalmente un problema se puede resolver por mtodos distintos, con diferentes grados de
eficiencia. En el caso de usar una computadora es importante administrar y limitar el consumo
de recursos.
Recurso de Tiempo: En el caso de aplicaciones que trabajan en tiempo real es necesario que los
clculos se realicen en el menor tiempo posible, si una aplicacin maneja una gran cantidad de
informacin y no se administra adecuadamente pueden necesitar tiempos de ejecucin muy largos.
Recurso de Memoria: Al trabajar en una computadora se debe tener en cuenta que se tiene un
espacio de memoria limitado.
Como se mencion antes el tiempo de ejecucin puede depender de diversos factores como son:
los datos de entrada que se ingresen, la calidad del cdigo generado, la naturaleza y rapidez
del procesador, adems de la capacidad del programador para generar el cdigo.
El comportamiento de un algoritmo puede cambiar drsticamente para diferentes tipos de entradas
de prueba, es decir que el tiempo de ejecucin no solo est dado por el tamao de los datos de
entrada. As suelen estudiarse tres casos para un mismo algoritmo: peor caso, mejor caso y caso
medio.
El mejor caso puede interpretarse como el algoritmo que llega a concluir la tarea con el menor
nmero de instrucciones, en el menor tiempo y con la mayor eficiencia en el uso de recursos.
El peor caso representa al algoritmo que puede o no haber llegado a resolver el problema, con el
tiempo de ejecucin ms prolongado y utilizando una gran cantidad de recursos.
La conclusin es que para poder crear una aplicacin que satisfaga las necesidades del usuario,
debemos utilizar el un algoritmo que tenga el menor tiempo de ejecucin y que resuelva el problema
con el menor nmero de instrucciones.
Nombre
Smbolo
Funcin
Terminal
Entrada / salida
Proceso
Decisin
Conector Misma
Pgina
Indicador
de
direccin o lnea
de flujo
Salida
C <- A+B
D <- A-B
E <- A*B
Si B == 0 Entonces
Escribir "No fue posible hacer la division ya que el segundo operando es 0"
Sino
Escribir "El resultado de la division es: ", A/B
Fin Si
FinProceso
Si A>B Entonces
Escribir "A es mayor que B"
FinSi
SI A<B Entonces
Escribir "A es menor que B"
Sino
Escribir "A es igual que B"
FinSi
FinProceso
c. Leer un valor y decir si el nmero es mayor que 100, menor que 100 o igual a 100.
Proceso Ejercicio2
Escribir "Ingrese el primer numero:"
Leer A
Si A>100 Entonces
Escribir "A es mayor que 100"
FinSi
SI A<100 Entonces
Escribir "A es menor que 100"
Sino
Escribir "A es igual que 100"
FinSi
FinProceso