miércoles, 25 de noviembre de 2009

Unidad I Algoritmos y Diagramas

Unidad I Algoritmos y Diagramas

HISTORIA DE LOS ALGORITMOS


El término proviene del matemático árabe Al’Khwarizmi, que escribió un tratado sobre los números. Este texto se perdió, pero su versión latina, Algoritmi de Numero Indorum, sí se conoce. El trabajo de Al’Khwarizmi permitió preservar y difundir el conocimiento de los griegos (con la notable excepción del trabajo de Diofanto) e indios, pilares de nuestra civilización. Rescató de los griegos la rigurosidad y de los indios la simplicidad (en vez de una larga demostración, usar un diagrama junto a la palabra Mira). Sus libros son intuitivos y prácticos y su principal contribución fue simplificar las matemáticas a un nivel entendible por no expertos. En particular muestran las ventajas de usar el sistema decimal indio, un atrevimiento para su época, dado lo tradicional de la cultura árabe. En 1850 A.C., un algoritmo de multiplicación similar al de expansión binaria es usado por los egipcios.
En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de usuario), los cuales muestran algoritmos para usar el aparato en cuestión o inclusive en las instrucciones que recibe un trabajador por parte de su
patrón. También existen ejemplos de índole matemática, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema lineal de ecuaciones. En el siglo XVIII se expandió su significado para abarcar en su definición a toda clase de procedimientos utilizados con el propósito de resolver problemas a realizar determinadas tareas. El primer caso de un algoritmo escrito para una computadora se considera que son las notas escritas por Ada Byron en 1842, para el motor analítico de Charles Babbage.

La teoría de las ciencias de la computación trata cualquier objeto computacional para el cual se puede crear un buen modelo. La investigación en modelos formales de computación se inició en los 30’s y 40’s por Turing, Post, Kleene, Church y otros. En los 50’s y 60’s los lenguajes de programación, compiladores y sistemas operativos estaban en desarrollo, por lo tanto, se convirtieron tanto en el sujeto como la base para la mayoría del trabajo teórico.
El poder de las computadoras en este período estaba limitado por procesadores lentos y por pequeñas cantidades de memoria. Así, se desarrollaron teorías (modelos, algoritmos y análisis) para hacer un uso eficiente de ellas. Esto dio origen al desarrollo del área que ahora se conoce como “Algoritmos y Estructuras de Datos”. Al mismo tiempo se hicieron estudios para comprender la complejidad inherente en la solución de algunos problemas. Esto dio origen a lo que se conoce como la jerarquía de problemas computacionales y al área de “Complejidad Computacional”.


http://www.ica-virtual.uni.cc/algunas-notas-sobre-la-historia-de-los-algoritmos/


CONCEPTO DE ALGORITMO

· Un algoritmo es una lista bien definida, ordenada y finita de operaciones que permiten hallar la solución a un problema. Dado un estado inicial y una entrada a través de pasos sucesivos y bien definidos se llega a un estado final obteniendo una solución.

http://es.wikipedia.org/wiki/Algoritmo

· Procedimiento de cálculo con símbolos según unas reglas determinadas y con un número finito de pasos.

Diccionario académico océano uno color.

· Entendemos por algoritmo un procedimiento seguro y mecánico que logra un cierto resultado especialmente en matemáticas y en informática el termino algoritmo viene a través de varias traducciones y corrupciones del nombre del matemático persa Muusa al-khowarizmi.

http://monografias.com/

· Es dar solución a un problema por medio de reglas ordenadas y con diferentes pasos a seguir indicando con símbolos cada paso a seguir.

Flores Cachi Emily

· Es una serie de paso que siguen reglas ordenadas que se relacionan entre si para dar solución a un problema.

Definicion grupal

CONCEPTO DE DIAGRAMA DE FLUJO

