UNIVERSIDAD YACAMBU
INTRODUCCIÓN A LA PROGRAMACIÓN
Profesor: Pedro Rojas
Alumno: Aldo Méndez
TRABAJO Nº 1
Programación Orientada a Objetos y Algoritmos
Primera parte:
Programación Orientada a Objetos.
Según Grady
Booch, el autor del método de diseño orientado a objetos, la programación
orientada a objetos (POO) está definida como el “método de implementación en
el que los programas se organizan como colecciones cooperativas de objetos, cada
uno de los cuales representan una instancia de alguna clase, cuyas clases son
todas miembros de una jerarquía de clases unidas mediante relaciones de
herencia.”
La programación orientada a objetos es un importante conjunto de técnicas que pueden utilizarse para hacer el desarrollo de programas más eficientes que mejoran la fiabilidad de los programas de computadoras.
Objeto
Uno de los elementos principales de construcción en la programación orientada a objetos, son los objetos, el cual esta definido como “una colección de elementos de datos, junto con las funciones asociadas para operar sobre esos datos”. Sin embargo la potencia real de los objetos reside en el modo en el que los objetos reside en el modo en que los objetos pueden definir otros objetos, este proceso se denomina herencia y es el mecanismo que ayuda a construir programas que se modifican fácilmente y se adaptan a aplicaciones diferentes.
Un objeto es en realidad una clase espacial de variable de un nuevo tipo que algún programador ha creado.
Ejemplos:
· Vehículo: Estado (velocidad, posición, precio).
Operaciones (añadir, frenar, parar).
· Avión: Estado (fabricante, modelo, matricula, número de pasajeros).
Operaciones (aterrizar, despegar, navegar).
Clase
Una clase es una colección de objetos similares que consta de métodos y datos que resumen características comunes de un conjunto de objetos.
Las clases son similares a los tipos de datos y equivalen a modelos o plantillas que describen como se construyen ciertos tipos de objetos. Cada vez que se construye un objeto a partir de una clase estamos creando una instancia de esa clase, que es una variable de tipo objeto que por lo general instancia de una clase y objeto son términos intercambiables.
Cada vez que se construye un
objeto de una clase se crea una instancia de esa clase. Los objetos se crean
cuando un mensaje de petición de creación se recibe por la clase como por
Ejemplo:
· Madonna, Michael Jackson, prince, Freddy Mercury y Paul Newman son objetos de una clase, “Cantantes de Rock”; sin embargo, personas específicas con nombres específicos son miembros de esa clase, si poseen ciertas características.
En programación, una clase es una estructura que contiene datos y procedimientos que son capaces de operar sobre esos datos. Una clase pluma estilográfica puede tener, por ejemplo, una variable que indica si está llena o vacía; otra variable puede contener la cantidad de tinta cargada realmente. La clase contendrá algunas funciones que operan o utilizan esas variables, definiendo así un número de objetos los cuales tendrán un estado peculiar propio.
Mensaje
Un mensaje es una petición de un objeto a otro objeto al que le solicita ejecutar uno de sus métodos.
Estructuralmente un mensaje consta de tres partes:
· Identidad del receptor.
· El método que se ha de ejecutar.
· Información especial necesaria para realizar el método invocado (argumentos o parámetros requeridos).
La estructura de un mensaje puede ser:
· Enviar <objeto A>.<Método1(parametro1,.........., parametroN)>
Ejemplos
En el siguiente ejemplo se muestra algunos mensajes que se pueden enviar al objeto:
Carro 1: invoca
al método Precio_Carro, no tiene argumentos.
Carro 2: invoca al método Fijar_Precio, envía los parámetros 35.000.000
Métodos
Describen el comportamiento asociado aun objeto. Representan las acciones que pueden realizarse por un objeto o sobre un objeto. La ejecución de un método puede conducir a cambiar el estado del objeto o dato local del objeto.
Cada método tiene un nombre y un cuerpo que realiza la acción o comportamiento asociado con el nombre del método. Todos los métodos que alteran o acceden a los datos de un objeto se definen dentro del objeto. Un objeto puede modificar directamente o acceder a los datos de otros objetos.
Un método dentro de un objeto se activa por un mensaje que se envía por otro objeto al objeto que contiene el método. De modo alternativo, se puede llamar por otro método en el mismo objeto por un mensaje local enviado de un método a otro dentro del objeto.
Ejemplo:
Método: Precio_Carro
Inicio
Precio_Carro = Precio_Coste (marca + 1);
fin
Atributos
Los atributos describen el estado del objeto. Un atributo consta de dos partes: un nombre de atributo y un valor de atributo.
Los objetos simples pueden constar de tipos primitivos, tales como enteros, carácter, bolean, reales, o tipos simples definidos por el usuario. Los objetos complejos pueden constar de pilas, conjuntos, listas, arrays, etc., incluso estructuras recursivas de alguno o todos los elementos.
Los constructores se utilizan para construir estos objetos complejos a partir de otros objetos complejos.
Segunda Parte:
Ejercicio
1.- Con el nombre y la estatura de una persona, realice lo siguiente:
· Indique si la estatura supera a 1.75.
· Imprima (muestre) esa estatura.
· Indique, en caso de superar la estatura anterior, en cuántos centímetros la supera.
Salida:
Mensaje si la estatura supera a
1.75, indicar en caso de superar la estatura anterior, en cuantos centímetros
la supera.
Entrada:
Nombre y Estatura de una
persona
Proceso:
Indicar si la estatura
supera a 1.75 y en caso de superar la estatura en cuantos centímetros la supera
Algoritmo Estatura
Variables:
Nombre: alfabetico
Estatura: numérico
Constante: 1.75
Inicio
Imp " nombre y estatura "
Leer nombre y estatura
Imp
" estatura "
Leer estatura
Si estatura > 1.75
Entonces calcular excedente
Imp " excedente”
Sino
No = 1.75 - estatura
Fin
Infografía
1.- http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos
La Programación Orientada a Objetos (POO u OOP según siglas en inglés) es un paradigma de programación que define los programas en términos de "clases de objetos", objetos que son entidades que combinan estado (es decir, datos), comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener y reutilizar.
De esta forma, un objeto contiene toda la información, (los denominados atributos) que permite definirlo e identificarlo frente a otros objetos pertenecientes a otras clases (e incluso entre objetos de una misma clase, al poder tener valores bien diferenciados en sus atributos). A su vez, dispone de mecanismos de interacción (los llamados métodos) que favorecen la comunicación entre objetos (de una misma clase o de distintas), y en consecuencia, el cambio de estado en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles, en las que no se separan (ni deben separarse) información (datos) y procesamiento (métodos).
En el análisis y diseño orientados a objetos (OO), interesa el comportamiento del objeto. Si se construye software, los módulos de software OO se basan en los tipos de objetos. El software que implanta el objeto contiene estructuras de datos y operaciones que expresan dicho comportamiento. Las operaciones se codifican como métodos. Las representación en software OO del objeto es entonces una colección de tipos de datos y objetos.
Entonces, dentro del software orientado a objeto, un objeto es cualquier cosa, real o abstracta, acerca de la cual almacenamos datos y los métodos que controlan dichos datos.
Un objeto puede estar compuesto por otros objetos. Estos últimos a su vez también pueden estar compuestos por otros objetos. Esta intrincada estructura es la que permite construir objetos muy complejos.
3.- http://www.inf.udec.cl/~mvaras/estprog/cap42.html
4.- http://www.inf.udec.cl/~mvaras/estprog/cap43.html#4.3.1
5.- http://es.wikipedia.org/wiki/Algoritmos
Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea o resolver un problema. De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un problema en un tiempo finito. El término algoritmo no está exclusivamente relacionado con las matemáticas, ciencias de la computación o informática. En realidad, en la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas. Algunos ejemplos son el uso de una lavadora (se siguen las instrucciones), o la preparación de una comida (siguiendo los pasos de una receta). También existen ejemplos de índole matemática, como el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para calcular el máximo común divisor de dos enteros positivos, o incluso el método de Gauss para resolver Sistema lineal de ecuaciones.
6.- http://lenguajes-de-programacion.com/programacion-de-algoritmos.shtml
La programación de algoritmos no es más que el estudio de un problema, su análisis e implementación final del mismo.
En la programación de los algoritmos encontramos tres fases fundamentales, las cuales son: identificación del problema, análisis y desarrollo del problema e implementación.
En la programación de algoritmos la identificación del problema no es más que, que es lo que se quiere hacer, para ello en esta etapa, encontramos información de entrada o inicial, que servirá para el análisis del problema.
La segunda etapa o fase es analizar el problema, en esta etapa es conveniente dividir o segregar las tareas necesarias e identificadas que ayudaran a la solución del problema dado. De esta forma se simplificaran y serán más comprensibles para su desarrollo, es recomendable siempre ir de las tareas o actividades más simples a las más complejas. En esta fase se transforma la información de entrada recibida.
La tercera etapa en la programación de algoritmos, consiste en la implantación y puesta en desarrollo del mismo, aquí se obtiene la información y resultado final resultante de las etapas anteriores.
En la programación de algoritmos, se utiliza una nomenclatura llamada seudo código, una vez realizados los algoritmos en seudo código, estos pueden ser traducidos en cualquier lenguaje de programación que lo soporte.