Download programación orientada a objetos
Document related concepts
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.