sábado, 12 de abril de 2014


                                                              Introducción                                          



Actualmente vemos que el Algoritmo es un tema fundamental en el diseño de programas o soluciones por lo cual, el alumno debe tener buenas bases que le sirva para poder crear de manera fácil y rápida sus programas.

El siguiente Blogger pueden servir de apoyo a tutores o profesores, en su labor cotidiana de enseñanza y al estudiante, facilitarle el desarrollo de su capacidad analítica y creadora, para de esta manera mejorar su destreza en la elaboración de algoritmos que sirven como base para la codificación de los diferentes programas que tendrá que desarrollar a lo largo de su carrera.

La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latin, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX..

Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio público.

Cabe destacar cómo señaló las virtudes del sistema decimal indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos similares a un ábaco en vez de las manos. También estudió la manera de reducir el numero de operaciones necesarias que formaban el cálculo.

Por esta razón, aunque no haya sido él inventor del primer algoritmo, merece que este concepto esté asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica en 1842. Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie completó su máquina, por lo que el algoritmo nunca se implementó.

La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es así, que existía la errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en día gracias a los trabajos de Kurt Gödel, Alonzo Church (calculo lamba), Alan Turing (maquina de Turing), se sabe que dentro del universo de problemas, una pequeña parte es computable, luego que el objetivo que perseguía David Hilbert no era computable, es lo que se ha denominado como la compatibilidad de los algoritmos.








                                     

_____________________________________________________


'''Tus Tareas'''


'''Tareas'''





Recuerda que para cumplir con la actividad asignada debes conocer bien la definición de Algoritmo y Diagrama de Flujos.

Por ello es recomendable que cuentes con la ayuda de un  profesor o alguien que tenga mas experiencia en el tema y lo domine. :)

Si tienes alguna duda me puedes dejar el comentario y ten por seguro que a la brevedad posible te responderé, así que lee y construye tu propio conocimiento del tema



'''Exitos''
_____________________________________________________

'''Procesos'''

Aquí podrás encontrar algunas definiciones de Algoritmo y Diagrama de Flujos, Espero le Sirva.!! 






                                               '''Definición de Algoritmo'''                                        



 -Podemos encontar varias definiciones entre ellas las siguientes: 

1. Algoritmo: es una lista bien definida, ordenada y finita de operaciones que permite hallar la solución a un problema. Esto quiere decir que tiene un estado inicial y una entrada, a través de pasos sucesivos y bien definidos la cual tiene final.

2. Antiguamente algoritmo significaba descripción de un cálculo, como por ejemplo de la nueva división después de introducir las fracciones decimales, en la a dualidad es todo descripción de un cálculo en general con un esquema de procesos que se repite.

3. Se define también como el conjunto de procesos finito que deben seguir para realizar una tarea:

Proceso 1. Debe ser el mismo conjunto de datos para que siempre se llegue a un mismo conjunto de resultados.
Proceso 2. Las instrucciones han de ser precisos, sin ambigüedad.
Proceso 3. El conjunto debe ser finito.


En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se pueda describir sin ambigüedad y sin hacer referencia a una computadora en particular, y además tiene un límite fijo en cuanto a la cantidad de datos que se pueden leer/escribir en un solo paso. Esta amplia definición abarca tanto a algoritmos prácticos como aquellos que solo funcionan en teoría, por ejemplo el método de Newton y la eliminación de Gauss-Jordán funcionan, al menos en principio, con números de precisión infinita; sin embargo no es posible programar la precisión infinita en una computadora, y no por ello dejan de ser algoritmos. En particular es posible considerar una cuarta propiedad que puede ser usada para validar la tesis de Church-Turing de que toda función calculable se puede programar en una máquina de Turing (o equivalentemente, en un lenguaje de programación suficientemente general) 


                                               '''Tipos de Algoritmo'''                                        


· Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras.
       ·  Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso.

                                               '''Lenguajes Algorítmicos'''                                        

Un lenguaje de Algoritmo es como una serie de símbolos y reglas que se utilizan para descubrir de manera explicita un proceso.


                                          '''Tipos de Lenguaje Algorítmicos'''                                        


·  Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).  




· No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo). 

INICIO 
   Edad: Entero 
   ESCRIBA “cual es tu edad?” 
   Lea Edad 
   SI Edad >=18 entonces 
      ESCRIBA “Eres mayor de Edad” 
   FIN_SI 
   ESCRIBA “fin del algoritmo” 
   FIN




                                               '''Ejercicios Propuestos''                                        


1. Desarrolle un algoritmo que permita leer dos valores distintos, determinar cual de los dos valores es el mayor y escribirlo. 

Ejercicio Resuelto:

1. Inicio
2. Inicializar variables: A = 0, B = 0
3. Solicitar la introducción de dos valores distintos
4. Leer los dos valores
5. Asignarlos a las variables A y B
6. Si A = B Entonces vuelve a 3 porque los valores deben ser distintos
7. Si A>B Entonces
Escribir A, “Es el mayor”
8. De lo contrario: Escribir B, “Es el mayor”
9. Fin_Si
10.  Fin 

2. Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10, es decir, 1 + 2 + 3 + …. + 10. 

Ejercicio Resuelto:

1. Inicio
2. Declaración de variables: N= 0, Suma = 0
3. Asignación Contador : N = N + 1
4. Asignación Acumulador: Suma = Suma + N
5. Si N = 10 Entonces
6. Escribir Suma
7. De lo contrario, Repetir desde el paso 3
8. Fin_Si
8. Fin

