I just made a new Voki. See it here:
http://www.voki.com/pickup.php?scid=10748517&height=267&width=200
jueves, 4 de diciembre de 2014
jueves, 27 de noviembre de 2014
creacion de voki
I just made a new Voki. See it here: http://www.voki.com/pickup.php?scid=10718384&height=267&width=200
jueves, 20 de noviembre de 2014
TIPOS DE PROGRAMACION
Programación Estructurada.
La programación estructurada es un paradigma de programación
orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa
de computadora, utilizando únicamente subrutinas y tres estructuras: secuencia,
selección (if y switch) e iteración (bucles for y while), considerando
innecesario y contraproducente el uso de la instrucción de transferencia incondicional
(GOTO), que podría conducir a "código espagueti", que es mucho más
difícil de seguir y de mantener, y era la causa de muchos errores de
programación.
Orígenes:
A finales de los años 1970 surgió una nueva forma de
programar que no solamente daba lugar a programas fiables y eficientes, sino
que además estaban escritos de manera que facilitaba su mejor comprensión, no
sólo proveyendo ventajas durante la fase de desarrollo, sino también
posibilitando una más sencilla modificación posterior.
El teorema del programa estructurado, propuesto por
Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando
únicamente las tres instrucciones de control siguientes:
Secuencia
Instrucción condicional.
Iteración (bucle de instrucciones) con condición al principio.
Solamente con estas tres estructuras se pueden escribir
todos los programas y aplicaciones posibles. Si bien los lenguajes de
programación tienen un mayor repertorio de estructuras de control, éstas pueden
ser construidas mediante las tres básicas citadas.
Programación Orientada a Objetos.
La programación orientada a objetos o POO (OOP según sus
siglas en inglés) 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 conceptos de la programación orientada a objetos tienen
origen en Simula 67, un lenguaje diseñado para hacer simulaciones, creado por
Ole-Johan Dahl y Kristen Nygaard, del Centro de Cómputo Noruego en Oslo.
En
este centro se trabajaba en simulaciones de naves, que fueron confundidas por
la explosión combinatoria de cómo las diversas cualidades de diferentes naves
podían afectar unas a las otras. La idea surgió al agrupar los diversos tipos
de naves en diversas clases de objetos, siendo responsable cada clase de
objetos de definir sus propios datos y comportamientos. Fueron refinados más
tarde en Smalltalk, desarrollado en Simula en Xerox PARC (cuya primera versión
fue escrita sobreBasic) pero diseñado para ser un sistema completamente
dinámico en el cual los objetos se podrían crear y modificar "sobre la
marcha" (en tiempo de ejecución) en lugar de tener un sistema basado en
programas estáticos.
La programación orientada a objetos se fue convirtiendo en el
estilo de programación dominante a mediados de los años ochenta, en gran parte
debido a la influencia de C++, una extensión del lenguaje de programación C. Su
dominación fue consolidada gracias al auge de las Interfaces gráficas de
usuario, para las cuales la programación orientada a objetos está
particularmente bien adaptada. En este caso, se habla también de programación
dirigida por eventos.
Las características de orientación a objetos fueron agregadas
a muchos lenguajes existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp
mas Pascal, entre otros. La adición de estas características a los lenguajes
que no fueron diseñados inicialmente para ellas condujo a menudo a problemas de
compatibilidad y en la capacidad de mantenimiento del código. Los lenguajes
orientados a objetos "puros", por su parte, carecían de las
características de las cuales muchos programadores habían venido a depender.
Para saltar este obstáculo, se hicieron muchas tentativas para crear nuevos
lenguajes basados en métodos orientados a objetos, pero permitiendo algunas
características imperativas de maneras "seguras". El Eiffel de
Bertrand Meyer fue un temprano y moderadamente acertado lenguaje con esos objetivos,
pero ahora ha sido esencialmente reemplazado por Java, en gran parte debido a
la aparición de Internet y a la implementación de la máquina virtual de Java en
la mayoría de navegadores. PHP en su versión 5 se ha modificado; soporta una
orientación completa a objetos, cumpliendo todas las características propias de
la orientación a objetos.
Programación Funcional.
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.
Los lenguajes de programación funcional, especialmente los
que son puramente funcionales, han sido enfatizados en el ambiente académico
principalmente y no tanto en el desarrollo de software comercial. Sin embargo,
lenguajes de programación importantes tales como Scheme, Erlang, Rust,
Objective Caml y Haskell, han sido utilizados en aplicaciones comerciales e
industriales por muchas organizaciones. La programación funcional también es
utilizada en la industria a través de lenguajes de dominio específico como R
(estadística), Mathematica (matemáticas simbólicas), J y K (análisis
financiero), F# en Microsoft.NET y XSLT (XML). Lenguajes de uso específico
usados comúnmente como SQL y Lex/Yacc, utilizan algunos elementos de
programación funcional, especialmente al procesar valores mutables. Las hojas
de cálculo también pueden ser consideradas lenguajes de programación funcional.
La programación funcional también puede ser desarrollada en
lenguajes que no están diseñados específicamente para la programación
funcional. En el caso de Perl, por ejemplo, que es un lenguaje de programación
imperativo, existe un libro que describe como aplicar conceptos de programación
funcional. JavaScript, uno de los lenguajes más ampliamente utilizados en la
actualidad, también incorpora capacidades de programación funcional. Python
también incorpora particularidades de los lenguajes funcionales como listas de
comprensión y funciones de tratamiento de listas como matemática de conjuntos.
Java en su versión 8, esta incorporando la programación funcional, así como el
uso de las expresiones lambda.
Programación Lógica.
La mayoría de los lenguajes de programación lógica se basan
en la teoría lógica de primer orden, aunque también incorporan algunos
comportamientos de orden superior como la lógica difusa. En este sentido,
destacan los lenguajes funcionales, ya que se basan en el cálculo lambda, que
es la única teoría lógica de orden superior que es demostradamente computable
(hasta el momento).
SEGUIMIENTO DE LA PROGRAMACION
FASES DEL PROCESO DE LA 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.
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.
Suscribirse a:
Entradas (Atom)