miércoles, 16 de marzo de 2016

Entidades Primitivas

Tipos de datos

Un dato  se define como la expresión general que describe los objetos con los cuales opera una computadora. Los datos de entrada se transforman por el programa, después de las etapas intermedias, en datos de salida.

Datos Numéricos:

Son aquéllos que representan una cantidad o valor determinado. Su representación se lleva a cabo en los formatos ya conocidos (enteros, punto y fracciones decimales si estas existen). Estos pueden representarse en dos formas
distintas :

Tipo Numérico Entero (integer):

Es un conjunto finito de los números enteros. Los enteros son números completos, no tienen componentes fraccionarios o decimales y pueden ser negativos y positivos.
Ejemplo: 108 20 50 2015

Tipo Numérico Real (real):

Consiste en un subconjunto de los números reales. Estos números siempre tienen un punto decimal y pueden ser positivos o negativos. Un número real consiste de un número entero  y una parte decimal. También son representados como punto flotante.
Ejemplo: 3.1416 314.16 x 10-2 31416.  x 10-4 78.375

Carácter o Cadenas:

Son los datos que representan información textual (palabras, frases, símbolos, etc). No representan valor alguno para efectos numéricos. Pueden distinguirse porque son delimitados por apóstrofes o comillas. Se clasifica en dos categorías:
  • Datos tipo carácter (char) :

Es un conjunto finito y ordenado de caracteres que la computadora reconoce.  Un dato de este tipo contiene  solo  un  carácter. Utiliza  tablas  de  código  como  el  ASCII para su representación. Reconoce los siguientes caracteres :

Caracteres Alfabéticos (A,B,C,…Z,a,b,c…z)
Caracteres Numéricos (0,1,2,…9)
Caracteres Especiales (+, -, *, /, ^, . , ;, <, >, $, …….)



  • Datos tipo Cadena (string):

Es un sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofe) o dobles comillas, según el tipo de lenguaje de programación. La longitud de una cadena de caracteres es el número de ellos comprendidos entre los separadores o delimitadores. Ejemplos :

lunes, 14 de marzo de 2016

Metodología para la solución de problemas

DEFINICIÓN DEL PROBLEMA
Aquí se determina toda la información de inicio para la elaboración del programa. Se determina qué es lo que desea resolver, por lo tanto la computadora requiere una definición clara y precisa. Esto es importante para que la computadora reconozca lo que tiene que realizar; mientras esto no se conozca no tiene ningún sentido continuar.

ANÁLISIS DEL PROBLEMA
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
  • Los datos de entrada.
  • Cuál es la información que se desea producir (salida)
  • Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el de colocarse en el lugar de la computadora y analizar qué es lo que se necesita que se ordene y en qué secuencia para producir los resultados esperados.

DISEÑO DEL ALGORITMO
Las características de un buen algoritmo son:
  • Debe tener un punto particular de inicio.
  • Debe ser definido, no debe permitir dobles interpretaciones.
  • Debe ser general, es decir, soportar la mayoría de las variantes que se puedan presentar en la definición del problema.
  • Debe ser finito en tamaño y tiempo de ejecución.
Por lo tanto una computadora no tiene la capacidad de pensar y resolver el problema por sí misma; una vez que el problema ha quedado bien definido debemos plantearnos buscar una secuencia de pasos que lo resuelvan e indiquen a la computadora las instrucciones a ejecutar, es decir, hemos de encontrar un buen algoritmo.
Entonces podríamos decir que un  algoritmo se podría definir como un método para resolver un problema.
Por lo tanto la resolución de un problema exige el diseño de un algoritmo que resuelva el mismo. La propuesta para la resolución de un problema es la siguiente:


Por consiguiente los pasos que debemos seguir para la resolución de un problema constan de:
1.- Diseño del algoritmo, este describe la secuencia ordenada de pasos, que conducen a la solución de un problema dado. (Análisis del problema y desarrollo del algoritmo).
2.- Expresar el algoritmo como un programa en un lenguaje de programación. (Fase de codificación).
3.- Ejecución y validación del programa por computadora

Para llegar a la resolución de un problema es necesario el diseño previo de un algoritmo, de modo que sin algoritmo no puede existir un programa.
Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que los ejecuta. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta; sin embargo, el algoritmo será siempre el mismo. Así, por ejemplo, en una analogía con la vida diaria, la receta de un platillo de cocina se puede expresar en español, inglés o francés, pero cualquiera que sea el lenguaje, los pasos para la elaboración, del mismo se realizarán sin importar el idioma del cocinero.

CODIFICACIÓN
La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.

PRUEBA Y DEPURACION
Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si está bien hecho. Esta prueba consiste en tomar datos específicos como entrada y seguir la secuencia indicada en el algoritmo hasta obtener un resultado, el análisis de estos resultados indicará si el algoritmo está correcto o si por el contrario hay necesidad de corregirlo o hacerle ajustes.

martes, 8 de marzo de 2016

A. Identificación de fases del ciclo de vida de un software

Identificación de fases del ciclo de vida de un software

El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados.

Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados.

El ciclo de vida básico de un software consta de los siguientes procedimientos:
  1. Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.
  2. Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
  3. Diseño general: requisitos generales de la arquitectura de la aplicación.
  4. Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
  5. Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.
  6. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.
  7.  Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.
  8. Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.
  9. Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.
  10. Implementación
  11. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores.

Análisis del problema

Diseño del procedimiento de solución (Algoritmo)

Pruebas del funcionamiento

Documentación

Mantenimiento