lunes, 29 de agosto de 2016

DFD - SUCESIONES

DFD - CANTIDAD MAYOR DE 3 CANTIDADES INGRESADAS

PRÁCTICA DE ALGORITMOS

DFD - MOSTRAR TABLA DE MULTIPLICAR DEL 9

DFD - MOSTRAR NÚMEROS PARES

DFD - MOSTRAR NÚMEROS DEL 1 AL 20

DFD - SUMA DE DOS NÚMEROS PARES

DFD - POTENCIA DE UN NÚMERO

DFD - ÁREA DE UNA CIRCUNFERENCIA

DFD - ÁREA DE UN RECTÁNGULO

DFD - SUMA DE DOS NÚMEROS POSITIVOS

DFD - SUMA DE DOS NÚMEROS

PRÁCTICA DE ALGORITMOS

jueves, 25 de agosto de 2016

ALGORITMOS Y DIAGRAMAS DE FLUJO

Hola amigos aqui les proporciono información basica sobre algoritmos y diagramas de flujo. Espero les sirva..




Algoritmos y diagramas de flujo



Introducción – Terminología.
Técnicas de resolución de algoritmos.
Tipos de datos elementales.
Diagramas de flujo iniciales.
Diagramas de flujo: bucles.
Implementación de diagramas de flujo para la solución de problemas.












Introducción.
Todos los que hoy en día desarrollamos software comenzamos dando nuestros primeros pasos seguramente mediante los diagramas de flujo y combinados con algún lenguaje de programación, esto es lo que eventualmente nos llevó a entender la lógica en nuestro código.
Antes de comenzar a entender un lenguaje de programación, hay que entender para qué diantres nos sirve programar: para lograr que una computadora entienda las cosas que deseamos hacer utilizando una infinidad de recursos que pueden ir desde escribir datos a un archivo hasta manejar enormes consultas en una base de datos, aplicar algoritmos criptográficos sobre información sensible o inclusive intentar robarle el Wi-Fi al vecino.

























Objetivo General:
Aplicar los diagramas de flujos de manera que nos permitan la resolución de problemáticas de la vida cotidiana

Objetivos Específicos:
-Aprender reconocer las formas y armar diagramas de flujos mediante el ejercicio y la práctica
- Sociabilizar los conceptos de algoritmos y su función con el medio informático












Justificación.
El presente trabajo es denominado diagrama de flujo y algoritmos. Tiene como objetivo ilustrar una de las técnicas para representar soluciones a problemas del mundo real en forma visual, es decir en forma gráfica.
Esta técnica mediante graficas de flujo ilustra cómo diseñar los procedimientos o sentencias con coherencia lógica, que representan la solución al problema planteado.
Hasta la presente década para el desarrollo de cursos, tales como algoritmos y estructura de datos, no ha existido un software que permita implementar el diagrama de flujo y en especial permita su ejecución y ver los resultados dentro del mismo diagrama de flujo, según el objetivo del problema; es decir, puede comprobar la lógica de su algoritmo o lenguaje de programación especifico.
Usando el software DFD (Diagrama de Flujo de Datos).Este producto, cubre en forma eficiente la ejecución de programas usando Estructuras de control, vectores, matrices y programación modular dependiente, pero el software tiene limitaciones para implementar problemas usando Registros, Archivos, Punteros y Diseño de Programación Independiente.






Marco Teórico

Introducción terminología

         La palabra terminología se utiliza  para hacer referencia tanto a la tarea de recolectar, describir y presentar términos de manera sistemática como al vocabulario del campo de una especialidad en particular.

          La Terminología es la ciencia que estudia y que permite llevar a cabo la recopilación, la descripción y la presentación de términos, que son los elementos léxicos utilizados en ámbitos especializados del conocimiento y creados en esos ámbitos o modificados a partir de elementos preexistentes en otros ámbitos.

Recopilación de términos: elaboración de listados de términos de una determinada disciplina siguiendo una metodología preestablecida.

Descripción de términos: definición o definiciones de cada término  y descripción de los elementos que componen el término y del proceso de formación del mismo.

Presentación de términos: elaboración de diccionarios.
      
   La Terminología tiene aspectos comunes con la Lexicografía, pero las diferencias entre la naturaleza de los objetos léxicos estudiados ha dado lugar al desarrollo de sus propias teorías sobre los elementos léxicos de una lengua y de una metodología fundamentada en dichas teorías, todo lo cual permite considerar a la Terminología como una ciencia separada de la Lexicografía. “Terminología” es una palabra polisémica que hace referencia a tres aspectos distintos relacionados con la recopilación, la descripción y la presentación de los términos.

