27
Prof. Leonardo Carámbula - Programación I – EMT – I.T.S. Programaci Programaci ó ó n n Definición: implementación de un algoritmo, en un determinado lenguaje de programación, conformando un programa ejecutable.

implementación de un algoritmo, en un determinado lenguaje

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

ProgramaciProgramacióónn

�Definición:� implementación de un algoritmo, en un determinado lenguaje de programación, conformando un programa ejecutable.

Page 2: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

ProgramaciProgramacióónn

�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

Page 3: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

AlgoritmoAlgoritmo

�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.

Page 4: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

DatoDato

�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.

Page 5: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

DatoDato

Datos » Procesamiento » Información

� Un dato por sí mismo no constituye información, es el procesamiento de los datos lo que proporciona información

Page 6: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

DiferenciasDiferencias

�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.

Page 7: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

ClasificaciClasificacióónn

�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

Page 8: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún su nivel de abstraccin su nivel de abstraccióónn

�Lenguajes de bajo nivel

�Lenguajes de medio nivel

�Lenguajes de alto nivel

Page 9: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún su nivel de abstraccin su nivel de abstraccióónn

�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.

Page 10: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

Lenguajes de bajo nivel Lenguajes de bajo nivel --AssemblerAssembler

.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

Page 11: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún su nivel de abstraccin su nivel de abstraccióónn

�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.

Page 12: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

Lenguajes de alto nivel Lenguajes de alto nivel Visual BasicVisual Basic

Private Sub Form_Load()

MsgBox "Hola Mundo"

End Sub

Page 13: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún su nivel de abstraccin su nivel de abstraccióónn

�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.

Page 14: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

Lenguajes de nivel medio Lenguajes de nivel medio -- CC

#include <stdio.h>

void main(){

printf("Hola Mundo");

}

Page 15: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún la forma de ejecucin la forma de ejecucióón 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

Page 16: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún la forma de ejecucin la forma de ejecucióón 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).

Page 17: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún la forma de ejecucin la forma de ejecucióón n

�Lenguajes Interpretados

� Mediante un programa que va adaptando las instrucciones conforme son encontradas.

� Para ejecutar estos programas se necesita siempre el interprete

Page 18: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún el paradigman 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.

Page 19: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún el paradigman 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

Page 20: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún el paradigman 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

Page 21: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún el paradigman 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.

Page 22: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún el paradigman 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'

Page 23: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún el paradigman 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.

Page 24: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

SegSegúún el paradigman el paradigma

� Ventajas de la Programación Estructurada4. 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)

Page 25: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

Otros Tipos de ProgramaciOtros Tipos de Programacióónn

�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

Page 26: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

VariablesVariables

�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.

Page 27: implementación de un algoritmo, en un determinado lenguaje

Prof. Leonardo Carámbula - Programación I – EMT – I.T.S.

VariablesVariables

�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)