Los diagramas de flujo (o flujo gramas) son diagramas que emplean símbolos gráficos para representar los pasos o etapas de un proceso. También permiten describir la secuencia de los distintos pasos o etapas y su interacción.
Las personas que no están directamente involucradas en los procesos de realización del producto o servicio, tienen imágenes idealizadas de los mismos, que pocas veces coinciden con la realidad. La creación del diagrama de flujo es una actividad que agrega valor, pues el proceso que representa está ahora disponible para ser analizado, no sólo por quienes lo llevan a cabo, sino también por todas las partes interesadas que aportarán nuevas ideas para cambiarlo y mejorarlo.
http://www.elprisma.com/apuntes/administracion_de_empresas/quesonlosdiagramasdeflujo/
· Un diagrama de flujo es una forma de representar gráficamente los detalles algorítmicos de un proceso multifactorial. Se utiliza principalmente en
programación, economía y procesos industriales, pasando también a partir de estas disciplinas a formar parte fundamental de otras, como la psicología cognitiva. Estos diagramas utilizan una serie de símbolos con significados especiales y son la representación gráfica de los pasos de un proceso. En computación, son modelos tecnológicos utilizados para comprender los rudimentos de la programación lineal.
http://es.wikipedia.org/wiki/Diagrama_de_flujo

· Diagrama de flujo es una representación gráfica, mediante la utilización de signos convencionales, del proceso que sigue la información en un programa determinado. Se utilizan habitualmente en la fase de desarrollo de aplicaciones por los programadores. El diagrama de flujo o Flowchart es una de las técnicas de representación de algoritmos más antigua, y consiste en representar mediante símbolos las operaciones a realizar. Por ejemplo: el inicio y el fin del algoritmo se representan con un símbolo elíptico, las entradas y salidas con un paralelogramo, las decisiones con un rombo, los procesos con un rectángulo, etc.
http://www.mastermagazine.info/termino/4600.php

· Diagrama de flujo es una representación grafica de las descripciones de algoritmos por medio de símbolos que siguen una secuencia detallada en cada proceso.
Flores Cachi Emily
· Es una técnica de representación grafica de los algoritmos a través de símbolos detallados.Definición grupal

TIPOS DE ALGORITMOS

Algoritmos probabilisticos: algunos de los pasos de este tipo de algoritmos están en función de valores

Algoritmos estáticos: 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.

Algoritmos adaptativos: 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.

http://es.wikipedia.org/wiki/Algoritmo#Tipos_de_algoritmos_seg.C3.BAn_su_funci.C3.B3n

TIPOS DE DIAGRAMA DE FLUJO

Formato vertical: En él el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.
Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.
Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.
Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujo gramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos.
http://es.wikipedia.org/wiki/Diagrama_de_flujo#Tipos_de_diagramas_de_flujos


CONCEPTO DE CONSTANTES

·Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa.

http://teleformacion.edu.aytolacoruna.es/PASCAL/document/vars.htm#ctes
·Es un valor de tipo permanente que no puede modificarse al menos no dentro del contexto o situación para el cual esta prevista.
http://es.Wikipedia.com
·son tipos de datos con valores numéricos o de cadena que permanecen invariables durante la ejecución de un programa.

Hhtp: //el priama.com/
es un valor de tipo inalterable que no cambia durante un proceso
Flores cachi Emily

Concepto de variables
· Una variable es un nombre asociado a un elemento de datos que está situado en posiciones contiguas de la memoria principal, y su valor puede cambiar durante la ejecución de un programa. Toda variable pertenece a un
tipo de dato concreto. En la declaración de una variable se debe indicar el tipo al que pertenece.
http://teleformacion.edu.aytolacoruna.es/PASCAL/document/vars.htm#vars
· Las variables en la
investigación, representan un concepto de vital importancia dentro de un proyecto. Las variables, son los conceptos que forman enunciados de un tipo particular denominado hipótesis. Las variables se refieren a propiedades de la realidad que varían, es decir, su idea contraria son las propiedades constantes de cierto fenómeno.
http://es.wikipedia.org/wiki/Variable_dependiente
·Objeto, proceso o característica que está presente, o supuestamente presente, en el fenómeno que un científico quiere estudiar. Los objetos, procesos o características reciben el nombre de variables en la medida en que su modificación provoca una modificación en otro objeto, proceso o característica. Las variables principales a las que se suele referir la investigación en psicología pueden ser independientes, dependientes, intermedias, conductuales, observables, o inobservables.
http://www.blogger.com/%20http:/www.e-torredebabel.com/Psicologia/Vocabulario/Variable.htm

·Valor que cambia en un proceso
Definición grupal

CONSCEPTO DE CONTADOR·

