Programación - A/S Leonardo Carámbula

Anuncio
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.
Descargar