La Output sólo
depende de la Input.
Si ingreso un array
me entrega un array
nuevo sin modificar
el original
EXAMPLE. Para calcular
el cambio en un cajero
empleamos funciones
puras Declarando x
como el dinero
ingresado y denoms
como los valores de
dinero que se pueden
devolver.
Su pilar
Inmutability
Estructura de
datos persistente
mediante copias
Operaciones de modificación
eficiente (copias inteligentes)
Toda operación es
integrada según
procesos de lógica
formal mediante
HECHOS y CLAUSULAS.
Las REGLAS determinan
las relaciones entre
hechos. La unidades
fundamentales son las
constantes, las
variables y los hechos
Permite una flexibilidad muy especial
EXAMPLE. Determinar
relaciones entre conjuntos
de datos según ciertas
reglas, en este caso, un
árbol genealógico
Prolog
Se describe
el
problema
que se
debe
solucionar
Mediante mecanismos internos de
inferencia se ahorran muchos pasos directos
IMPERATIVO
CATEGORIAS
ESTRUCTURADO
Programación a la vieja escuela
El teorema de la programación
estructurada. Establece que hay 3
maneras de combinar programas
Por:
Sequencing
Selection
Iteration
ALGOL, Pascal, Assembly
PL/I y Ada
ORIENTADO A OBJETOS
Tiene 4 pilares
Encapsulation
Relaciones
directas entre
elemento, sus
características y
los métodos a
los cuales está
enlazado
Abstraction
Se pueden
modificar
partes
específicas de
objetos sin
alterar todo el
sistema
Inheritance
Los objetos
pueden heredar
propiedades y
métodos desde
un objeto primo
para ahorrarnos
código
redundante
Polymorphism
(Complemento
de la Herencia)
Podemos
recategorizar
cambios y
declaraciones
bruscos
Un objeto es un
parámetro que encapsula
estado y comportamiento
EXAMPLE.
para construir
una cuenta
bancaria
declaramos. A
la CUENTA
como un
objeto. Al
balance como
los DATOS. A
DEPOSITAR y
RETIRAR como
los métodos
Python, C++, Java, JavaScript, Ruby, PHP
Se describe
paso a paso
un conjunto
de
instrucciones
de ejecución
Suministrar información detallada
para cambiar cualquier estado
PROBLEMA COMÚN.
Si queremos
desplegar elementos
de un menú y
cambiar el estado de
la flechita. Se
programa diferente
TRADUCCIONES
NECESARIAS
*ARRAY:
FORMACIÓN
*INPUT: VALOR
DE ENTRADA
*OUTPUT:
VALOR DE
SALIDA