Tecnicas de resolucion de algoritmos

Para lograr resolver cualquier problema se deben seguir básicamente los siguientes pasos:

1. Análisis del Problema: en este paso se define el problema, se lo comprende y se lo analiza con todo detalle.
2. Diseño del Algoritmo: se debe elaborar una algoritmo que refleje paso a paso la resolución del problema.
3. Resolución del Algoritmo en la computadora: se debe codificar el algoritmo.








Algoritmos de búsqueda y ordenación

Ordenación
      
   Existen diferentes algoritmos de ordenación elementales o básicos cuyos detalles de implementación se pueden encontrar en diferentes libros de algoritmos. Los algoritmos presentan diferencias entre ellos que los convierten en más o menos eficientes y prácticos según sea la rapidez y eficiencia demostrada por cada uno de ellos.








Búsqueda

Búsqueda Secuencial.- Este algoritmo compara uno a uno los elementos del arreglo hasta recorrerlo por completo indicando si el número buscado existe. Su implementación en el lenguaje C.














Tipos de datos elementales
         Se llama tipo primitivo o tipo elemental a los tipos de datos originales de un lenguaje de programación, esto es, aquellos que nos proporciona el lenguaje y con los que podemos (en ocasiones) construir tipos de datos abstractos y estructuras de datos.
Generalmente ejemplos de tipos primitivos son:

1. Char (Carácter)
2. Int (Entero)
3. Float (Real - Coma flotante)

Otros tipos de datos que pueden ser considerados primitivos ya que la mayoría de lenguajes de programación así los proporcionan (aunque no todos) son:
Booleano (Lógico: Verdadero, Falso)
String (Cadena de caracteres)
Puntero (Dirección de memoria - Int)




Clasificaciones en los tipos de datos
         En Pascal existen gran variedad y cantidad de tipos de datos. Pero en este tutorial sólo se trataran los básicos para que puedas ir construyendo tus primeros programas.
         Existen muchas clasificaciones para los tipos de datos, y dependiendo de la fuente que mires, te mostrarán una u otra. A continuacón tienes una de las posibles clasificaciones:
1. Dinámicos
2. Estáticos
3. El tipo cadena
4. Estructurados
5. Simples
6. Ordinales
7. No-ordinales
8. Tipos estáticos
Casi todos los tipos de datos son estáticos, la excepción son los punteros y no se tratarán debido a su complejidad.
Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar durante la ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a ésta se le asigna un trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuir.




Tipos dinámicos
Dentro de esta categoría entra solamente el tipo puntero. Este tipo te permite tener un mayor control sobre la gestión de memoria en tus programas. Con ellos puedes manejar el tamaño de tus variables en tiempo de ejecución, o sea, cuando el programa se está ejecutando.
         Los punteros quizás sean el concepto más complejo a la hora de aprender un lenguaje de programación, sobre todo si es el primero que aprendes. Debido a esto, no lo trataremos. Además, lenguajes que están muy de moda (por ejemplo Java) no permiten al programador trabajar con punteros.




Tipos simples
         Como su nombre indica son los tipos básicos en Pascal. Son los más sencillos y los más fáciles de aprender. Por todo esto, serán en los que nos centremos.
         Los tipos simples más básicos son: entero, lógico, carácter y real. Y la mayoría de los lenguajes de programación los soportan, no como ocurre con los estructurados que pueden variar de un lenguaje a otro.




Tipos estructurados
         Mientras que una variable de un tipo simple sólo referencia a un elemento, los estructurados se refieren a colecciones de elementos.
         Las colecciones de elementos que aparecen al hablar de tipos estructurados son muy variadas: tenemos colecciones ordenadas que se representan mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e incluso colecciones que contienen otros tipos, son los llamados registros.





Tipos ordinales
         Dentro de los tipos simples, los ordinales son los más abundantes. De un tipo se dice que es ordinal porque el conjunto de valores que representa se puede contar, es decir, podemos establecer una relación uno a uno entre sus elementos y el conjunto de los números naturales.
Dentro de los tipos simples ordinales, los más importantes son:
1. El tipo entero (integer)
2. El tipo lógico (boolean)
3. El tipo carácter (char)





Tipos no-ordinales
         Simplificando, podríamos reducir los tipos simples no-ordinales al tipo real. Este tipo nos sirve para declarar variables que pueden tomar valores dentro del conjunto de los números reales.
         A diferencia de los tipos ordinales, los no-ordinales no se pueden contar. No se puede establecer una relación uno a uno entre ellos y los número naturales. Dicho de otra forma, para que un conjunto se considere ordinal se tiene que poder calcular la posición, el anterior elemento y el siguiente de un elemento cualquiera del conjunto.





