miércoles, 11 de diciembre de 2013

Programación I. ¿Qué es programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El código fuente es escrito en un lenguaje de programación. El propósito de la programación es crear programas que exhiban un comportamiento deseado. El proceso de escribir código requiere frecuentemente conocimientos en varias áreas distintas, además del dominio del lenguaje a utilizar, algoritmos especializados y lógica formal. Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el desarrollo de pequeñas aplicaciones. II. ¿Qué es un dato de programación? 'Tipo de dato informático es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre clase de datos sobre los que se va a procesar. Esto incluye imponer restricciones en los datos, como qué valores pueden tomar y qué operaciones se pueden realizar. Tipos de datos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, colores, etc. III. Enumere los tipos de programación • Secuencial (sin estructuras de control, es decir no se te permite hacer uso de ifs, ciclos, etc). • Estructurada ( con estructuras de control con uso de ifs, ciclos, etc). • Modular ( con funciones ) • Orientada a eventos ( la interaccion con el usuario es la base de lo que hace el programa, es decir si hace esto, el programa hace esto que si da click aqui, que si da click allá etc.) • Orientada a objetos( usando clases ) • Orientada a servicios (no es tipo de programación sino una nueva forma de ver la arquitectura de las aplicaciones y conjuntar y hacer que los sistemas sean automatizados en cuestion de comunicacion con ellos mismos) • programación declarativa • programación estructurada • programación modular • programación orientada a objetos IV. Defina cada uno de los datos de programación y ponga ejemplos • Tipos de datos primitivos hacen referencia al tipo de información que se trabaja, donde la unidad mínima de almacenamiento es el dato. • Tipos simples Es uno de los conceptos fundamentales de cualquier lenguaje de programación. Estos definen los métodos de almacenamiento disponibles para representar información, junto con la manera en que dicha información ha de ser interpretada. • Tipos compuestos Además de los tipos de datos básicos que proporciona Visual Basic, también es posible juntar elementos de distintos tipos para crear tipos de datos compuestos, como estructuras, matrices y clases. Pueden crearse tipos de datos compuestos a partir de tipos elementales y de otros tipos compuestos. Por ejemplo, puede definir una matriz de elementos de estructura, o una estructura con miembros de matriz. • Tipo de dato abstracto Un tipo de datos abstracto es aquel definido por el programador que puede ser manipulado de una manera similar a los definidos por el sistema. • Tipo puntero y referencia Un puntero o apuntador es una variable que da referencia a una región de memoria; en otras palabras es una variable cuyo valor es una dirección de memoria. Si se tiene una variable ' p ' de tipo puntero que contiene una dirección de memoria en la que se encuentra almacenado un valor ' v ' se dice que ' p ' apunta a ' v '. El programador utilizará punteros para guardar datos en memoria en muchas ocasiones, de la forma que se describe a continuación. • Tipos algebraicos A cada tipo de datos del lenguaje algebraico corresponde el orden bien fundamentado de subtérminos y un esquema de inducción estructural sobre la base de la definición del tipo. • Tipos objeto Contiene direcciones que hacen referencia a objetos. Se puede asignar cualquier tipo de referencia (cadena, matriz, clase o interfaz) a una variable Object. Una variableObject también puede hacer referencia a datos de cualquier tipo de valor (numérico, Boolean, Char, Date, estructura o enumeración). • Entre otros. V. ¿Cuál es la diferencia entre una constante y una variable? La variable es un valor que siempre va a depender de otros, ya se por el tiempo, espacio, ó que esté en función de otro. En cambio la constante es un valor dependiente, ya està determinado no depende de nadie, su valor no se modifica por más que algunos valores que estén en su entorno varíe. VI. ¿Cuáles son los pasos para construir un programa. resuma cada uno de ellos? 1) Análisis de requisitos que quieres resolver (aqui se piensa la necesidad y requisitos incompletos, ambiguos o contradictorios) 2) Especificación (donde se utiliza el caso de uso y las historias de usuario, el éxito del programa dependerá especialmente de las especificaciones de requisitos) 3) arquitectura (La integración de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas estas actividades es el del Arquitecto) 4) Programación (Reducir un diseño a código. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado) 5) Prueba (Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación del problema. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma integral, para así llegar al objetivo) 6) Documentación (modelaciones (UML),diagramas de casos de uso, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema) 7) Mantenimiento (Fase dedicada a mantener y mejorar el software para corregir errores descubiertos e incorporar nuevos requisitos) VII. ¿Cómo se utiliza el análisis del programa? resuma cada una de ellas. Análisis estático de software es un tipo de análisis de software que se realiza sin ejecutar el programa (el análisis realizado sobre los programas en ejecución se conoce como análisis dinámico de software).1 En la mayoría de los casos, el análisis se realiza en alguna versión del código fuente y en otros casos se realiza en el código objeto. El término se aplica generalmente a los análisis realizados por una herramienta automática, el análisis realizado por un humano es llamado comprensión de programas (o entendimiento de programas) como también revisión de código. El Análisis dinámico de software es un tipo de análisis de software que supone la ejecución del programa y observar su comportamiento (a diferencia de las técnicas estáticas de análisis que no ejecutan el software). Para que el análisis dinámico resulte efectivo el programa a ser analizado se debe ejecutar con los suficientes casos de prueba como para producir un comportamiento interesante, se pueden usar varias estrategias de pruebas de software para lograr esto tales como cobertura de código o simplemente programas conocidos como fuzzers que ayudan a asegurar que una porción adecuada del conjunto de posibles comportamientos del programa ha sido observada. Otras herramientas en ves de probar casos de pruebas buscan a otros tipos de deficiencias en el software. VIII. Poner dos ejemplos del proceso de analisi del programa • el sueldo a pagar a un trabajador, cómo proceder ante la devolución de mercancías por los clientes, los procedimientos para extraer mercancías del almacén. Se establecen mediante la definición de políticas, procedimientos, sistemas de trabajo, definición de la autoridad para aprobar documentos, excepciones, entre otros. • adquisición de una nueva tecnología, aprobación de un plan de mercadotecnia, asignación de recursos, cómo mejorar las relaciones con la comunidad. Según los especialistas, este es el tipo de decisiones que, con mayor frecuencia, tienen que tomar los dirigentes. Estas situaciones exigen soluciones innovadoras, que no pueden seguir políticas trazadas. Para este tipo de decisiones se utilizan procesos de análisis de problemas, grupos de expertos, contratación de estudios especiales, entre otros. IX. ¿Qué es un algoritmo? poner dos ejemplos. Un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi1 ) es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.2 Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia. Algoritmo Encontrar el máximo de un conjunto función max( ) // es un conjunto no vacío de números// ← // es el número de elementos de // ← para ← hasta hacer si entonces ← devolver X. ¿Qué es un diagrama de flujo? 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. 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. XI. ¿Cuáles son los símbolos más utilizados? • Círculo: Procedimiento estandarizado. • Cuadrado: Proceso de control. • Línea continua: Flujo de información vía formulario o documentación en soporte de papel escrito. • Línea interrumpida: Flujo de información vía formulario digital. • Rectángulo: Formulario o documentación. Se grafica con un doble de ancho que su altura. • Rectángulo Pequeño: Valor o medio de pago (cheque, pagaré, etcétera). Se grafica con un cuádruple de ancho que su altura, siendo su ancho igual al de los formularios. • Triángulo (base inferior): Archivo definitivo. • Triángulo Invertido (base superior): Archivo Transitorio. • Semi-óvalo: Demora. • Rombo: División entre opciones. • Trapezoide: Carga de datos al sistema. • Elipsoide: Acceso por pantalla. • Hexágono: Proceso no representado. • Pentágono: Conector. • Cruz de Diagonales: Destrucción de Formularios.