El documento describe los fundamentos de la programación, incluyendo lenguajes de programación, algoritmos, traductores de lenguaje como compiladores e intérpretes, y paradigmas de programación como procedimental, funcional, declarativo y orientado a objetos. También cubre las metodologías de programación estructurada y orientada a objetos.
2. Lenguajes de programación
◦ Es un proceso de resolución de problemas.
◦ Las técnicas mas comunes incluyen:
◦ Los algoritmos son utilizados para la resolución del problema que posteriormente se convierten en
código fuente escrito en un lenguaje de programación de alto nivel.
3. Programación
◦ Los algoritmos son utilizados para la resolución del problema que posteriormente se convierten en
código fuente escrito en un lenguaje de programación de alto nivel.
4. Traductores de lenguaje
◦ El proceso de traducción de un programa fuente, escrito en un lenguaje de alto nivel a un
lenguaje maquina comprensible por la computadora, se realiza mediante programas
llamados traductores.
◦ Los traductores de lenguaje son programas que traducen a su vez los programas fuente
escritos en lenguajes de alto nivel a código maquina.
◦ Los traductores se dividen en compiladores e interpretes.
5. Traductores de lenguaje
◦ Interpretes:
◦ Los programas intérpretes, que se desarrollaron para ejecutar de manera directa programas en lenguaje de
alto nivel, evitan el retraso de la compilación, aunque se ejecutan con más lentitud que los programas
compilados.
◦ Compiladores:
◦ Convierten programas en lenguaje de alto nivel a lenguaje máquina. Los lenguajes de alto nivel permiten a
los programadores escribir instrucciones que son muy similares al inglés común, y contienen la notación
matemática común
7. Paradigmas de
Programación
◦ Un paradigma de programación
representa fundamentalmente
enfoque diferentes para la
construcción de soluciones a
problemas y por consiguiente
afectan el proceso completo del
desarrollo de software. Los
paradigmas de programación
clásicos son: Procedimental (o
imperativo), funcional, declarativo y
orientado a objetos.
8. Lenguajes imperativos (procedimentales)
◦ El paradigma imperativo o procedimental representa el enfoque o método tradicional de programación.
◦ Es un conjunto de instrucciones que se ejecutan una por una, de principio a fin, de modo secuencial, excepto
cuando intervienen instrucciones de salto de secuencio o control
◦ Este paradigma define el proceso de programación como el desarrollo de una secuencia de ordenes que
manipulan los datos para producir los resultados deseados.
◦ Señala un enfoque del proceso de programación mediante la realización de un algoritmo que resuelve de
modo anual el problema y a continuación expresa ese algoritmo como una secuencia de ordenes. En un
lenguaje procedimental cada instrucción es una orden o varias ordenes para que la computadora realice
alguna tarea especifica.
9. Lenguajes declarativos
◦ El paradigma declarativo solicita al programador que describa el problema en lugar de
encontrarle una solución algorítmica; es decir un lenguaje declarativo utiliza el principio del
razonamiento lógico para responder a las preguntas o cuestiones consultadas.
◦ Se basa en la logia formal y en el calculo de predicados de primer orden.
◦ El razonamiento lógico se base en la deducción. El lenguaje declarativo por excelencia es
Prolog.
10. Lenguajes
funcionales
◦ En este otro paradigma un programa
se ve como un entidad que acepta
entradas y genera salidas.
◦ Los matemáticos denominan a tales
entidades funciones, razón por la
que esta técnica recibe el nombre de
paradigma funcional.
◦ Bajo este paradigma, los programas
se construyen conectando entidades
predefinidas mas pequeñas, tal que
las salidas de cada unidad se utilicen
como entradas de otras unidades.
11. Lenguajes Orientados a Objetos
◦ El enfoque orientado a objetos guarda analogía con la vida real.
◦ El desarrollo de software OO se base en el diseño y construcción de objetos que se
componen a su vez de datos del problema y operaciones que manipulan esos datos.
◦ El programador define en primer lugar los objetos del problema y a continuación los datos
y operaciones que actuaran sobre esos datos.
◦ Las ventajas de la programación orientada a objetos se derivan esencialmente de la
estructura modular existente en la vida real y el modo de respuesta de estos módulos u
objetos a mensajes o eventos que se producen en cualquier instante.
12. Metodología de la programación
◦ Existen dos enfoques muy populares para el diseño y construcción de programas:
◦ El enfoque estructurado y el enfoque orientado a objetos.
◦ Estos dos enfoques conducen a dos tipos o metodologías de programación: programación
estructurada y programación orientada a objetos.
13. Metodología de la programación
◦ Programación estructurada:
◦ Utiliza técnicas tradicionales del campo de programación y que data de las décadas de 1960 y 1970.
◦ Es un enfoque especifico que normalmente, produce programas bien escritos y muy legibles.
◦ Trata de escribir un programa de acuerdo con unas reglas y un conjunto de técnicas.
◦ Las reglas se basan en la modularizacion, es decir, en la división de un problema en subproblemas mas pequeños
(módulos), lo cual implica diseño descendente.
◦ El proceso de implementar un diseño estructurado se denomina programación estructurada.
◦ El diseño estructurado también se conoce como diseño descendente (top-down), diseño ascendente(bottom-up) o
refinamiento sucesivo y programación modular.
14. Metodología de la programación
◦ Programación estructurada:
◦ Las técnicas de programación estructurada incluyen construcciones o estructuras básicas de control.
◦ Secuencia
◦ Decisión
◦ Bucles o lazos
◦
15. Metodología de la programación
◦Programación Orientada a Objetos:
◦ Java es totalmente orientado a objetos.
◦ Un objeto es un elemento autosuficiente en un programa de computadora que representa un grupo
de características relacionadas entre si y esta diseñado para realizar una tarea especifica.
◦ Cada objeto tiene una funcionalidad especifica que se expone a sus usuarios y una implementación
oculta al usuario.
◦ Cada objeto sirve para un rol especifico en el programa global
◦ Para problemas pequeños, la división en pequeños subproblemas pueden funcionar bien. En el caso
de problemas grandes o complejos, los objetos funcionan mejor.
16. Metodología de la programación
◦Programación Orientada a Objetos:
◦ En el diseño orientado a objetos, el primer paso en el proceso de resolución de problemas es
identificar los componentes objetos que forman el soporte de la solución y determinar como
interactúan entre si.
◦ Los objetos constan de datos y operaciones que se realizan sobre esos datos.
◦ Un objeto combina en una única entidad o componente, datos y operaciones
17. Metodología de la programación
◦Programación Orientada a Objetos:
◦ La creación de operaciones requiere la escritura de los correspondientes algoritmos y su
implementación en Java.
◦ Estos algoritmos utilizaran instrucciones o sentencias de control, selección, repetitivas o iterativas.
◦ El paso siguiente requiere encapsular en una única unidad los datos y operaciones que manipulan
esos datos.
◦ La clase permite combinar datos y operaciones