Download programación orientada a objetos

Document related concepts

Oz (lenguaje de programación) wikipedia , lookup

Ocaml wikipedia , lookup

Scala (lenguaje de programación) wikipedia , lookup

Programación funcional wikipedia , lookup

Wolfram (lenguaje de programación) wikipedia , lookup

Transcript
FACULTAD DE INGENIERIA Y TECNOLOGIA
PRACTICA DE ESTRUCTURA I
DOCENTE: ING.LILIANA ARGIRO
ESTUDIANTE: BELSY MUÑUNI TAMO
SEMESTRE: 3R0
GESTION: 1/2017
Práctica de Estructura de Datos I
Conferencias
PROGRAMACIÓN FUNCIONAL VS PROGRAMACIÓN ORIENTADA
A OBJETOS
Introducción:
Existen muchos paradigmas de programación diferentes, cada uno de ellos
tiene sus propias características y tratan de solucionar los problemas clásicos
del desarrollo de software desde diferentes perspectivas y filosofías. Hoy
vamos a ver algunas diferencias entre paradigmas de programación
populares.
Paradigmas de Programación:
 Los paradigmas de programación solo son propuestas tecnológicas
adoptadas por la Comunidad de desarrolladores que se enfocan a
resolver uno o varios problemas definidos y delimitados. Existen
muchos paradigmas de programación diferentes, posiblemente el más
ampliamente utilizado hoy en día sea el de la programación orientada
a objetos.
 Algunos lenguajes de programación puede soportar múltiples
paradigmas de programación. Por ejemplo, C++ puede ser empleado
para desarrollar software utilizando para ello un modelo de
programación puramente orientado a objetos o bien puramente
estructurado. En casos como el de C++, somos los programadores los
que decidimos que utilizar.
 Por otro lado, algunos lenguajes han sido diseñados para soportar un
único paradigma de programación, ese es el caso de Smalltalk que
soporta únicamente la programación orientada a objetos o Haskell que
solo soporta la programación funcional.
La Programación:
Se divide en dos grandes paradigma:
 Programación Imperativa:
 Procedimental:
 Orientada a objetos:
 Programación Declarativa:
 Lógica:
 Funcional:
Diferencias principales
 La principal diferencia entre ambos paradigmas es que en la
programación imperativa se describe paso a paso un conjunto de
instrucciones que han de ejecutarse con la finalidad de variar el estado
del programa y resolver un problema para hallar una solución. Y en la
programación declarativa solo se describe el problema pero no los
pasos necesarios para llegar a su solución, la cual es hallada mediante
mecanismos internos de inferencia de información a partir de la
descripción del problema en si.
 La programación imperativa se basa en la máquina de Turing mientras
que la programación declarativa se basa en el cálculo lambda.
Programación orientada a objetos:
Definición de la programación orientada a objetos:
La programación orientada a objetos básicamente define una serie de
conceptos y técnicas de programación representar acciones o cosas de la
vida real basada en objetos.
Reglas principales:
1) utiliza objetos, no algoritmos, como bloques de construcción lógicos;
2) cada objeto es una instancia de una clase;
3) las clases se relacionan unas con otras por medio de relaciones de
herencia.
Pilares fundamentales de la programación orientada a objetos:




Herencia
Polimorfismo
Encapsulamiento
Abstracción
Programación Funcional:
La programación funcional define la salida de un programa como una
función matemáticas de sus entradas, de noción en estado interno, y por
tanto sin efectos de bordes.
INTELIGENCIA ARTIFICIAL
Artificial:
Es una rama natural es hecho por manos o arte del hombre.
Lo artificial requiere de un propósito y ese propósito denota
inteligencia.
Definición de la inteligencia artificial:
Inteligencia:
Es la capacidad mental, entre otras cosas, incluye la capacidad de
razonar, planear, resolver problemas, pensamiento abstracto,
comprensión de ideas complejas, aprender.
Pensar como humano
 Automatización de
actividades que se
asocian al pensamiento
humano.
Actuar como humano
 Creación de maquinas
