Facultad de Ingeniería

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

Secuencia finita, ordenada y lógica de instrucciones (ó pasos), los cuales permiten realizar una ó varias tareas.
Tomado de:
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
Programación Orientada a Objetos (P.O.O.)
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
Tipo de Dato Abstracto Tipos de datos:
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Programación Orientada a Objetos Encapsulamiento.
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
Metodología de la Programación
Aplicación del paradigma orientado a objetos
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
PROGRAMACION ORIENTADA
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
U NIDAD III P ROGRAMACIÓN O RIENTADA A O BJETOS (POO) Facilitadora: Ing. Patricia Gómez.
METODOLOGIA DE LA PROGRAMACION
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
IINTRODUCCION A LA CIENCIA DE LA COMPUTACION Y A LA PROGRAMACION
PROGRAMACIÓN ORIENTADA A OBJETOS
Introducción a la programación Orientada a objetos
Laura Patricia Pinto Prieto Ingeniera de sistemas.
FORMULACIÓN DE ALGORITMOS
Ingeniería de Software
Diagramas de Clase Angela Carrillo R..

Fundamentos de Programación
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
Fundamentos de programación
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Tema 6. Conceptos básicos de programación (Repaso) Prof. María Alejandra Quintero Informática Año 2013.
Fundamentos de programación Organización de una computadora.
Programación Orientada Objetos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
¿Qué son Los Lenguajes de Programación?
Programación Orientada a Objetos (P.O.O.)
Explica con tus propias palabras
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Programación orientada a objetos (OPP)
Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente.
DEV- C++ ·include <iostream> Int x x=x+2(x)
Elaboración de algoritmos usando lógica de programación
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Programación orientada a objetos
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
PROGRAMACIÓN IV INTRODUCCIÓN.
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
Análisis y Diseño de Aplicaciones 3º Educación Media Tecnológica
Programación orientada a objetos
Programación Orientada a Objetos: CLASES Y OBJETOS
La Programación Orientado a Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Herencias Conceptos básicos i
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
1 Introducción a la Programación Orientada a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
Modelado UML Diagrama de Clases
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
Transcripción de la presentación:

Facultad de Ingeniería Computación II UNIDAD I Revisión de conceptos fundamentales de programación Prof. Ing. M.C.Sambuelli

Presentación de la unidad Facultad de Ingeniería Presentación de la unidad Objetivos: Comprender los conceptos básicos de programación. Saber reconocer las diferentes formas de programación. Comprender las propiedades fundamentales de la Orientación a Objetos. Valorizar las ventajas de la O.O. Familiarizarse con C++. Prof. Ing. M.C.Sambuelli Prof. Ing. M.C.Sambuelli

Presentación de la unidad Contenidos: Conceptos fundamentales de algoritmos. Herramientas para el desarrollo y mantenimiento de programas. Diferentes formas de programación. Propiedades fundamentales de la programación OO Entornos de programación OO El lenguaje C++ Prof. Ing. M.C.Sambuelli

Formas de Programación Estructurado Modular Concepto Características Algoritmos Partes Herramientas No Estructurado Procedural Formas de Programación Estructurado Modular Características Paradigma OO Entornos de Programación C++ Prof. Ing. M.C.Sambuelli

Conceptos Fundamentales de Algoritmos Secuencia finita de instrucciones Reglas que describen las operaciones a realizar para una tarea determinada Es fundamental que la secuencia este ordenada. La especificación del orden en que los enunciados son ejecutados se conoce como control del programa. Prof. Ing. M.C.Sambuelli

Conceptos Fundamentales de Algoritmos Características Fundamentales: Preciso: Indicar el orden de realización de cada paso. Bien definido: bajo las mismas circunstancias, la ejecución del algoritmo debe dar el mismo resultado. Finito: debe terminar en algún momento. Prof. Ing. M.C.Sambuelli

Conceptos Fundamentales de Algoritmos Partes: Entrada Proceso Salida Prof. Ing. M.C.Sambuelli

Ejemplo: Diseñar un algoritmo para saber si un numero “n” es primo o no. Entrada: entero positivo n Salida: es primo – no es primo Proceso: Inicio Poner x = 2 (variable que representa a los divisores del numero que se busca) Dividir n por x Si n/x es entero => n es primo; ir al punto 7 Si n no es entero => continuar Sumar 1 a x Si x = n => n es primo Si n!=x =>ir al punto 3 7. Fin Prof. Ing. M.C.Sambuelli

Herramientas para el desarrollo y mantenimiento de programas Seudocódigo: Lenguaje artificial e informal que auxilia en el desarrollo de algoritmos. Similar al ingles/español coloquial; cómodo y amigable. Consiste solo en caracteres e incluye sólo enunciados de acción. Prof. Ing. M.C.Sambuelli

Herramientas para el desarrollo y mantenimiento de programas Diagrama de flujo: Representación grafica de un algoritmo o porción de un algoritmo. Se traza utilizando ciertos símbolos de uso especial conectados entre sí por flechas, conocidas como líneas de flujo. Prof. Ing. M.C.Sambuelli

x = 2 n/x Es entero? Print: Primo x+1 x=n SI NO NO SI Prof. Ing. M.C.Sambuelli

Diferentes Formas de Programación Programación No Estructurada: Programas extensos dentro de una función principal que utilizan variables de tipo global. Engorrosos de mantener y actualizar. Artesanales. Prof. Ing. M.C.Sambuelli

