TALLER DEL PRIMER CORTE DE PROGRAMACION ORIENTADA A OBJETOS 1. Defino los siguientes conceptos: a. ¿Qué es la P. O.O? R/ es un lenguaje de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. b. ¿Qué es un objeto? R/ entidad provista de un conjunto de propiedades o atributos y de comportamiento o funcionalidad, los mismos que consecuentemente reaccionan a eventos. Se corresponde con los objetos reales del mundo que nos rodea. c. ¿Qué es una clase? R/ definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas. d. ¿Qué es un método? R/ Algoritmo asociado a un objeto y desde el comportamiento, es lo que el objeto puede hacer. e. ¿Que es una palabra reservada? R/ es una palabra que tiene un significado gramatical especial y no puede ser utilizada como un identificador o variable. f. ¿Qué son funciones miembros? R/ son las funciones declaradas dentro de una clase g. ¿Qué son miembros datos? R/ son las variables delcaradas dentro de una clase 2. Defina cada línea de código de la siguiente clase: class Rectangulo{ //declaracion de la clase Rectangulo int x; //declaracion de x que va a hacer entero int y; //declaracion de y que va a hacer entero int ancho; //declaracion de ancho que va a hacer entero int alto; //declaracion de alto que va a hacer entero int calcularArea(){ //declaración de la función calcularArea return (ancho*alto); //regresa el valro queda de multiplicar ancho*alto } //cierra calcularArea 3. ¿Cómo se declara un comentario y cuantas clases hay? R/ /* Esto es un comentario */ // Esto es un comentario #if 0 esto es un comentario #endif 4. Explique los pilares de la programación orientada a proyectos. R/ Polimorfismo: El polimorfismo, una operación puede tener el mismo nombre en diversas clases, y funcionar distinto en cada una. Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Herencia: Propiedad que permite a los objetos ser construidos a partir de otros; es recibir de un módulo superior sus características, tales como atributos o funciones (campos y métodos o comportamientos), para usarlos en el módulo actual. Heredar es compartir atributos. Abstracción: La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar. 5. ¿Que es una clase privada y publica? R/ Una clase se puede especificar que es pública, de este modo la clase podrá ser usada por cualquier otra clase. Una clase se puede especificar que es privada, de este modo la clase no podrá ser usada por cualquier otra clase. 6. De un ejemplo de una clase, y cual es su cuerpo de trabajo en cpp. R/ class pareja { private: // Datos miembro de la clase int a, b; public: // Funciones miembro de la clase void Lee(int &a2, int &b2){ a2 = a; b2 = b; } void Guarda(int a2, int b2) { a = a2; b = b2; } }; class nombre_de_la_clase { declaración de variables declaración de funciones }; 7. ¿Como se inicializa una cadena? R/ char cadena[20]=""; vacia char cadena[10]="abcde"; no vacia 8. Declare una cadena estática y una dinámica R/ char cadena[20]; char cadena[10]="abcde"; dianmica estatica 9. ¿Como se denota la última posición de un array? R/ Con el null “ \0 ” 10) Traduce el siguiente algoritmo a C++ (dado un dni, calcula la letra del NIF correspondiente): algoritmo calculoNIF variables dni : entero letranif :carácter principio leer(dni) escribir(letranif) fin función calculoletranif (dni :entero) devuelve carácter variables tabla : vector[1..23] de carácter resto : entero principio {inicializar tabla a “TRWAGMYFPDXBNJZSQVHLCKE”} devuelve(tabla[resto+1]) fin R/ #include <iostream.h> #include <conio.h> #include <stdio.h> int dni, resto, letra; char tabla[23]="TRWAGMYFPDXBNJZSQVHLCKE"; main(){ cout<<"\ningrese su numero dni: "; cin>>dni; resto=dni%23; letra=resto+1; cout<<"la letra de su dni es :"<<tabla[letra]; getch(); }