que realizan tareas que
requiere pensamiento
cuando lo realiza el
humano.
Pensar racionalmente
 Rama de la computación
que le permite percibir,
razonar y actuar.
Actuar racionalmente
 Automatización de
comportamiento
inteligente.
Historia de la inteligencia artificial:
• Basado en tres fuentes(1943): Fisiologia de neuronas, Análisis
formal de lógica proposicional y la teoría de la computación de turing
•
Prueba de Turing(1950): Si una maquina se comporta en todos
aspectos de manera inteligente, entonces DEBE ser inteligente
(Hipótesis Positivista). Existirá Inteligencia Artificial cuando no seamos
capaces de distinguir entre un ser humano y un programa de
computadora en una conversación a ciegas.
• Adopción oficial del nombre, en el Taller de
Dartmouth(1956), con previsiones a 10 años que no se cumplieron,
abandono de la investigación por 15 años.
• LISP (LISt Processing)(1958), el segundo Lenguaje de programación
mas antiguo en actual uso (Fortran es el primero)
• Los micro mundos(1963) permiten desarrollar sistemas inteligentes
en áreas especificas para resolver problemas concretos, llevo al
desarrollo de sistemas expertos
• Desafío 5ta Generación (1980): Construir una computadora que
utilice inteligencia artificial directamente en el lenguaje de máquina.
No se logró y provoco un abandono de 10 años, pero produjo el auge
de los sistemas expertos.
• El agente inteligente (1987) y sus atributos permitieron a la I.A.
extenderse a nuevas áreas creando nuevas ramas de investigación.
Sistemas actuales:
 AJEDREZ:
– SAMUEL (1952),HITECH (1989), DEEP BLUE (1997),
Komodo(2015)
 ROBOTICA:
– Trylobite, Ázimo, MTR, FANUC, IBOT
 SOFTWARE:
– XpertRule, Isabel, BrainMaker, Kaidara, Intellix
 DE USO DIARIO:
– Corrector ortográfico, AntiSpam, Antivirus Heurísticos, Bots de
Videojuegos.
El agente inteligente:
Un Agente Inteligente es una entidad que percibe su medio ambiente y
actúa sobre él para el logro de un objetivo.
HEURISTICA:
Heurística en IA: Proceso que mejora la búsqueda de soluciones en
la mayoría de los casos sin empeorarla en los casos extremos.
BEST FIRST – PRIMERO EL MEJOR
 IMPLEMENTAR UNA FUNCION DE ESTIMACION
 ESTIMAR EL VALOR DE CADA NUEVO NODO GENERADO
 BUSCAR LA SOLUCION EMPEZANDO POR EL NODO MEJOR ESTIMADO
 EN RESUMEN, BUSCA SIEMPRE PRIMERO LO QUE PARECE MEJOR.
BEST FIRST – A*
 La búsqueda costo uniforme evalúa primero los nodos con menor
camino recorrido
 La búsqueda tacaña (greedy search) evalúa primero los nodos que
parezcan más cerca del objetivo
 A* es una combinación de ambas.
Las redes sociales
Una red social es una estructura social compuesta por un conjunto de
actores (tales como individuos u organizaciones) que están
relacionados de acuerdo con algún criterio (relación profesional,
amistad, parentesco, etc).
Investigación sobre redes sociales:
La evolución de las redes sociales a veces puede ser simulada por el
uso de modelos basados en agentes proporcionando información
sobre la interacción entre las normas de comunicación, propagación de
rumores y la estructura social.
Redes sociales en internet:
El concepto está basado en la idea que el numero de conocidos crece
especialmente con el numero de enlaces en la cadena, y solo un
pequeño número de enlaces son necesarios para el conjunto de
conocido se convierta en la población humana.
Tipologías de redes sociales en internet:
En algunos sitios se aplica la misma tipología que en su día se utilizo
para sus portales, divido en horizontales y verticales.
 Horizontales: buscan proveer herramientas para la interrelación en
