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 interacción 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 cuestión 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.
IV.
¿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)
V.
¿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 vez de probar casos de pruebas buscan a
otros tipos de deficiencias en el software.
VI.
Poner dos ejemplos del proceso de análisis
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.
VII.
¿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.
VIII.
¿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.