miércoles, 29 de mayo de 2013
diferentes problemas de algoritmos
1. PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿qué debe haga el estudiante?
ALGORITMO:
Inicio Dormir haga 1 hasta que suene el despertador (o lo llame la mamá). Mirar la hora. ¿Hay tiempo suficiente? Si hay, entonces Bañarse. Vestirse. Desayunar. Sino, Vestirse. Cepillarse los dientes. Despedirse de la mamá y el papá. ¿Hay tiempo suficiente? Si, Caminar al paradero. Sino, Correr al paradero. Hasta que pase un bus para la universidad haga : Esperar el bus Ver a las demás personas que esperan un bus. Tomar el bus. Mientras no llegue a la universidad haga : Seguir en el bus. Pelear mentalmente con el conductor. Timbrar. Bajarse. Entrar a la universidad. Fin |
miércoles, 22 de mayo de 2013
TIPOS DE ALGORITMOS
Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
- Son todos aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema cualquier
Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.
- Son aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio
Tipos de algoritmos de razonamiento:
Algoritmos Estáticos: son los que funcionan siempre igual, independientemente del tipo de problema tratado.
Algoritmos Adaptativos: algoritmos con cierta capacidad de aprendizaje.
Algoritmos Probabilísticos: son algoritmos que no utilizan valores de verdad booleanos sino continuos. Existen varios tipos de algoritmos probabilísticos dependiendo de su funcionamiento, pudiéndose distinguir:
§ Algoritmos numéricos: que proporcionan una solución aproximada del problema.
§ Algoritmos de Montecarlo: que pueden dar la respuesta correcta o respuesta erróneas (con probabilidad baja).
§ Algoritmos de Las Vegas: que nunca dan una respuesta incorrecta: o bien dan la respuesta correcta o informan del fallo.
Algoritmo Cotidiano: es la serie de pasos que realizamos en nuestra vida diaria para realizar las diferentes tareas y actividades comunes, desde los pasos al levantarnos, así como ir de compras, etc.
Algoritmo Voraz: un algoritmo voraz es aquel que, para resolver un determinado problema, sigue una meta heurísticaconsistente en elegir la opción óptima en cada paso local con la esperanza de llegar a una solución general óptima.
Algoritmo Determinista: es un algoritmo que, en términos informales, es completamente predictivo si se conocen susentradas.
Algoritmo Heurístico: es un algoritmo que abandona uno o ambos objetivos; por ejemplo, normalmente encuentran buenas soluciones, aunque no hay pruebas de que la solución no pueda ser arbitrariamente errónea en algunos casos; o se ejecuta razonablemente rápido, aunque no existe tampoco prueba de que siempre será así.
Las heurísticas generalmente son usadas cuando no existe una solución óptima bajo las restricciones dadas (tiempo, espacio, etc.), o cuando no existe del todo.
Algoritmo de escalada: la idea básica consiste en comenzar con una mala solución a un determinado problema y, repetidamente, aplicar optimizaciones a la misma hasta que esta sea óptima o satisfaga algún otro requisito.
Ciencias en que se apoya la algoritmia para producir soluciones ingeniosas!
· Ciencias de la Computación.
· Matemáticas.
· Ciencias Sociales.
· Ciencias Políticas.
¿Cómo podemos determinar la complejidad de un algoritmo?
No existe receta que siempre funcione para calcular la complejidad de un algoritmo, si es posible tratar sistemáticamente una gran cantidad de ellos, basándonos en que suelen estar bien estructurados y siguen pautas uniformes.
Loa algoritmos bien estructurados combinan las sentencias de alguna de las siguientes formas:
· Sentencias sencillas
· Secuencia (;)
· Decisión (if)
· Bucles
Llamadas a procedimiento.
El algoritmo
EL ALGORITMO
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, unalgoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi1 ) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.1
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enterospositivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.
Medios de expresión de un algoritmo
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo ylenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles:
- Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
- Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
- Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos.
EJEMPLOS:
martes, 21 de mayo de 2013
La Principal característica del software educativo es que debe cumplir con los criterios o propósitos expresados en el programa de estudio o en la situación para la cual se diseñan y lograr el aprendizaje.
El software diseñado con propósitos educativos o de formación aprovecha los aspectos funcionales y técnicos como son la multimedia, la programación y los medios de distribución, integrados con los pedagógicos para que expongan con claridad el contenido y competencias que pretendan desarrollar.
Características:
Contenido: Los conceptos a aprender o competencias por desarrollar se presentan de manera correcta, bien estructurados, con redacción clara y legible, sin faltas de ortografía.
Documentación: Disposición de información útil, clara, y suficiente de las características, uso y estrategia didáctica del software.
Autoevaluación: Integración de recursos para autoevaluar el aprendizaje y retroalimentar el proceso.
Interacción: Capacidad de reacción reciproca a manera de dialogo entre el usuario y el programa.
Medio: Es el medio de distribución y puede ser: archivo ejecutable, CD ROM o DVD ROM, en línea(internet),etc.
Multimedia: Incorporación de recursos multimedia.
Navegación: Capacidad de dirigir el acceso al contenido del programa según los deseos del usuario.
Presentación: El diseño de la interfaz debe ser atractivo, claro, sin excesos visuales, funcional, con elementos gráficos que resalten el contenido y que permitan su fácil manipulación. Debe contener menús, barras de navegación, iconos, pantallas, etc.
Usabilidad: Instalación y desinstalación sencilla o transparente para el usuario. Manejo fácil sin que demande entretenimiento previo o la lectura exhaustiva de manuales.
Versatilidad: Adaptable a las circunstancias de los usuarios.
Ademas de todo lo anterior el diseñador y programador del software educativo debe considerar otras características para dar versatilidad y funcionalidad.
Suscribirse a:
Entradas (Atom)