Anda di halaman 1dari 8

1

Algoritmo Conjunto de instrucciones que aplicado a un nmero finito de datos, despus de un nmero finito de iteraciones entrega un resultado. Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema. En la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas como por ejemplo para poner una lavadora (conjunto de instrucciones pegadas en la tapa de la mquina), para tocar msica (partituras), para construir un aeroplano a escala (expresados en las instrucciones), para hacer trucos de magia (pasos para hacer el truco) o, incluso, para hacer recetas de cocina (pasos de la receta).

De un modo ms formal, un algoritmo es una secuencia finita de instrucciones realizables, no ambiguas, cuya ejecucin conduce a una resolucin de un problema.

TIPOS

DE

ALGORITMO

1. Un algoritmo debe ser preciso e indicar el orden de realizacin de cada paso. 2. Un algoritmo debe estar definido. Si se sigue el algoritmo dos veces, se debe obtener el mismo resultado cada vez.

3. Un algoritmo debe ser finito. Si se sigue el algoritmo. Se debe terminar en algn momento, o sea debe tener un nmero finito de pasos.

Clasificacin

de

los para

algoritmos, ser

segn ejecutados

quien por

los

ejecute: personas.

Algoritmos

Algoritmos para ser ejecutados por las computadoras.

Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocdigo, diagramas de flujo y lenguajes de

programacin entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocdigo y diagramas de flujo evita muchas ambigedades del lenguaje natural. Dichas expresiones son formas ms estructuradas para representar algoritmos; no obstante, se mantienen

independientes de un lenguaje de programacin especfico.

La descripcin de un algoritmo usualmente se hace en tres niveles: 1. Descripcin de alto nivel. Se establece el problema, se selecciona un

modelo matemtico y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles. 2. Descripcin formal. Se usa pseudocdigo para describir la secuencia de

pasos que encuentran la solucin. 3. Implementacin. Se muestra el algoritmo expresado en un lenguaje de

programacin especfico o algn objeto capaz de llevar a cabo instrucciones.

Diagrama de flujo Los diagramas de flujo son descripciones grficas de algoritmos; usan smbolos conectados con flechas para indicar la secuencia de instrucciones y estn regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeos, ya que abarcan mucho espacio y su construccin es laboriosa. Por su facilidad de lectura son usados como introduccin a los algoritmos, descripcin de un lenguaje y descripcin de procesos a personas ajenas a la computacin.

Pseudocdigo El pseudocdigo (falso lenguaje, el prefijo pseudo significa falso) es una descripcin de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintcticas propias de lenguajes de

programacin, como asignaciones, ciclos y condicionales, aunque no est regido por ningn estndar. Es utilizado para describir algoritmos en libros y publicaciones cientficas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocdigo requieren menos espacio para representar instrucciones complejas.

Sistemas formales La teora de autmatas y la teora de funciones recursivas proveen modelos matemticos que formalizan el concepto de algoritmo. Los modelos ms comunes son la mquina de Turing, mquina de registro y funciones -recursivas. Estos modelos son tan precisos como un lenguaje mquina, careciendo de expresiones coloquiales o ambigedad, sin embargo se mantienen independientes de cualquier computadora y de cualquier implementacin. Implementacin

Muchos algoritmos son ideados para implementarse en un programa. Sin embargo, los algoritmos pueden ser implementados en otros medios, como una red neuronal, un circuito elctrico o un aparato mecnico y elctrico. Algunos algoritmos inclusive se disean especialmente para implementarse usando lpiz y papel. El algoritmo de multiplicacin tradicional, el algoritmo de Euclides, la criba de Eratstenes y muchas formas de resolver la raz cuadrada son slo algunos ejemplos.

Variables Son elementos que toman valores especficos de un tipo de datos concreto. La declaracin de una variable puede realizarse comenzando con var.

Principalmente, existen dos maneras de otorgar valores iniciales a variables: Mediante una sentencia de asignacin. Mediante un procedimiento de entrada de datos (por ejemplo: 'read').

Estructuras secuenciales La estructura secuencial es aquella en la que una accin sigue a otra en secuencia. Las operaciones se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso. La asignacin de esto consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el valor.

La asignacin se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constante a una variable (a 15) Contador: Consiste en usarla como un verificador del nmero de veces que se realiza un proceso (a a + 1) Acumulador: Consiste en usarla como un sumador en un proceso (a a + b) De trabajo: Donde puede recibir el resultado de una operacin matemtica que involucre muchas variables (a c + b*2/4).

Mapa mental.

Anlisis del problema

Diseo de algoritmo

Verificacin

Compilacin y ejecucin

Codificacin

Documentacin Depuracin

Lgica de Programacin El estudio de la Lgica de Programacin no exige ningn conocimiento previo de computadora ni de tecnologa en general, tampoco exige la presencia de algn Lenguaje de Programacin especfico aunque no puede negarse que ste podra permitir, solo despus que se manejen bien los conceptos de lgica de programacin, implementar y ver convertida en realidad las soluciones lgicas a sus objetivos.

Definiciones 1. 2. Serie coherente de ideas y razonamientos. Ciencia que estudia la estructura, fundamentos y uso de las expresiones del

conocimiento humano. 3. Representacin intelectual de un objeto, diferencindose, de lo sentido, lo

percibido, lo imaginado o lo recordado. Las propiedades de los conceptos son la comprensin y la extensin.

La Lgica es ciencia de relaciones porque estudia el pensamiento y, pensar es establecer relaciones. Pero se preocupa no tanto por establecer relaciones (esto es propio de las ciencias) sino por el estudio de las relaciones mismas, por eso la lgica es una ciencia formal.

La programacin lgica es un tipo de paradigmas de programacin dentro del paradigma de programacin declarativa. El resto de los subparadigmas de programacin dentro de la programacin declarativa son: programacin

funcional, programacin con restricciones, programas DSL (de dominio especfico) e hbridos. La programacin lgica gira en torno al concepto de predicado, o

relacin entre elementos. La programacin funcional se basa en el concepto de funcin (que no es ms que una evolucin de los predicados), de corte ms matemtico.

La

programacin

lgica

encuentra

su hbitat natural

en aplicaciones de

inteligencias artificiales o relacionadas: Sistemas expertos, donde un sistema de informacin imita las recomendaciones de un experto sobre algn dominio de conocimiento.

Demostracin automtica de teoremas, donde un programa genera nuevos

teoremas sobre una teora existente.

Reconocimiento de lenguaje natural, donde un programa es capaz de

comprender (con limitaciones) la informacin contenida en una expresin lingstica humana.

Etc.

La programacin lgica tambin se utiliza en aplicaciones ms "mundanas" pero de manera muy limitada, ya que la programacin tradicional es ms adecuada a tareas de propsito general.

Bibliografa
http://enciclopedia.us.es/index.php/Algoritmo http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml http://es.wikipedia.org/wiki/Algoritmo http://www.amzi.com/articles/code07_whitepaper.pdf http://www.ecured.cu/index.php/L%C3%B3gica_de_Programaci%C3%B3n http://es.wikipedia.org/wiki/Programaci%C3%B3n_l%C3%B3gica