general: facebook, google+, hi5, ello o bebo.
 Verticales:
– Por tipo de usuarios: dirigido a un público especifico,
profesionales (linkeding) gente que comparte la misma afición,
interesado en un tipo de producto de servicios, etc.
– Por tipo de actividad: lo que promueven una actividad
particular, videos, youtube, microbloggin twitter, opiniones sobre
productos o servicios, etc.
El análisis de las redes sociales:
Estudia esta estructura social aplicando la teoría de grafos e
identificando las entidades como “nodos” o “vértices” y las
relaciones como “enlaces” o “aristas”. La estructura del grafo
resultante a menudo una red compleja.
Servicios de red social:
Es un medio de comunicación social que se centra en establecer un
contacto con otras personas por medio de internet.
 Ventajas:
–
–
–
Una red social puede usarse para hacer publicidad de servicios
y/o productos.
Se puede usar para mantener comunicación con familiares y
amigos que se encuentran lejos con un bajo costo.
Envíos de archivos diversos (fotografías, documentos, etc.).
 Desventajas:
–
–
–
La privacidad es un tema de discusión en muchos ámbitos.
Cualquier persona desconocida y/o peligrosa puede tener
acceso a información personal, violando cuentas y haciéndose
vulnerable a diversos peligros.
Para entrar a una red social, se puede mentir de la edad.
Las redes sociales más utilizadas:
Red social ranking mundial:
Facebook
Youtube
WhatsApp
QQ
Qzone
Wechat
Instagram
Weibo
Linkedln
Twitter
Google+
Line
LA IMPRESORAS 3D EN MEDICINA
¿QUE ES UNA IMPRESORA 3D?
Es una máquina capaz de realizar réplicas de diseños en 3D, creando piezas o
maquetas volumétricas a partir de un diseño hecho por ordenador,
descargado de internet o recogido a partir de un escáner 3D.
¿QUÉ ES UNA IMPRESIÓN EN 3D?
La impresión en 3D es cualquiera proceso que permite crear un objeto en
tres dimensiones. Se aplican sucesivas capas de material, mediante procesos
de adición, controlado por ordenador.
HISTORIA
Año 1983
Chuck Hull, un inventor destacado en el campo de la óptica iónica, idea el
primer método de impresión 3D: la estereolitografía.
Año 1988
La compañía 3D Systems, fundada por Chuck Hull, comercializa las primeras
máquinas de impresión estereolitográficas.
Años 1988 – 1990
Se desarrollan nuevos métodos de impresión:
La impresión por deposición de material fundido (fused deposition
modelling o FDM).
La impresión por láser (selective laser sintering o SLS).
Año 2005
El Dr. Bowyer, de la Universidad de Bath, Reino Unido, desarrolla la primera
máquina 3D autor replicante: la RepRap, que supone un salto adelante en la
normalización y acceso a las impresoras tridimensionales.
Año 2009
La empresa Organovo ingenia la impresora 3D MMX Bioprinter, la primera
capaz de fabricar tejidos orgánicos.
FÉRULAS IMPRESAS EN 3D PARA EL TRATAMIENTO DE FRACTURAS
Esta solución engloba todo el proceso, desde el escaneo en 3D de la zona del
paciente que se tenga que inmovilizar, hasta el diseño gracias a las potentes
herramientas de modelado en 3D y la fabricación de la férula usando
impresoras en 3D. Menor peso, transpiración, resistencia al agua,
transparencia y posibilidad de quitar la férula para revisar la herida son
algunas de las ventajas de estas férulas impresas en 3D frente a las
tradicionales escayolas.
PROTESIS 3D ODONTOLOGICAS
Los dentistas usan impresoras 3D para crear réplicas de quijadas y dientes,
así como otros implantes médicos.
BIOTECNOLOGIA 3D
La tecnología de impresión 3D está siendo utilizada. Capas de células vivas
son depositadas sobre un medio de gel y superpuestas una sobre otra para
formar estructuras tridimensionales.