Programación Definición: implementación de un algoritmo, en un determinado lenguaje de programación, conformando un programa ejecutable. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Programación Un lenguaje de programación esta compuesto de: Símbolos Reglas sintácticas Reglas semánticas que definen su estructura y el significado de sus elementos y expresiones Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Algoritmo Definición: Un algoritmo es una secuencia de instrucciones que deben de seguirse para resolver un problema. Un programa está formado por algoritmos y estructuras de datos. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Dato es la expresión general que describe las características de las entidades sobre las cuales opera un algoritmo. representación simbólica numérica, alfabética, fecha, etc. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Dato Datos » Procesamiento » Información Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que proporciona información Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Diferencias El algoritmo se ejecuta en una máquina abstracta que no tiene limitaciones de memoria o tiempo Un programa se ejecuta en una máquina real, que sí tiene esas limitaciones. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Clasificación Los lenguajes de programación se clasifican según: el nivel de abstracción la forma de ejecución el paradigma de programación que representan Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según su nivel de abstracción Lenguajes de bajo nivel Lenguajes de medio nivel Lenguajes de alto nivel Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según su nivel de abstracción Lenguajes de bajo nivel Son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es el código máquina. Le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Lenguajes de bajo nivel Assembler .MODEL SMALL .STACK .DATA nombre DB 'Hola mundo $' .CODE mov ax,seg nombre mov ds,ax mov dx,offset nombre mov ah,9h int 21h MOV AX, 4C00h ; salida a DOS INT 21h ; se genera una interrupcion 21h end Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según su nivel de abstracción Lenguajes de alto nivel están formados por elementos de lenguajes naturales, como el inglés. Ej. BASIC • IF CONTADOR = 25 THEN STOP – pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 25. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Lenguajes de alto nivel Visual Basic Private Sub Form_Load() MsgBox "Hola Mundo" End Sub Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según su nivel de abstracción Lenguajes de medio nivel algunos lenguajes de programación son considerados como lenguajes de medio nivel (Ej. lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero también otras que lo hacen un lenguaje de alto nivel. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Lenguajes de nivel medio - C #include <stdio.h> void main(){ printf("Hola Mundo"); } Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según la forma de ejecución Los procesadores son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras: • Mediante el uso de Lenguajes Compilados • Mediante el uso de Lenguajes Interpretados Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según la forma de ejecución Lenguajes Compilados Traducen el programa al programa equivalente escrito en lenguaje de máquina. A este proceso se lo llama compilar y al traductor se lo conoce como compilador. Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario). Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según la forma de ejecución Lenguajes Interpretados Mediante un programa que va adaptando las instrucciones conforme son encontradas. Para ejecutar estos programas se necesita siempre el interprete Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según el paradigma Programación Orientada a Eventos Ej. Visual Basic la estructura como la ejecución de los programas son determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen. Ej. un clic, apretar una tecla, mover el ratón, colocar el ratón sobre un botón, etc. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según el paradigma Programación Orientada a Objetos Ej. .NET, Java, C++ utiliza objetos y sus interacciones para diseñar aplicaciones y programas Está basado en varias técnicas: • Herencia • Modularidad • Polimorfismo • Encapsulamiento Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según el paradigma Programación Orientada a Objetos Los objetos son entidades que combinan estado, comportamiento e identidad: • El estado está compuesto de datos, uno o varios atributos. • El comportamiento está definido por los procedimientos o métodos con que puede operar dicho objeto, operaciones que pueden realizar. • La identidad es una propiedad de un objeto que lo diferencia del resto Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según el paradigma Programación Orientada a Objetos La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según el paradigma Programación Estructurada Ej. C, Cobol, Pascal los programas se escriben utilizando únicamente las tres instrucciones de control siguientes: • Secuencia – Ejecutar una subrutina y luego otra subrutina • Instrucción Condicional – Ejecutar una de dos subrutinas, dependiendo del valor de una variable booleana – selección o IF-THEN-ELSE • Iteración, ciclo o bucle – Ejecutar una subrutina mientras una variable booleana sea 'verdadera' Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según el paradigma Ventajas de la Programación Estructurada 1. Los programas son más fáciles de entender, ya que pueden ser leídos de forma secuencial, sin saltos de línea (GOTO). 2. La estructura del programa es clara. Las instrucciones están muy relacionadas entre sí. 3. Reducción del esfuerzo en las pruebas. El seguimiento de los errores del programa (debugging) es más fácil por la estructura más visible. Los errores se pueden detectar y corregir más fácilmente. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Según el paradigma Ventajas de Estructurada la Programación 4. Reducción de los costos de mantenimiento de los programas. 5. Programas más sencillos y más rápidos (más fácil de optimizar). 6. Los bloques de código son auto explicativos, facilita la documentación. 7. Los GOTO se reservan para construir las instrucciones básicas (selección e iteración) Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Otros Tipos de Programación Programación en Pareja combinación de desarrollo por dos programadores en un mismo sitio de trabajo. Programación Extrema Desarrollo iterativo e incremental, pequeñas mejoras, unas tras otras. Programación Dinámica Subdivisión del problema en problemas más pequeños de forma recursiva Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Variables estructuras de datos que pueden cambiar de contenido (valor) a lo largo de la ejecución de un programa. Las variables se representan con identificadores (nombres) que hacen referencia a un lugar de la memoria en donde se almacena un dato. Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Variables Algunos tipos de datos: Tipo de dato lógico. • Verdadero o Falso Tipo de dato entero. • Números Enteros, sin coma decimal Tipo de dato de coma flotante. • Números con coma decimal variable Tipo de dato caracter. • Una Letra o caracter ascii Tipo de dato cadena • Secuencia de caracteres (palabras) Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.