lunes, 30 de mayo de 2011

Estructuras lógicas de Control

En lenguajes de programación, las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa.
Con las estructuras de control se puede:
  • De acuerdo a una condición, ejecutar un grupo u otro de sentencias (If-Then-Else y Select-Case)
  • Ejecutar un grupo de sentencias mientras exista una condición (Do-While)
  • Ejecutar un grupo de sentencias hasta que exista una condición (Do-Until)
  • Ejecutar un grupo de sentencias un número determinado de veces (For-Next)
  • Etc
Todas las estructuras de control tienen un único punto de entrada y un único punto de salida. Las estructuras de control se puede clasificar en : secuenciales, iterativas y de control avanzadas. Esto es una de las cosas que permite que la programación se rija por los principios de la programación estructurada.
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis, cada lenguaje tiene una sintaxis propia para expresar la estructura.


tipos de estructuras  logicas de control.

String strComparacion = "";
..
if( numero1 == numero2 )
strComparacion += numero1 + " == " + numero2;
if( numero1 > numero2 )
     strComparacion += numero1 + " > " + numero2;
if( numero1 < numero2 )
     strComparacion += numero1 + " < " + numero2;
if( numero1 >= numero2 )
     strComparacion += numero1 + " >= " + numero2;
if( numero1 <= numero2 )
     strComparacion += numero1 + " <= " + numero2;
System.out.println(strComparacion);

Qué son Macros?

Es una serie de instrucciones que se almacenan para que se puedan ejecutar de forma secuencial mediante una sola llamada u orden de ejecución. Dicho de otra forma, una macroinstrucción es una instrucción compleja, formada por otras instrucciones más sencillas. Esto permite la automatización de tareas repetitivas.



ejemplos de macros:

  • Accessibility: contiene macros utilizadas para manipular el texto y mostrar el tamaño y el aspecto de las propiedades en Visual Studio.

  • AddDirAsSlnFolder: importa una carpeta del disco a una estructura de carpetas de la solución.

  • DevStudio6Editor: este proyecto de macro contiene ejemplos de macros de Developer Studio versión 6.0 que se han convertido para que funcionen en Macros de Visual Studio. Muestra cómo imprimir todos los documentos abiertos, comentar un bloque de código seleccionado, agregar marcas de revisión, etc.

  • MakeAddin: convierte un proyecto de macro en un Complemento de Visual Studio. Este proyecto ilustra la estructura de un Complemento, cómo recorrer en iteración todos los proyectos de una macro y cada elemento en un proyecto, cómo utilizar el objeto ItemOperations para agregar nuevos elementos de proyecto, cómo copiar las referencias de un proyecto a otro y mucho más.

  • Utilities: contiene varias macros de utilidades que se utilizan en otros ejemplos de macros. Muestra cómo guardar y recuperar configuraciones de ventanas, cómo manipular las propiedades del cuadro de diálogo Opciones, cómo recorrer en iteración los elementos de un proyecto, etc.

  • VSDebugger: contiene varias macros que utilizan objetos del modelo de automatización del depurador para controlar y manipular las operaciones de depuración. Muestra cómo enumerar la pila de la ventana Comandos para cada subproceso que se está ejecutando en el programa actual, enumerar y manipular los puntos de interrupción, enumerar los procesos y lenguajes que admite el depurador, etc.

  • VSEditor: crea un editor de texto similar al bloc de notas en Visual Studio, con toda la funcionalidad del editor, como cortar y pegar, insertar, etc. Muestra cómo guardar una copia de seguridad del documento actual, utilizar el modelo de automatización del código para crear y manipular secciones de esquematización, desplazarse por el código, mover y utilizar el punto de inserción, manipular y dar formato al texto, etc.

  • 

    lunes, 23 de mayo de 2011

                              Ortiz Ortega Alberto   / Ortega Rodríguez Julio Alberto

    Técnica Ascendente

    El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato.

    Cuando la programación se realiza internamente y se hace un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global sea fluido. Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programación alcanza la fecha límite para la integración total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran.

    Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, éste padece de ciertas limitaciones por haber tomado un enfoque ascendente. Una de ellas es la duplicación de esfuerzos para accesar el software y más aún al introducir los datos. Otro es que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el más serio inconveniente del enfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen. Sobra decir que esta técnica de diseño es la menos usada por sus múltiples inconvenientes.

    Técnica Descendente

    También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste en efectuar una relación entre las etapas de la estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información. Este diseño consiste en una serie de descomposiciones sucesivas del problema inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que van a formar parte del programa.

    ¿Qué es técnica modular?

    La programación modular es un paradigma de programación que consiste en dividir un programa en módulos ó subprogramas con el fin de hacerlo más legible y manejable.

    Se presenta históricamente como una evolución de la programación estructurada para solucionar problemas de programación más grandes y complejos de lo que ésta puede resolver.

    Al aplicar la programación modular, un problema complejo debe ser dividido en varios subproblemas más simples, y estos a su vez en otros subproblemas más simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente simples como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta técnica se llama refinamiento sucesivo, divide y vencerás ó análisis descendente (Top-Down).....(sigue en la pag)