Diagramas de flujo iniciales.

     Es la representación gráfica de un  algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.

     En Lenguaje Unificado de Modelado (UML), un diagrama de actividades representa los flujos de trabajo paso a paso de negocio y operacionales de los componentes en un sistema. Un diagrama de actividades muestra el flujo de control general.

     Estos diagramas utilizan símbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin del proceso.



















Pasos para elaborar un diagrama de flujo.

1. Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama.

2. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.


3. Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.

4. Si el nivel de detalle definido incluye actividades menores, listarlas también.


5. Identificar y listar los puntos de decisión.

6. Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.


7. Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.





Tipos de diagramas de flujos.


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.









Ventajas de los diagrama de flujo.


1. Favorecen la comprensión del proceso a través de mostrarlo como un dibujo.

2. El cerebro humano reconoce fácilmente los dibujos.

3. Un buen diagrama de flujo reemplaza varias páginas de texto.

4. Permiten identificar los problemas y las oportunidades de mejora del proceso.

5. Se identifican los pasos redundantes, los flujos de los re-procesos, los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.

6. Realizan, facilitando a los empleados el análisis de las mismas.

7. Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se









Diagramas de flujo: bucles

     Son aquellas que permiten repetir un determinado número de veces un conjunto de operaciones o instrucciones dentro de su ciclo de vida, también se pueden utilizar ventajosamente para realizar una serie de acciones hasta que se cumpla una condición. Se llaman problemas repetitivos o cíclicos a aquellos en cuya solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad específica de veces.







Implementación de diagramas de flujo para la solución de problemas

     Primero haciendo referencia a la importancia que estos tienen a la resolución de problemas tomando en cuenta que aquellos ayudan  a designar cualquier representación gráfica de un procedimiento o parte de ese, como su nombre lo indica representa el flujo de información de un proceso.

     La solución de problemas consiste en un proceso que abarca diversas actividades estas  pueden  ser  cortas  o  extensas,  la  solución  de  problemas es  un  factor determinante dentro de empresas y organizaciones, que principalmente es un riesgo tomado por los administradores. De esta necesidad surge el conocer los pasos principales para la identificación y la buena aplicación de técnicas, métodos y modelos que ayuden a  la solución de problemas.



     De aquí partimos a la utilización de los diagramas de flujo para una solución de problemas. Se utilizan para concordar un debido proceso de cómo resolver un problema de la forma más factible para llegar a un debido resultado.












Conclusiones.

El diagrama de flujo es u esquema para representar gráficamente un algoritmo, el diagrama de flujo se basa en la utilización de diversos símbolos para representar operaciones específicas.

Se les llama diagrama de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación.

La ordenación por burbuja consiste en llevar los elementos menores a la izquierda del arreglo o los mayores a la derecha del mismo.

El método de la burbuja es la técnica más utilizada por su fácil comprensión y programación aunque consume bastante tiempo de computadora.

El método de búsqueda secuencial compara cada elemento del vector con el valor a encontrar hasta que este se consiga o se termine de leer el vector completo

La búsqueda secuencial examina el vector partiendo del primer elemento hasta llegar al último. 

El método de búsqueda binaria  se encarga de examinar primero el elemento central de la lista; si este es el elemento buscado entonces la búsqueda ha terminado.

El tipo de búsqueda binaria se utiliza en vectores ordenados.




Recomendaciones.

Es de suma importancia que el usuario o individuo que va a realizar un diagrama de flujo, tome en cuenta algunas recomendaciones para la elaboración del mismo.

 Se recomienda buscar la mejor alternativa posible para la solución del problema, ya que los diagramas de flujos obligan a un análisis de todos los caminos posibles para encontrarle solución a cualquier situación o problema.

Se deben usar solamente líneas de flujo horizontal y/o vertical.

Se debe evitar el cruce de líneas utilizando los conectores.

Se deben usar conectores sólo cuando sea necesario.

No deben quedar líneas de flujo sin conectar.

Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a derecha.

Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras. 

Webgrafía.

https://es.wikipedia.org/wiki/Tipo_de_dato_elementa
http://www.monografias.com/Computacion/Programacion/
http://mimosa.pntic.mec.es/~flarrosa/pseudoco.pdf
https://rua.ua.es/dspace/bitstream/10045/12770/8/La_terminolog%C3%ADa.pdf
https://es.wikipedia.org/wiki/Terminolog%C3%ADa
https://es.wikipedia.org/wiki/Diagrama_de_flujo