miércoles, 3 de junio de 2015

Diagramas de flujo

Definición

Un diagrama de flujo es una forma gráfica de representar ideas y conceptos relacionados. A menudo, se utiliza para especificar algoritmos de manera gráfica. S
e utilizan para esquematizar conceptos vinculados a la programación, la economía, los procesos técnicos y/o tecnológicos, la psicología, la educación y casi cualquier temática de análisis.

Componentes
  • Terminador: Un terminador es representado por un pequeño rectángulo con esquinas curvas. Los terminadores aparecen al inicio y al final de los diagramas de flujo. El terminador final aparece solamente una vez en un diagrama.
  • Procesos: Un proceso es representado por un rectángulo. Éste se refiere a una acción en un proceso de negocios y debe describirse de forma clara y concisa. Un proceso puede ser descrito usando una frase única del tipo verbo-sustantivo, por ejemplo "Ordenar material de oficina". Este mismo nivel de detalle debe mantenerse en los procesos de un diagrama de flujo.
  • Subprocesos: Un subproceso está representado por un rectángulo con líneas dobles en cada lado. Un subproceso es un proceso importante que puede descomponerse en procesos más simples que pueden desarrollarse en otro diagrama de flujo.
  • Decisión: Una decisión está representada por un diamante. Un proceso que puede responder a una decisión de "sí" o "no" requiere un cuadro de decisión.
  • Conector: Un conector está representado por un pequeño círculo o un cuadro conector y se etiqueta usando letras. Un diagrama de flujo escrito en una sola página es más claro que un diagrama en varias páginas. Un conector asegura que los procesos estén conectados de forma lógica y correcta en varias páginas.
  • Líneas de flecha: Las líneas de flecha dibujadas en una dirección, de preferencia de arriba hacia abajo, mantienen la claridad de un diagrama de flujo. Evita líneas de flecha que se ciclen debido a que esto puede indicar redundancia en el proceso de negocios. Si los ciclos son necesarios extiende las líneas de flecha hacia arriba y a la izquierda para mayor claridad.

Ejemplo


Dev C++

Definición 

Dev C++ es un compilador y entorno de desarrollo para C/C++

Consiste en un editor de múltiples ventanas integrado con un compilador que nos permitirá una compilación, un enlace y una ejecución de aplicaciones rápida y de fácil uso.


Estructura de un programa

Para mostrar como se ve un programa en Dev C++ vamos a hacer un programa que me imprima los números primos del 1 al 20. 






Librerías

Las librerías son un cierto tipo de archivos que podemos importar o incluir en un nuevo programa. Estos archivos contienen las especificaciones de diferentes funcionalidades ya construidas y utilizables. Ejemplos: 

  • List: Parte de la STL relativa a los contenedores tipo list, lista doblemente enlazada.
  • Math: contiene los prototipos de las funciones, otras definiciones para el uso y manupulacion de funciones matemáticas.
  • Memory: utilidades relativas a la gestion de memoria incluyendo asignadores y punteros inteligentes.
  • New: Manejo de memoria dinámica
  • Numeric: Parte de la libreria numerica de la STL relativa a operaciones numéricas.
  • Ostream: Algoritmos estándar para los flujos de salida
  • Queve: Parte de la STL relativa a contenedores tipo queve (Colas de Objeto)
  • Studio: Contiene los prototipos de las funciones macros, para para utilidades de uso general.
  • String: Parte de la STL relativa a contenedores tipo string, una generalización de las cadenas alfanuméricas para albergar cadenas de   objetos, pues eliminan muchas de las dificultades que generan las char.
  • Typcinto: Mecanismo de identificación de tipo en tiempo de ejecución.
  • Vector: Parte de la STL relativa a los contenedores tipo vector, una generación de las matrices unidimensionales.

Palabras Reservadas

Las palabras reservadas son identificadores predefinidos que tienen significados especiales y no pueden usarse como identificadores creados por el usuario en los programas.

