Anda di halaman 1dari 27

Programación

Tema 04
La programación
• Algoritmo (diagrama de flujo)
• Programa (código fuente - lenguaje de programación)
• Compilación (intérprete - compilador)
• Código objeto (código máquina - binario)
Lenguajes de programación

• Lenguaje máquina

• Lenguajes de bajo nivel (assembler)


• Nemotécnicos
• Dependen de la máquina
• Requiere ”traducción a máquina” (ensamblador)

• Lenguajes de alto nivel (C)


• Parecidas al lenguaje humano (inglés)
• Independiente de la máquina (portabilidad)
• Requiere “traducción a máquina (compilación)
La creación de un programa

ENTRADA DE DATOS sentencia


instrucción

PROCESO
(algoritmo) printf( “Hola” )

Hola

SALIDA DE DATOS
(resultado)
Fases

• Análisis del problema


• Diseño del algoritmo (proceso)
• Codificación (programación)
• Compilación
• Depuración de errores y verificación
• Explotación y mantenimiento
Depuración

• Errores de compilación
• Errores de funcionamiento

• Optimización
Algoritmo = diagrama de flujo

• Algoritmo = sucesión de pasos

• Diagrama de flujo (organigrama)

• Símbolos estandarizados
INICIO

Diagrama de flujo A

SI
• Terminal: inicio / fin A<0

• Datos: entrada manual Un número


NO negativo no
• Decisión tiene raíz
cuadrada
B=2
• Datos
• Proceso
𝐵
• Documento - Display C= 𝐴

FIN
Datos (variables)

• Identificador Nombre que le damos

Numérico Caracteres Booleano Ordenados en tabla


(boolean)
• Tipo de dato - entero - - real - -1- - cadena - - sólo 2 valores -
(int) (float) (char) (string) true / false (array)

• Valor Contenido de la variable

18
(int)

edad
Operadores

• Relacionar datos entre sí


• Aritméticos (int, float)
• Alfanuméricos (char, string)
• Relacionales
• Lógicos (boolean)
Tipos de programación

Instrucción 1

• Estructurada
Instrucción 2

• Modular

Instrucción …
• Orientada a objetos
Estructurada

• Proceso lineal (secuencia)

• Instrucción condicional
(selectiva)

• Bucle, iteración (repetitiva) con


condición inicial
Modular

• Evolución de la anterior

• Módulo principal
• Módulos secundarios que
resuelven tareas concretas
Orientada a objetos

• El más actual
1 2
• Frente a una filosofía “de
procedimientos” donde se ejecutan
“funciones”…

C
• Existen “objetos” que se “llaman” unos a
otros (con mensajes)... A
• Los “objetos” constan de:
• Variables (su estado, sus características)
• Comportamientos (lo que pueden hacer)

B
Estructurada

• Estructura secuencial
Estructurada

• Estructura repetitiva
• Se repiten un número limitado de
veces
• Se repiten hasta que se cumple una
condición

• While <condición> do <instrucción>


Estructurada

• Estructura condicional
• If <condición>
then <instrucción 1>
else <instrucción 2>
Programación orientada a objetos (POO)

OBJETO
“D” OBJETO
“C”

OBJETO
“A” OBJETO
OBJETO “F”
“E”
OBJETO
“B”
Un cuento para entenderlo…

• Tomado de un documento de Luis R. Izquierdo Millán, Universidad de Burgos

• Un domingo por la tarde estoy en casa viendo la televisión, y de


repente mi madre siente un fuerte dolor de cabeza; como es
natural, lo primero que hago es tratar de encontrar una caja de
aspirinas…
Preguntar
Programación estructurada no
¿Duele?
si
Salir a la
• Verbos calle e ir a la
farmacia

Pedir una
aspirina

Salir a la
calle e ir a
casa

Entregar
aspirina
Programación orientada a objetos

Ir a la farmacia Buscar aspirina

mensaje mensaje Objeto


Objeto Objeto
DEPEND
MADRE HIJO
FARMA

Entregar aspirina
mensaje
Objeto

• Objeto: identidad frenar


(nombre) MÉTODOS
VELOCIDAD:
90 Km/h
• Atributos (estado,
propiedades,
variables) Subir Bajar
ATRIBUTOS
marcha marcha
• Métodos
(comportamiento MARCHA:
4ª marcha
, procedimientos)

acelerar
CLASE
Clases coches

• Para ahorrar trabajo OBJETO


MODELO MODELO
MODELO
• Objetos similares = CLASES A B C

• Mismos atributos y métodos


• Se emplean como plantillas

MODELO MODELO MODELO


D E F
Herencia

OBJETO
• Para ahorrar trabajo COCHE B
• Partiendo de un OBJETO OBJETO
• Se genera otro que tiene SUBCLASE
COCHE A
los mismos atributos y AUTOMÓBIL X
métodos (HEREDA) SUPERCLASE
• E incorpora nuevos AUTOMÓBIL OBJETO
atributos. COCHE C

SUBCLASE
AUTOMÓBIL Y
Mensajes

GIRAR (izqda)

GIRAR (dcha)

CONDUCTOR COCHE

ACELERAR ( )

FRENAR ( )

MÉTODO (parámetro)
HISTORIA Y EVOLUCIÓN LENGUAJES PROG.

1950 1955 1960 1965 1970 1980 1990 2000


1ª GEN 2ª GEN 3ª GEN 4ª GEN
GEN

Lenguaje Lenguaje Lenguajes de alto nivel Derivados, más alto nivel IA


Máquina Ensamblador 1957: FORTRAN
(FORmula TRANslation) Actuar con bases de datos
SQL
1960: COBOL, LISP
1970: BASIC 1990
Progr. orientada objetos
1972: Lenguaje C C++, Java,…
Dennis Ritchie (UNIX)

Anda mungkin juga menyukai