_____________________________________________________


                                                      




                                                             '''"Diagrama de Flujos'''''                                        


'''Historia de Diagrama de Flujos'''


La paternidad del diagrama de flujo es en principio algo difusa. El método estructurado para documentar gráficamente un proceso como un flujo de pasos sucesivo y alternativo, el "proceso de diagrama de flujo", fue expuesto por Frank Gilbert, en la Sociedad Americana de Ingenieros Mecánicos (ASME), en 1921, bajo el enunciado de "Proceso de Gráficas-Primeros pasos para encontrar el mejor modo". Estas herramientas de Gilbreth rápidamente encontraron sitio en los programas de ingeniería industrial.

Al principio de los 30, un ingeniero industrial, Allan H. Mogensen comenzó la formación de personas de negocios en Lake Placid, Nueva York, incluyendo el uso del diagrama de flujo. Art Spinanger, asistente a las clases de Mogesen, utilizó las herramientas en su trabajo en Procter & Gamble, donde desarrolló su “Programa Metódico de Cambios por Etapas”. Otro asistente al grupo de graduados en 1944, Ben S. Graham, Director de Ingeniería de Formcraft Standard Register Corporation, adaptó la Gráfica de flujo de procesos al tratamiento de la información en su empresa. Y desarrolló la Gráfica del proceso de múltiples flujos en múltiples pantallas, documentos, y sus relaciones.

En 1947, ASME adoptó un conjunto de símbolos derivados de la obra original de Gilbreth como Norma ASME para los gráficos de procesos (preparada Mishad, Ramsan y Raiaan).Sin embargo, según explica Douglas Hartree fueron originalmente Herman Goldstine yJohn von Neumann quienes desarrollaron el diagrama de flujo (inicialmente llamado "diagrama") para planificar los programas de ordenador. Las tablas de programación original de flujo de Goldstine y von Neumann, aparecen en un informe no publicado, "Planificación y codificación de los problemas de un instrumento de computación electrónica, la Parte II, Volumen 1 "(1947), reproducido en las obras completas de von Neumann.

Inicialmente los diagramas de flujo resultaron un medio popular para describir algoritmos de computadora, y aún se utilizan con este fin. Herramientas como los diagramas de actividad UML, pueden ser considerados como evoluciones del diagrama de flujo. En la década de 1970 la popularidad de los diagramas de flujo como método propio de la informática disminuyó, con el nuevo hardware y los nuevos lenguajes de programación de tercera generación. Y por otra parte se convirtieron en instrumentos comunes en el mundo empresarial. Son una expresión concisa, legible y práctica de algoritmos. Actualmente se aplican en muchos campos del conocimiento, especialmente como simplificación y expresión lógica de procesos, etc. 



                                    '''Definición de Diagrama de Flujos'''                                  


-Podemos encontar varias definiciones entre ellas las siguientes:



1. Los diagramas de flujo son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.

2. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación.

3. Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes 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.


4. El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva. 



''Características de Diagrama de Flujos:'''

• Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso anterior y posterior y de otros procesos interrelacionados, otras partes interesadas.
• Establecer el nivel de detalle requerido.
• Definir qué se espera obtener del diagrama de flujo.

''Ventajas de los Diagrama de Flujos:''

• Favorecen la comprensión del proceso al mostrarlo como un dibujo. El cerebro humano reconoce muy fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.
• Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos, los flujos de los re- procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.
• Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.

 '''Tipos de Diagramas 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, aún 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.

_____________________________________________________

 '''Material Disponible.'''

 '''Recursos'''




PUEDES OBTENER MAS INFORMACIÓN ACERCA DE TODO EL TEMA DANDO CLICK EN LOS SIGUIENTES LINKS.

Enlaces Web:

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

https://mx.answers.yahoo.com/question/index?qid=20090522102609AAVjnYz

http://www.slideshare.net/laurafernandez1992/que-es-el-algoritmo

Vídeos:

http://www.youtube.com/watch?v=akQtuSrr8jg
http://www.youtube.com/watch?v=akQtuSrr8jg/
https://www.youtube.com/watch?v=Ehp2jgMo5m8


_____________________________________________________

 '''Evaluación'''

Con toda esta información que te he aportado, ya puedes encontrarte en la capacidad de poder resolver las actividades que subiré en el aula virtual de Moodle Social, puedes entrar al curso de Algoritmos y Diagrama de flujos, allí vas a encontrar la evaluación teórico que les adjunte, así que tienes un tiempo de 6 días a partir de que les avise que esta subida la evaluación, para que puedas expresar tus conocimientos.

recuerda ser responsable y subir tu actividad en el icono de subir un archivo de nuestra aula, tendrá una valor del 15%






Suerte!!


La puntualidad es importante, Tu Puedes!
_____________________________________________________


 '''Conclusión'''


Luego de realizar este Blogger se considera que los algoritmos son una de las herramientas más complejas y aplicables en el área de la informática y el mundo de las computadoras. Mientras más potente  y eficiente es el computador o la aplicación que corre sobre el mismo, mas grande complejo y exacto es el resultado. Los algoritmos nos permiten encontrar la mejor solución a los problemas que se nos presentan y deben ser solucionados por el computador, estas técnicas están orientadas para utilizarse en cada uno de los niveles de complejidad y variedad o alternativas. Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema, es por ellos que debemos estudiarlos y conocerlos.

 
RECUERDA COMPARTIR INFORMACIÓN CON TUS AMIGOS MAS ALLEGADOS ASÍ PODRÁS ENTENDER MAS DEL TEMA. :)