Computador
La computadora (del inglés: computer y este del latín: computare, ‘calcular’), también denominada computador u ordenador (del francés: ordinateur; y este del latín: ordinator), es una máquina electrónica digital programable que ejecuta una serie de comandos para procesar los datos de entrada, obteniendo convenientemente información que posteriormente se envía a las unidades de salida. Una computadora está formada por numerosos circuitos integrados y varios componentes de apoyo, extensión y accesorios, que en conjunto pueden ejecutar tareas diversas con suma rapidez y bajo el control de un programa (software).
Programa
Un programa informático o programa de computadora es una secuencia de instrucciones, escritas para realizar una tarea específica en un computador. Este dispositivo requiere programas para funcionar, por lo general, ejecutando las instrucciones del programa en un procesador central. El programa tiene un formato ejecutable que la computadora puede utilizar directamente para ejecutar las instrucciones. El mismo programa en su formato de código fuente legible para humanos, del cual se derivan los programas ejecutables (por ejemplo, compilados), le permite a un programador estudiar y desarrollar sus algoritmos. Una colección de programas de computadora y datos relacionados se conoce como software.
Algoritmo
Un algoritmo es una secuencia lógica y finita de pasos que
permite solucionar un problema o cumplir con un objetivo.
Los algoritmos deben ser precisos e indicar el orden lógico
de realización de cada uno de los pasos, debe ser definido y esto quiere decir
que si se ejecuta un algoritmo varias veces se debe obtener siempre el mismo
resultado, también debe ser finito o sea debe iniciar con una acción y terminar
con un resultado o solución de un problema.
Cuando se elabora un algoritmo se debe tener en cuenta lo
siguiente.
Tener claro cuál es el problema que va a solucionar.
Establecer un objetivo que permita medir la solución del
problema.
Elaborar un algoritmo que solucione el problema.
Realizar pruebas al algoritmo para verificar los resultados.
Ejemplo 1
Elabore un algoritmo que permita ir de la casa al colegio.
Objetivo: Ir de la casa al colegio.
Inicio
1. Salir de la casa
2. Si está lejos del colegio entonces tomar un medio de
transporte que lo deje cerca del mismo.
3. Si no está lejos del colegio entonces dirigirse caminando
hacia él mismo
4. Llegar a la puerta del colegio
Fin
Ejemplo 2
Plantee un algoritmo que permita adquirir un boleto para ir
a cine.
Objetivo: Adquirir un boleto para ir a cine.
Inicio
1. Dirigirse hacia el teatro donde quiere ver la película
2.Si hay gente esperado el boleto entonces hacer la fila y
avanzar con la misma hasta llegar a la taquilla
3. Si no hay gente esperando comprar el boleto entonces
dirigirse a la taquilla
4. Comprar el boleto para ver la película.
Existen dos tipos de algoritmos. Los algoritmos convencionales que son los que hacen las personas todos los días en sus diferentes actividades para solucionar problemas del trabajo o de la vida cotidiana. Y los algoritmos computacionales que son los que utilizan el computador a través de programas diseñados por desarrolladores de software y programadores para dar solución a problemas de cálculo o de manejo de información.Algoritmo vs Programa
En ciencias de la computación, el diseño de algoritmos es un método específico para poder crear un modelo matemático ajustado a un problema específico para resolverlo. El diseño de algoritmos o algorítmica es un área central de las ciencias de la computación, también muy importante para la investigación de operaciones (también conocida como investigación operativa), en ingeniería del software y en otras disciplinas afines.
Tecnicas de Algoritmo
Técnicas de Diseño de algoritmos
Existen varias técnicas de diseño de algoritmos que permiten desarrollar la solución al problema planteado, algunas de ellas son:
- Algoritmo divide y vencerás: El método está basado en la resolución recursiva de un problema dividiéndolo en dos o más subproblemas de igual tipo o similar.
- Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima.
- Algoritmos paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores.
- Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios
- Algoritmos determinísticos: El comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.
- Algoritmos no determinísticos: El comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
- Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
- Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
- Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.
- Vuelta Atrás (Backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.
Representacion de Un Algoritmo
Las principales maneras de representación de un algoritmo son a través de código fuente haciendo uso de un lenguaje de programación, a través de pseudocódigo, a través de un diagrama de flujo o a través de un sistema formal.
Diagrama de Flujo
Un diagrama de flujo representa de manera gráfica un algoritmo, teniendo en cuenta todos los posibles resultados y condiciones dentro de dicho gráfico. De manera general, se utiliza el lenguaje UML, el cual, es un lenguaje a través del que se representa el flujo de trabajo y que hace uso de una serie de símbolos de manera universal.
Pseudocodigo
El pseudocódigo de un programa informático representa la descripción del algoritmo en un lenguaje de alto nivel, sin que éste sea capaz de ser procesado por una máquina. Se considera uno de los pasos previos a la escritura del código fuente.
Codigo Fuente
Un código fuente se define como una serie de instrucciones secuenciales, escritas en un lenguaje de programación determinado que, a través de un compilador o intérprete, éste puede ser ejecutado en una máquina.
Comentarios
Publicar un comentario