Ejemplo:

auto const double float int short struct unsigned break continue else for long signed switch void case default enum goto register sizeof typedef volatile char do extern if return static union while


Estructuras en programación

Estructuras

Las estructuras en la programación son formas de hacer el código que escribimos mas eficiente y confiable, es decir, que nuestro código  tenga organización y sea un poco mas entendible. Lo que representa lo anterior dicho se puede ver mas claro en la siguiente explicación:


  • Estructuras selectivas: La estructura lógicas selectivas se encuentran en la solución algorítmica de casi todo tipo de problemas. Las utilizamos cuando en  el desarrollo de la solución de un problema debemos tomar una decisión, para establecer un proceso o señalar un camino alternativo a seguir.
    • Sí simple: El sí simple es una palabra reservada del lenguaje que me compara dos o mas expresiones, variables, números, entre otros, y si la comparación se cumple ejecuta el código que estará dentro de el sí.
    • Sí compuesto: El sí compuesto es, a diferencia del sí simple, que al final de si se le agregan o mas sí o un sí no, es decir, si la primer condición no se cumple se siguen evaluando condiciones o en caso de que no se ejecute una acción. 


  • Estructuras cíclicas: Las estructuras cíclicas son operaciones que se deben ejecutar un número repetido de veces. El conjunto de instrucciones que se ejecuta repetidamente cierto número de veces, se llama ciclo.
    • Mientras: El bucle “mientras” es una estructura que se repite mientras una condición sea verdadera. La condición, en forma de expresión lógica, se escribe en la cabecera del bucle, y a continuación aparecen las acciones que se repiten






    • Para: La estructura para esta disponible en todos los lenguajes de programación y lo que hace es repetir una instrucción un numero especifico y determinado de veces, se utiliza mas que todo para la manipulación de vectores.

Fundamentos de la Programación

Fundamentos de la Programación


En esta entrada vamos a ver algunos de los conceptos fundamentales en el desarrollo de software, estos términos se utilizan demasiado y es necesario conocerlos y entenderlos a fondo:

  • Que son los datos... Los datos son expresiones del contexto que describen características de algo, para luego ser utilizados en un algoritmo.
  • Que es información... La información esta formada a base de datos ya ordenados y que expresan un mensaje claro acerca de un tema. La información sirve para tomar decisiones y resolver problemas.
  • Que es software... Software en español, es un extranjerismo, que hace referencia a la parte lógica de un dispositivo u ordenador, el software es un conjunto de tareas y algoritmos para ejecutar algo determinado en un ordenador.
  • Que es un programa... Un programa se puede tomar parte del significado de software y puede resolver un problema especifico de un nicho. Los tipos de programas pueden ser:

    • Programas de contabilidad
    • Programas educativos
    • Programas de juegos
    • Programas de producción
    • Programas de publicación
    • Programas comerciales

  • Que es un lenguaje de programación... Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Ejemplos de ello puede ser:
    • C++
    • PHP
    • HTML
    • PYTHON
    • RUBY
    • JAVASCRIPT



  •  Que es un entorno de programación... Es un programa en donde podemos editar e interpretar, o compilar,  uno o mas lenguajes de programación. Es como un editor de texto pero mas especializado. Ejemplos: 
    • Sublime Text
    • EMACS
    • Visual Studio
    • Vim
    • Eclipse





  • Que es una plataforma... Una plataforma es un lugar donde podemos procesar, gestionar y manipular todo lo que hacemos en un ordenador. Ejemplos:
    • Windows
    • OS X
    • Android
    • iOS
    • Linux

Presentación

Este soy yo

Mi nombre es Juan Sebastian Henao Parra, tengo 14 años, estudio en el Instituto Técnico San Rafael, me encuentro en el taller de Programación de Software, el cual esta articulado con el SENA, ya que me gusta mucho programar y crear cosas nuevas e innovadoras.