Diferentes Formas de Programación Programación Estructurada: Programas escritos deacuerdo a unas reglas y conjunto de técnicas. Incorpora los conceptos de: Recursos abstractos: descomponer acciones complejas en acciones mas simples. Diseño descendente: jerarquía de problemas. Estructuras básicas de control: especifica el orden en que se van ejecutando las acciones. DATOS + ALGOTIMOS = PROGRAMAS Prof. Ing. M.C.Sambuelli

Diferentes Formas de Programación Programación Estructurada: Programación Procedural: El programa se descompone en procedimientos o funciones . Trozos de código que realizan una tarea determinada. Cada procedimiento tiene su propio conjunto de datos. Programación Modular Agrupación de procedimientos en módulos según su función. Cada módulo tiene su propio conjunto de datos. Prof. Ing. M.C.Sambuelli

Diferentes Formas de Programación Programación Estructurada: Desventajas: Debilidad en la resolución de problemas complejos Funciones y/o procedimientos tienen acceso ilimitado a variables globales. Proporciona un modelo pobre del mundo real. Prof. Ing. M.C.Sambuelli

Diferentes Formas de Programación Paradigma de Orientación a Objetos Conjunto finito de objetos que contienen datos y operaciones sobre esos datos. Se comunican entre si mediante mensajes. Datos protegidos de modificaciones accidentales. Los objetos pueden saber como comunicarse unos con otros mediante interfaces bien definidas, pero no se les permite saber los detalles de funcionamiento de otros objetos. Los objetos poseen estados. El estado de un objeto se encuentra determinado por el valor concreto de cada una de sus propiedades. Prof. Ing. M.C.Sambuelli

Diferentes Formas de Programación Objetos Datos/atributos/propiedades Métodos/funciones miembro Interfaz Propiedades/atributos + métodos = objetos Prof. Ing. M.C.Sambuelli

Propiedades fundamentales de la Orientación a Objetos Abstracción Técnica de programación que permite definir nuevos tipos de datos adecuados a la aplicación. En el proceso de abstracción es cuando se deciden las características y comportamientos del modelo. Los tipos de datos son abstracciones; en esencia son formas de representar el mundo real. Los nuevos tipos de datos definidos por el usuario se llaman Tipo de Datos Abstractos (TAD) Un TAD es un modelo con un numero de operaciones que afectan ese modelo. TAD = representación (datos) + operaciones (funciones y procedimientos) Prof. Ing. M.C.Sambuelli

Propiedades fundamentales de la Orientación a Objetos Encapsulado: Proceso de agrupar datos y operaciones relacionadas bajo la misma unidad de programación. El objeto encapsula propiedades y métodos que no forman parte de su interfaz y las reserva para uso interno. Ocultación de datos: Permite separar el aspecto de un componente, definido por la interfaz con el exterior, de los detalles de su implementación. La definición de las operaciones sobre los datos es invisible a los usuarios. Prof. Ing. M.C.Sambuelli

Propiedades fundamentales de la Orientación a Objetos Jerarquía: Propiedad que permite la ordenación de las abstracciones. Generalización /especialización <<es-un>> (herencia) Agregación <<tiene-un>><<parte de>> Prof. Ing. M.C.Sambuelli

Propiedades fundamentales de la Orientación a Objetos Generalización: Es una abstracción en la que un conjunto de objetos de propiedades similares se representa mediante un objeto genérico. Especialización: Proceso inverso a la generalización. Se definen nuevas abstracciones a partir de otras ya existentes. Agregación: Concepto que permite el agrupamiento físico de estructuras relacionadas lógicamente. Permite la descripción de modelos del mundo real que se componen de otros modelos. Prof. Ing. M.C.Sambuelli

Propiedades fundamentales de la Orientación a Objetos generalización agregación Persona casa Empleado tiene habitación tejas Informático vereda puerta pared Es un Programador especialización Prof. Ing. M.C.Sambuelli

Propiedades fundamentales de la Orientación a Objetos Herencia: Relación entre clases donde una clase comparte la estructura o comportamiento definidas en una (herencia simple) o mas clases. (herencia múltiple) Propiedad por la cual instancias de una subclase pueden acceder tanto a datos como a comportamientos asociados con la clase. Siempre es transitiva. Prof. Ing. M.C.Sambuelli

Propiedades fundamentales de la Orientación a Objetos Polimorfismo: Propiedad que indica la posibilidad de que una entidad tome muchas formas. Implica la posibilidad de tomar un objeto de un tipo e indicarle que ejecute una acción, esta acción se ejecutara de diferente forma según sea el objeto al cual se aplica. Prof. Ing. M.C.Sambuelli

Entornos de Programación OO Agol Simula CLU Pascal smalltalk C Basic Ada Object Pascal Actor Objkective C C++ Visual Basic Borland Pascal Ada 95 Delphi java Prof. Ing. M.C.Sambuelli

El Lenguaje C++ C++ es una extensión de C con características mas potentes. Originalmente llamado “C con clases” En C++ un objeto es un elemento individual con propia identidad. Una clase es una descripción general de un conjunto de objetos similares; todos los objetos de una clase comparten los mismos atributos y las mismas operaciones sobre esos atributos. Prof. Ing. M.C.Sambuelli