Thursday, December 4, 2014
Wednesday, December 3, 2014
Thursday, November 20, 2014
Programacion
Programación Estructurada
4.1.-Introducción. Teorema de la programación estructurada
El principio fundamental de la programación estructurada es que en todo momento el
programador pueda mantener el programa “dentro” de la cabeza. Esto se consigue con:
a) un diseño descendente del programa,
b) unas estructuras de control limitadas y
c) un ámbito limitado de las estructuras de datos del programa.
Hace más fácil la escritura y verificación de programas. Se adapta perfectamente al
diseño descendente.
Para realizar un programa estructurado existen tres tipos básicos de estructuras de
control:
• Secuencial: Ejecuta una sentencia detrás de otra.
• Condicional: Se evalúa una expresión y, dependiendo del resultado, se decide la
siguiente sentencia a ejecutar.
• Iterativa: Repetimos un bloque de sentencias hasta que sea verdadera una
determinada condición.
Programación orientada
La programación orientada a objetos o POO es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia,cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.
Los objetos son entidades que tienen un determinado estado, comportamiento (método) e identidad:
- El estado está compuesto de datos o informaciones; serán uno o varios atributos a los que se habrán asignado unos valores concretos (datos).
- El comportamiento está definido por los métodos o mensajes a los que sabe responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
- La identidad es una propiedad de un objeto que lo diferencia del resto; dicho con otras palabras, es su identificador
-por ejemplo imaginemos la Clase Persona
Todos los Objetos Tienen propiedades que son las carectrísticas del Objeto en el caso de Nuestra Clase Persona puede ser El color de Su piel, edad, Nombre, fecha de Nacimiento, etc
Los Objetos También tiene algo que se llama Métodos que son las funciones que llevan acabo los objetos en el caso de nuestra clase persona pues podríamos decir Mostrar, Comer, Dormir, Morir, etc
Programación Funcional
la programación funcional es un paradigma basado en la utilización de funciones aritméticas que no maneja datos mutables o de estado. Enfatiza la aplicación de funciones, en contraste con el estilo de programación imperativa, que enfatiza los cambios de estado. La programación funcional tiene sus raíces en el cálculo lambda, un sistema formal desarrollado en los años 1930 para investigar la definición de función, la aplicación de las funciones y la recursión. Muchos lenguajes de programación funcionales pueden ser vistos como elaboraciones del cálculo lambda.
En la práctica, la diferencia entre una función matemática y la noción de una "función" utilizada en la programación imperativa es que las funciones imperativas pueden tener efectos secundarios, al cambiar el valor de cálculos realizados previamente. Por esta razón carecen de transparencia referencial, es decir, la misma expresión sintáctica puede resultar en valores diferentes en diferentes momentos dependiendo del estado del programa siendo ejecutado. Con código funcional, en contraste, el valor generado por una función depende exclusivamente de los argumentos alimentados a la función. Al eliminar los efectos secundarios se puede entender y predecir el comportamiento de un programa mucho más fácilmente, y esta es una de las principales motivaciones para utilizar la programación funcional.
Programacion Logica
La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación con restricciones, programas DSL (de dominio específico) e híbridos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático. La programación lógica gira en torno al concepto de predicado, o relación entre elementos.
Seguimiento De La Programacion
Fases Del Proceso De Programación
1. Definición del problema
Requiere que el problema sea definido y comprendido claramente para que pueda ser analizado con todo detalle .
2. Análisis del problema
El propósito del análisis de un problema es ayudar al programador para llegar a una cierta comprensión de la naturaleza del problema. El problema debe estar bien definido si se desea llegar a una solución satisfactoria.
Para poder definir con precisión el problema se requiere que las especificaciones de entrada, proceso y salida sean descritas con detalles.
Entrada, son todos los datos que hay que ingresar para la resolución del problema.
Proceso, son los diferentes procedimientos en los cuales usare los datos proporcionados por el usuario en el paso anterior para resolver el problema.
Salida, la resolución del problema.
Una buena definición del problema, junto con una descripción detallada de las especificaciones de entrada y salida, son los requisitos mas importantes para llegar a una solución eficaz.
El análisis del problema exige una lectura previa del problema a fin de obtener una idea general de lo que se solicita . la segunda lectura deberá servir para responder a las preguntas:
- ¿Qué información debe proporcionar la resolución del problema?
- ¿Qué datos se necesitan para resolver el problema?
La respuesta a la primera pregunta indicara los resultados deseados o las salidas del problema. La respuesta a la segunda pregunta indicara que datos proporcionan o las entradas del problema.
En esta fase debemos aprender a analizar la documentación de la empresa , investigar, observar todo lo que rodea el problema.
3. Diseño de la solución
Una computadora no tiene la capacidad para solucionar mas que cuanto se le proporcionan los sucesivos pasos a realizar. Estos pasos sucesivos que indican las instrucciones a ejecutar por la maquina constituyen, como ya sabemos el algoritmo.
La información proporcionada al algoritmo constituye su entrada y la información producida por el algoritmo constituye su salida.
Los problemas complejos se pueden resolver mas eficazmente con la computadora cuando se rompen en subproblemas que sean mas fáciles de solucionar que el original. La descomposición del problema original en subproblemas mas simples y a continuación dividir estos subproblemas en otros mas simples que puedan ser implementados para su solución en la computadora de denomina diseño descendente (top - down design ).
Es presiso representar el algoritmo mediante una determinada herramienta de programación: diagramas de flujo, pseudocódigo o diagramas N - S.
4. Codificación
Es el algoritmo traspasado a la computadora a través de un lenguaje de programación,
debe ser escrito de acuerdo a las reglas gramaticales o sintaxis del mismo.
Generamos un algoritmo el cual se denomina código, y al pasarlo a un lenguaje de programación se le llama código fuente.
5. Compilación y ejecución
Compilación, el lenguaje de programación seleccionado revisa que ya no halla errores en el código fuente.
Ejecución, ejecutar el programa después del ser compilado.
6. Verificación y pruebas
Revisar que el programa de los resultados que el usuario quiere, hay que revisar si hay algún error el cual puede ser de tipo lógico, de semántica o ejecución.
7. Depuración
Corregir los errores encontrados en la etapa anterior, si hubiese algún error se tiene que regresar hasta la etapa que sea necesaria para que la solución sea la que el usuario requiere.
8. Documentación
Son todos los comentarios, referencias desde que se dio el problema hasta que se encontró la solución.
a) documentación interna, es el encabezado, descripción, declaración del problema, son todos los comentarios que puedan llegar a servir dentro del código fuente.
b) documentación externa, son los manuales que se hacen para una mejor ejecución del programa, ahí se explicara como usar el programa.
9. Capacitación
Una ves que tenemos lo manuales viene la capacitación de usuarios, como no a todos les interesa los mismo porque hay diferentes tipos de usuarios, se tienen que dividir de acuerdo a sus conveniencias.
10. Implantación o implementación del sistema
Hay diferentes formas de implementar el sistema:
- Depende del tamaño del sistema
- Si existiera un sistema se tiene que poner el nuevo y quitar el que ya estaba.
- Trabajar primero con el sistema viejo(si existe), y después empezar a trabajar con el nuevo.
- Sistemas implantados por regiones.
- Trabajar con el sistema viejo (si existe) y con el sistema nuevo simultáneamente después quitar el sistema viejo.
- Ir quitando el sistema viejo(si existe) poco a poco e ir implantando el sistema nuevo.
11. Mantenimiento
El mantenimiento preventivo es que hagamos lo posible por no caer en errores, la actualización si el usuario tiene la necesidad de quitar o poner algo; téngase en cuenta que cuando surge mantenimiento tenemos que volver a hacer todos los pasos anteriores revisando que todas la condiciones sean favorables alrededor del sistema.
Fases de la programación:
1.- ANALISIS: Cuando se tiene y piensa la idea o problema a ejecutar.
2.- DISEÑO: Se plantea un algoritmo con los pasos a dibujar o realizarse.
3.- IMPLEMENTACION: Los pasos de algoritmo se transforma en un código pascal y se plasman en el programa
4.- PRUEBAS: Se corre el programa y se registra su efectividad.
5.- DEPURACION: después de haber corrido el programa se hacen las correcciones necesarias.
6.- RETROALIMENTACION Y LIBERACION: Después de haber corregido los errores se regresa al paso 4 en caso de haber existido.
Thursday, November 13, 2014
Programacion
Programacion
La programación informática, a menudo acortada como 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.
Del proceso de programación surge lo que comúnmente se conoce como software (conjunto de programas), aunque estrictamente este último abarca mucho más que sólo la programación.
como crear un programa
Para crear un programa, y que la computadora lo intérprete y ejecute las instrucciones escritas en él, debe usarse un lenguaje de programación. En sus inicios las computadoras interpretaban sólo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código máquina, siendo éste excesivamente complicado para programar. De hecho sólo consiste en cadenas de números 1 y 0 (sistema binario).
Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el área decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del inglés; las codificaron y crearon así un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo que hacerlo en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar y entender que secuencias de números binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará con sólo una. Una vez que se termina de escribir un programa, sea en ensamblador o en algunos lenguajes de alto nivel, es necesario compilarlo, es decir, traducirlo completo a lenguaje máquina.
Eventualmente será necesaria otra fase denominada comúnmente link edición o enlace, durante la cual se anexan al código, generado durante la compilación, los recursos necesarios de alguna biblioteca. En algunos lenguajes de programación, puede no ser requerido el proceso de compilación y enlace, ya que pueden trabajar en modo intérprete. Esta modalidad de trabajo es equivalente pero se realiza instrucción por instrucción, a medida que es ejecutado el programa.
Algoritmos
Un algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Un programa normalmente implementa (traduce a un lenguaje de programación concreto) uno o más algoritmos. Un algoritmo puede expresarse de distintas maneras: en forma gráfica, como un diagrama de flujo, en forma de código como en pseudocódigo o un lenguaje de programación, en forma explicativa, etc.
Los programas suelen subdividirse en partes menores, llamadas módulos, de modo que la complejidad algorítmica de cada una de las partes sea menor que la del programa completo, lo cual ayuda al desarrollo del programa. Esta es una práctica muy utilizada y se conoce como "refino progresivo".
Según Niklaus Wirth, un programa está formado por los algoritmos y la estructura de datos.
Se han propuesto diversas técnicas de programación cuyo objetivo es mejorar tanto el proceso de creación de software como su mantenimiento. Entre ellas, se pueden mencionar las siguientes:
- programación declarativa
- programación estructurada
- programación modular
- programación orientada a objetos
Subscribe to:
Posts (Atom)