En programación, se llama contador a una variable cuyo valor se incrementa o decremento en un valor fijo (en cada iteración de un bucle).Un contador suele utilizarse para contar el número de veces que itera un bucle. Pero, a veces, se utiliza para contar, solamente, aquellas iteraciones de un bucle en las que se cumpla una determinada condición.
http://www.carlospes.com/minidiccionario/contador.php
·En diseño web, servicio online o aplicación del
servidor web que permite contar la cantidad de visitantes que recibe un sitio web.El servicio puede contratarse para que lo realice un tercero, o puede ser instalada una aplicación especial en el servidor para que funcione como contador.
http://www.alegsa.com.ar/Dic/contador.php
· Es una variable cuyo valor se incrementa o decremento una cantidad constante.

Definicion grupal

CONCEPTO DE ACUMULADOR
·En computación, un acumulador es un registro en donde se
almacenan los resultados lógicos y aritméticos intermedios. Sin un registro acumulador, sería necesario escribir el resultado de cada cálculo (suma, multiplicación, etc.) en la memoria primaria, tal vez para leerse y ser usado sólo para la siguiente operación. Acceder a la memoria primaria es más lento que acceder a un registro acumulador, porque la tecnología utilizada para la memoria primaria (que es más grande, pero más barata) es más lenta.
http://www.alegsa.com.ar/Dic/acumulador.php
·es un
registro en el que son almacenados temporalmente los resultados aritméticos y lógicos intermedios que serán tratados por la Unidad aritmético-lógica (ALU).Sin un registro como un acumulador, sería necesario escribir el resultado de cada cálculo (como adición, multiplicación, desplazamiento (shift), etc.) en la memoria principal, quizás justo para ser leída inmediatamente otra vez para su uso en la siguiente operación. El acceso a la memoria principal es significativamente más lento que el acceso a un registro como el acumulador porque la tecnología usada para la memoria principal es más lenta (pero más barata) que la usada para un registro interno del CPU.

http://www.babylon.com/definition/Registro_acumulador/Spanish

· Zona de memoria que contiene la suma algébrica de los valores de un parámetro.
Diccionario académico océano uno color

Es una variable que almacena informacion esta puede incrementar o ir en decremento dependiendo de otras variables.

Flores Cachi Emilys

CONCEPTO DE PSEUDOCODIGO

Un pseudocódigo (falso lenguaje), es una serie de palabras léxicas y gramaticales referidos a los lenguajes de programación, pero sin llegar a la rigidez de la sintaxis de estos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software. Es, netamente, lenguaje de tipo informático.
El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema.
No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones, veamos un ejemplo, que podríamos definir como: lenguaje imperativo, de tercera generación, según el método de
programación estructurada.

Pseudocódigo = Pseudo (Supuesto) + Código (Instrucción
)

http://es.wikipedia.org/wiki/Pseudocódigo

Definición de PseudocódigoEn programación, lenguaje artificial e informal útil para programadores para el desarrollo de algoritmos. No es un lenguaje de programación verdadero y, por lo tanto, no puede ser compilado y ejecutado.En pseudocódigo se describen los algoritmos utilizando una mezcla de lenguaje común, con instrucciones de programación, palabras claves, etc. El objetivo es que el programador se centre en la solución lógica del algoritmo y no en la implementación en un lenguaje de programación concreto (con las posibles complicaciones en las reglas sintácticas), o en otras palabras, sólo ayudan a "pensar" un programa antes de escribirlo en un lenguaje de programación formal.

http://www.alegsa.com.ar/Dic/pseudocodigo.php

Considerado como un lenguaje falso, el pseudocódigo es un lenguaje intermedio entre nuestro lenguaje y el de programación, debido a que quien lo utiliza se guía por una serie de normas pero sin llegar a usar una estructura tan rígida como la del lenguaje de programación.
El objetivo al que apunta es que quien lo pone en práctica se centre más en la solución del algoritmo o el diseño de un software que en el programa que utiliza para crearlo. Y esto es posible porque es más fácil de manipular ya que no tiene que tener en mente el lenguaje en sí y además, más fácil de codificar.
http://www.mastermagazine.info/termino/6428.php

para un mejor entendimiento un video con base a que es algoritmo yalgunos ejemplos.

http://www.youtube.com/watch?v=6oWJ4eBKEU0